Showing posts with label DevBlog. Show all posts
Showing posts with label DevBlog. Show all posts

Wednesday, August 12, 2015

DevBlog - What I've setup so far

Starting on a development project always is a tough challenge to tackle, specifically, "Where do i start?!?" Well, the more that you develop software, the more you realize, there is a trick to this question: Anywhere.

Seriously. Just start. Now, by start I don't mean "open up a window and start writing code"... I mean, come up with a plan of action, start making decisions, and start working on small aspects of the game! For starters, we wanted to take the product currently in draft form, and convert it into a live aspect form, within Unity. This means, let's make it look similar to the drafts, and have it running natively within Unity (sorry, you can't take a JPG, import it to the canvas of Unity and say PRESTO! It's done! )

The first portion of work I did for the game was, take the Photoshop UI , slice it up, and bring it into Unity to natively live on the canvas (and resize naturally). This took some time, but I got a majority working quite quickly.



 From specs already planned out, I went ahead and created some update methods to update different parts of the UI dynamically, once that was done, I wrote a method to automatically decrease the time, to show it's ability to handle turns within the system. On the left here, you can also see one of the cards (here named "Matthew") that's loaded dynamically from a digital card object. Other areas on the interface are clickable (the enemy fleet dropdown seen above is toggleable, and it automatically hidden on startup)

Once the general structure of the UI was complete, I also worked on dynamic inserting and positioning of gameplay spots. This was an interesting one for me to figure out, but with some math play, I was able to determine the position needed for the start of each row, the number of spots needed per row, and the spacing needed for it to look proper on the interface... that work can be seen below:



So, now the playfield is dynamically created! What next? well, for promo and for purposes of seeing how the field would look with ships on, it's time we bring in our first models! (thanks Matthew)

I spent some time, making sure they were positioned properly, and showed up properly on the interface. I also took the time to add some thrusters to each, a little movement, and prefabbed them for easy deployment.




  This was my first time really working dynamically with object within Unity (to this extent), I wrote a ship class that all inherit, put in box-collider's to enable selection by clicking, and even enabled elements to start appearing (created particle systems for selection visual), as well as, a right click option to allow for displaying each ship's HUD. (Below you see the ship in the center, selected, the ship on the left also selected, but with the HUD visible)




This HUD (as displayed above), in the future, will have card pictures contained within each box, that will contain vessels, as deployed to each ship (Flottila) Each card will be able to be clicked, and it will open the card related to that vessel, to enable the user to see more info of each.

For other purposes, I added the ability to rotate the field around the center of the map, as well as, to float the camera to the top, to be able to see the battlefield easier (for movement commands)... these are all accessible through code, not just standard animations, so it allows more flexibility in the future as more functions are added.

So now comes a hurdle... how to manage the general decks. For the last week or so, I've been looking/planning/tackling this one. I started first with a very simplistic system of passing card values to a constructor, and then presto, card was made. Unfortunately this was quite ugly and I would prefer to be a little smarter about creating 'entities' per-say, of each card type. I ended up going the route of, creating enums for each card's short description, and then passing that short description to a method for creation. This allows for a card to be added to a deck easily, and to be able to create dynamic decks that are more self-documenting within the near future. I intend also to add additional features to the decks as they are expanded, but for now, a lot of the initial features are in hand.

In the future, I will most likely add the ability to download certain cards/decks/etc, from a remote database, to allow us to deploy new cards and such remotely, but for now, all the decks and cards will be in-game static resources.

So, for now, I'm working on bringing in all the currently available Human and Neutral deck members, getting them organized, created with all their attribute values. I also had a huge desire to do my first couple blog posts out-of-the-way to give you guys something to chew on in between updates (woo I can mark off a checkbox! I love checkboxes ;) ). By the end of the week, it's my desire to have, when the game starts, 7 randomly selected card initialized and displayed dynamically on the user interface. There's a lot of small 'data-entry' style stuff that needs to happen, to make that happen, but I'm confident that I should be able to finalize a majority of the methods needed to finalize these decks, and card distribution, to make it all come together.

Until next time,

Haddy out!

DevBlog - About Me, the new developer

Hello there! My name's Haddy, I've taken on the challenge of doing the development for this game. This article delves into more of, who I am, what excites me, and what got me where I am today...

First, to introduce myself, I am a developer by trade, work with all kinds of different development scenarios, and have loved gaming since I was a kid. I'm 32, so my childhood gaming started with an Atari, then moved to NES, SNES and Nintendo 64. I've always been fascinated with games, and have always had an interest in how they all go together.

Fast-forward to junior year in high school. I took my first computer class, which also was a programming class... our family was not wealthy (even though I lived in a very wealthy part of California at the time), and my parents got divorced just before I entered high school (my Mom worked full time as a store clerk to support us), so access to a computer was very much not an option. Once I started programming, I realized I had a knack for the stuff, and have been programming 'something' ever since.

For years I worked as a systems analyst and network engineer, but was completely bored with the topic... felt underwhelmed, and work felt monotonous. Meanwhile, I also developed sites, programs and systems for friends and acquaintances, and I ended up developing some things for the school district I worked with. From there, my development career started, I got promoted to a Web Developer, and worked on many different projects around our district. A mentor suggested I return to school, and get my degree in Software Development, which I did, and graduated with honors while working full time! After California had been having budget issues for a while, I decided to put my resume out there, and look for anther job, developing full time. I got a bite, and I'm still with that company today.

I love what I do, love developing software, and seeing people use it. I love coming up with solutions to problems, and resolving things with mathematical structures. I have quite a bit of student related debt still, so I always try to find small jobs here and there, to help pay them down a little (going to be a while! lol) I have worked with several small indie studios up until now, unfortunately none of them worked out.

I have had a strong desire to find 'something' to work on with a team of individuals, and that's where FleetCalamity comes in. Matthew, the creator of all this, put out his blog and Twitter post in look for a developer. To be honest, I've been asked to be a part of many many different teams the last 6 months, but never felt the 'fit' per-say. One reason was, a lot of the opportunities don't pay (and while trying to pay off debt, it's tough to make a commitment). A lot of these small studios don't pay (looking to push to funding), so I've learned a few things along the way:
  1.  Only join a project you feel you could be passionate about
  2. Make sure you get along well with other members of the team, from first meet (digital meetups included)
  3. Don't ever over-commit (if you tell them you can work on a project full-time, and you don't, you're not helping)
  4. Be honest (many small indiedev teams know you need to have a life, and understand you cannot commit to something that doesn't pay full time!)
  5. Make sure it fits (don't just do something, to well, just do something... love what you do!)
 I am a huge Star Wars / Star Trek / Battlestar Galactica fan, so when Matthew and I discussed FleetCalamity, I got excited instantly. Even though the position is non-payed at this point, the subject is fitting for what I enjoy, the idea is solid, and I feel that we can push to release this game and make some money for all of us involved (creating a game that is fun for the customer, at the center of the equation, and will hopefully help me pay off my student debt at the same time! :) ). Designing a game from the ground up is definitely a task, but I'm really excited to be a part of the team, from the ground up, and really excited to see where this project takes us!

Future DevBlogs will have a lot less about me, and a lot more about what I'm working on... maybe even some pretty pictures and/or videos!!! (bait)

Well that's it about me for now... make sure you follow us on Twitter at @HalfHeartGames, you can also follow me personally at @Haddicus!