Wednesday, September 23, 2015

DevBlog - New Home Interface & GUI updates

Hello all,

I hope you guys have been enjoying your September, I can't believe October is almost upon us! I've been quite busy, doing many different things, but one of those is working on our game! Some of the things I've been working on are hard to show (behind the scenes programming stuff), but some of it is apparent in the interface. I have made a video overviewing the changes below.



If you prefer to read about it (highly unlikely), I'll overview some of what's been going on here and there. One of the main things I've been focusing on is reusable elements within the interface, as well as improving our user interfaces. Matthew and I have been going back and forth, sharing ideas and going through iterations of UI elements, to bring you guys a nice looking user interface. We have created the confirmation window that I think goes a long way to showing you where our user interface is going... I'm very happy with it!

 

I used the confirmation dialog menu to make up the design for our new main menu as well:



Behind this, I developed the functionality behind discarding, working with a players deck, confirming a players choice to continue, and a lot of other things related to ensuring that proper cards are selected, discarded, and not used until the deck is reshuffled.

We've also gone over some changes to the UI interface for various areas of the project, to make things easier, more readable and more professional looking. We will be incorporating these changes to the interface in weeks to come.

Lots of small tedious things to do some simple things on the interface, but really a lot of stuff that just has to get written to go to the next phase.

I also have been discussing different game dynamics with Matthew and we're making a ton of progress on making decisions and moving forward with the game as a whole. We have some more discussions planned for looking at Trap and Upgrade cards this next week. I plan on continuing the menu system process, getting things coded so that we have a working menu, transition to the game, and start planning out the next phase of the player's turn. After that I will be delving into getting all the cards playable within the game.

Thanks for tuning in, I hope you enjoyed this update. I am hoping to update here (as long as there's enough content) every Wednesday.

Take care!

Friday, September 18, 2015

News and updates!

Hello, Hello!

Matthew here with another look at what we've been cooking up at Half Heart Games. Lets jump right in!

Let me begin with giving a little info on what Haddy has been up to. He has been hard at work, slaving away at his computer. So far he has been making it possible to draw cards, discard cards, confirm the discard, passing turns, turn timers, and setting up some preliminary work on getting multi player up and running. Mind you multi player is  ways away, but we need to get that ground work set up and ready to go.

So like I said, hes been busy! In addition to that he also helps co-host a Unity programming channel on twitch. I'll be sure to post a link ASAP so you can check it out and maybe say hi, or ask him some programmer questions. He is very helpful and knowledgeable!

He'll probably update you all on what hes been up to in greater detail, but I just wanted to ensure you know hes been hard at work, every night plugging away.


What about me, eh?
Well I've been busy as well. I've recently finished modeling all the vessels for the pre constructed decks and textured them all. That was my big task and although it took a while to complete, it was actually faster than I anticipated. It only took me about a month or so and I was expecting it to take two months. So I'm pretty stoked about that!

I've also been talking with Haddy about the GUI, card GUI and the cards themselves. For the GUI we didn't feel it was as good as it could be. We also noticed a few missing pieces, such as a confirm window for when you want to discard - or rather, in case you don't. We'd hate for a player to select a card and accidentally discard it when they meant to play it. That would be pretty suck-tastic and I'd be pissed if I was a player. So we added a confirm window to ensure problems like that don't happen. Take a gander!


You may not be able to tell all our changes, unless you are familiar with our previous GUI. But in the image above you can clearly see the Confirm window in the center. We've also added  skip phase button in case you don't want to do a phase. As well as two new pieces of HUD at the bottom center of the screen. These are to show your flotilla when your in battle. The flotilla shown are the ones not currently in battle. This would allow a player to place vessels into those flotilla while you conduct combat.
Please keep in mind that not all of the GUI elements shown above will always be present. This image is just to show the most amount of GUI at once and give you an idea of what it will all look like.
In addition, we added  few textures and minor tweaks to the existing GUI. We hadded a honey comb texture to the top header bar, as well as the resource bar in the bottom left. We also got rid of the glow effect to make it all crisper and cleaner.
Lastly, but not least, we changed up the card design.



Let me run you through what you are seeing.
to begin with, the top image is the card when closed, while the bottom is the card while open. I'll discuss the closed one first.
At any given time you'll be able to see the most important info of the card. This includes what type of card it is (vessel, trap or upgrade) denoted by the symbol on the far left side of the card. Next you have the name, indicated here as "This is a long name!!!". Below that, and to the left, is the sub type which would describe what class or group the card belongs to. Such as alpha company, or a drone. Next, below the name and to the right is the attack, defense and movement indicators. Here you'll see how much power, integrity and spaces the ship can move. If the card is not a vessel this piece will not be present, as Traps and Upgrades can't attack, defend or move. Lastly we see a thunderbolt with a 03 following it (on the far right side). This represents the cards cost. This card costs 3 resources, but other cards will cost various different amounts.

Now lets move onto the bottom image, the open card. The only difference here is that when selecting the card it will open to reveal the card image and description. Obviously the image is on the left as indicated by the image. And of course the description is on the right. Pretty straight forward, eh?

Now of course, I always love to leave off with some awesome art, so I present to you the card art for the Simple drone by Chris Stage.


Take care every one and keep an eye out for more info on Fleet Calamity!

And as always, don't forget to follow us on on twitter @HalfHeartGames and like us on Facebook: https://www.facebook.com/FleetCalamity

Tuesday, August 18, 2015

DevBlog - Neutral Cards initialized, tranition mode between standard view and movement view, various other tweaks

Hi all!

So I took some time off of work for my Birthday that's coming up, I prefer to have some alone time/me time at least once a year, to try and hammer out small projects that I've been wanting to do, spend some quality time with family, and work on hobbies. Gamedev is one of my favorite hobbies I'm enjoying right now, really getting up to speed with organizing and making things happen within Unity.

A lot of my previous development experience has been generally focused on business productivity and such, but a lot of my C# is coming in handy for development of this game, so far. I've read several books on the platform, and read through a lot of online materials, but never really pushed myself into a project, as I have with this one. I'm really excited where it's taking us, with this game.


So there's a lot of things I can update on, but I'd rather focus on the main points and leave most of the rest for a future update, or just as a teaser to see once the game makes it to a testing point ;)

Anyways, I worked quite a bit, over the weekend, on trying to get the deck's structures finalized in order to get them ready to be used within gameplay. I'm very happy to announce that all the Neutral Cards (Upgrades, traps) have been created and are ready to be manipulated within the game (some logic is needed for their actions to be active, but that will come later!).

The next big thing I wanted to work on, is to start moving towards ship movements, so this week, that's been my focus. Ships are now automatically deselect when another ship is selected. This took a little more work than I originally anticipated, but through communicating between objects, this is now possible. Speaking of which, I ironed out a huge question in my mind, adding objects to the scene from non-monobehaviour objects. This has been a big question in my mind when watching a lot of 'how-tos' that pretty much use this class type exclusively. Unfortunately, MonoBehaviours don't fit my need for every class, so I had to come up with solutions for that. Thankfully, I was able to create  a method on a controller class that will allow me to create these objects as I need to, and they are added to the scene as I wanted them to be... sweet!


So, we have ship selection, creation all down, next up is movement mode. Movement mode is something that we move to, to make it easier for a player to move a ship around the battlefield. This allows a player to easily see the location of enemy ships (if the fog of war is gone), and be able to easily select a position on the board. Below is a video of the movement update:


I have also built the movement mode to start slowly and gain momentum, then slow down as it's reaching it's peak position, and the same effect as you come down. In the future, on the GUI, we will most likely have a toggle button that will also allow the user to switch between modes, that will update as the player decides which view he/she would like to see. There will also be movements avaialable around the field, to allow the user to rotate around, and see different perspectives.

Now that we have movement mode enabled, the next on my list is to couple those positions that are being initialized into actual movement space objects, translating between the current selected ship and the target position, transitioning between idle, into thrust mode, and moving the ship in the direction it needs to head to hover over the target position.

Lots to do, but making lots of progress!

Keep moving forward!

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!


Sunday, August 2, 2015

A very progressive week!

It's been a busy week or so for Fleet Calamity/ Half Heart Games!

Let's start with the biggest news, shall we? Well Recently we got a new programmer by the nickname 'Haddy'. He's an awesome hard working individual and we couldn't be happier with him on board!

If you get a chance say hi to him, I'm sure he'd appreciate the love.

So what has Haddy done thus far? Well take a gander!

https://www.youtube.com/watch?v=GoMvmkqrTCQ&feature=youtu.be

That video shows the GUI and initial grid set up. Notice the ships bobbing and the GUI bobbing with it.

https://www.youtube.com/watch?v=sNBY_CjX3C8&feature=youtu.be

This second video shows the camera rotating around the battle field and the additional GUI for that feature. The player will be able to look around the battle field to see it from different angle and reach any hex that might be blocked from another angle.

He is still hard at work on getting the GUI all set up and being able to select, move and basically operate your Flotilla. More on all that next time.


As for the art department we've been busy too with creating Card art and Models for the vessel units.

First up is the card art. This is what the back of the cards will look like. In addition, the star and circles are Fleet Calamity's new logo.


And finally here are some screen shots of the new models. None of them are textured yet, but that will come later.


















 
These models, and others, will form the Machine pre constructed deck. Some of the models seen before will also be part of this deck, such as the Assembly Drone, Giver and Scanner.

Well it's time we get back to work and get some more stuff to show you all.

In the mean time let me know what your favorite model is from the Machine Pre con deck and what you think of the GUI thus far.

Take care and don't forget to follow us
Facebook @ https://www.facebook.com/FleetCalamity?ref=bookmarks
Twitter @HalfHeartGames 
and also, of course, follow this blog to get updated on our updates.