If you follow my twitter handle “GregGreenGame” you saw on March 30th that I was working on a project for Ludum Dare when I posted this picture:
I entered in mLD #66 “Construct an RTS”, it started on March 26th and ended on April 2nd.
Throughout the whole month of March I haven’t done a lot of programming or any work on Greg Green because our pixel artist stopped contacting us for over a month so we assume she quit (sucks because she did good great work). So I put a pause on the games that I had in development. Then mLD #66 was announced, and my buddy Kai (who I met on Ludum Dare in January), contacted me and asked if I wanted to work together because our plans with mLD #64 fell through. He does 3D art (modelling and texturing) and I am in need of working with an artist so I saw a fantastic opportunity to get back in to the programming mood.
What you didn’t see is how the game actually looked when I first started it. All that was programmed was placing structures, there was no models but a simple UI and the feature for structures to not be placed on top of others. (indicated by color as shown below)
Needless to say, I got over ambitious and had tons of features planned that we ended up needing to cut.
I realized I wanted this game to be played in the web browser for ease of access to players, so I decided to use what I have before, the Unity3D Web Player. Never had issues with it before and it runs (used to run) on most web browsers.
The only browser I was sure it ran on was Firefox because Google Chrome stopped supporting the Unity3d Web Player Plugin near the beginning of 2014. I was unsure about other browsers but most people either use Chrome or Firefox.
I began programming Unit movement but the method I used was way to simple and became instantly scrapped, so I’m not even going to bother showing it. (See the new movement below in v0.3)
I never knew how easy it was to implement pathfinding into a Unity project.
The only issue I had is I had to change the type of water I was using. I originally had a pretty detailed water system with moving waves (shown in the first image up top) but it did not work with the pathfinding system so I used this other one instead and it actually looked nicer in the game so it was a win-win.
UNITS CAN MOVE NOW!
So as I explained in v0.2, Unity Web Player became deprecated and I was slightly unaware. Deprecated means that the feature still remains but is not recommended because it will be removed in a future update. However this wasn’t brought to my intention until I wrote this blog post.
I switched to using the HTML5/WebGL API which for a while now has been in it’s “(Preview)” stage, but it is slowly but surely taking over as Unity3d’s main web platform. I have had no experience building for this platform but I did not run into many issues at all, it actually worked with my UI a lot better than the Web Player for some reason (you can see the better menu below). The WebGL API is supported on way more browsers then the web player, AND it doesn’t require any type of additional download. I did have an issue by allocating too much memory to the game though. I thought the default (256mb) may not end up being enough so I thought I’ll just double it and crank it up to 512mb. This caused it to not be playable on some computers/browsers. Woops! I fixed this issue after Ludum Dare, in the Expanded Version.
Kai finished up some more models and textures so I implemented them into the game, the Gunner, the Tank, and the Berserker (they can all move). The color indicated structure placement was looking good and so did all the textures. I added more stuff to the map like an enemy base, satellites, and cities.
I began working on the title screen but it had some UI scaling issues.
I also started talking to my cousin Josh about writing some music for the game and told him that the game was due tomorrow. He said no problem, I can do that.
So as I realized I was looking at an all-night mission I got the Armory menu working fully functional, you can hire a unit and give it a location and it will drive out of the armory and move to that specified location.
Fixed up the Title Screen to look nicer, and with a functional music switch for the two tracks that Josh sent to me. They sound great, I can’t upload the audio here but really go check out the game and hear it for yourself.
I added on-screen controls so nobody trying out the game for their first time would have a hard time with a not-so-polished interface.
The beautiful addition here is Unit Stats on the bottom right of the screen, this allows the user to know what unit is selected, how much hp it has remaining, and if it is in attack mode or not. This helped understand the combat system a little more. (The image below shows the player’s Gunner unit attacking an opponent’s Gunner unit.)
v0.7/v0.7a (The Release)
After a stressful night of getting the damn game in on time I realized the version I uploaded had a resolution error and it cropped the top of the screen so people couldn’t see their resources. I fixed this as soon as I could.
Kai made some GUI Button sprites so we didn’t have to use the ugly default ones, I also fixed some ugly UI scaling issues in the controls panel, the stats panel, and the menus.
Then This. In my only attempt to build a last minute AI within an hour of time I gave the opponent an Armory that automatically builds units on a random timer that I set, and sends them towards your base. One thing I regretted was not spending another hour to get them to attack your base. They will only attack your units and/or move to your base and sit there.
I still made it possible to attack your opponent’s base and armory. Destroying the armory will stop your opponent from hiring more units. Destroying the base will allow you to win the game, causing the game to go back to the main menu (THAT MEANS YOU WIN!).
Yeah, I was over ambitious and me and Kai had to cut some features and assets such as: Airport Structure + Air Units, defensive structures (turrets), click+drag multi selection, a better AI, and taking over cities to gain more resources.
A couple other things I didn’t talk about were that I made the game give u resources on a set timer, and the game was originally controlled by mouse movement instead of Arrow Keys/WASD. It was Kai’s idea to add WASD control so we agreed it would be optional but I ended up liking WASD better than mouse so I never got around to making it optional. Oh and I realized after development that there is already an RTS game called Advanced Tactics that was released in 2013. This doesn’t cause any conflict because my game is titled Advanced Tactics: Mini RTS (/Expanded), but it was kind of funny to find that out. The name Advanced Tactics came from Kai and I believe it is a reference to Advanced Wars because that was one of our main inspirations.
I had no time to get in nearly everything I planned but I also was very busy on the first few days of the dare. I didn’t even have the time to post progress about the game on Ludum Dare like i did back in 2013 for the 7DRTS (My Entry). However it brought me back to that year and the caffeine fueled nights staying up coding. I needed that, it made me feel really good mentally and emotionally. It was revitalizing almost. It really encouraged me to continue work on a more frequent basis and even enter in future Ludum Dare events. I have no idea why it took me 3 years to come back to it!
Well anyways if you want to checkout the entry it’s right here: http://ludumdare.com/compo/minild-66/?action=preview&uid=24878
If you are interested in the future of this project you are welcome to see what I am doing after the dare. I am currently working on an expansion to the game and you can play an early build of v0.8 on Kongregate: http://www.kongregate.com/games/InDGaming/advanced-tactics-mini-rts-expanded
I will probably make a future blog post addressing any updates I make to this game, so if you follow my dev blog then be prepared to see more Advanced Tactics.