Strat Souls #7dRTS Postmortem

I’m not going to bombard you with paragraphs so here are quick points for a postmortem:

 

 

SOSO

SO SO: I used old base code from my turn-based strategy game experiments. It was not the best fit. There were some few unused pieces of code that I had to clean up (“I don’t think I’m using this function, I should delete it, it’s distracting me… but is this part really not used? I have to check…”).

 

 

GOOD

GOOD: Clearly define the scope of what you’ll do. That goes without saying, and yet some people don’t get this. When I see others saying “I’m gonna add this and this and this, I think it’s ambitious for the time-alloted, but I think I can pull it off LOL” that’s already a red flag right there. Do you even have a concrete plan to do all that?

I put it out there that I can create either a singleplayer game or a multiplayer game, but not both. At least, not within the 7 days. So I asked in the Ludum Dare website which they want first. Of course I want to add both eventually, but I have to choose what to finish within the 7 days.

 

 

GOOD

GOOD: Create a “testbed” level to quickly prototype ideas. A sort of playground level without victory/defeat conditions so you can test things quickly. I do this all the time. Shigeru Miyamoto does this, so why wouldn’t you? Don’t you love Miyamoto-san?

 

 

GOOD

GOOD: Sound software engineering practices. Abstract low-level details with high-level convenience functions! Reduces clutter, makes it easier for you to think! I’m going to write a separate article about this.

 

 

GOOD

GOOD: Used NGUI! Worth the $45 (got it on sale)! NGUI’s WYSIWYG workflow allows you to design GUI layouts fast!

 

 

GOOD

GOOD: Used free art assets from the Internet! Some editing was required but still lessened amount of work!

 

 

GOOD

GOOD: Made my own 3d animations! Better control on how I want attacks to move.

 

 

GOOD

GOOD: Used primitive shapes for my 3d models on purpose. Didn’t add legs to lessen work! No need to animate legs! Looks cute according to some people! (?)

 

 

GOOD

GOOD: Made use of free 3d models from blendswap.com (i.e. the skulls of the units) to lessen amount of work.

 

 

SOSO

SO SO: I probably should have made use of a state machine to facilitate low-level behaviour of units. But with the behaviour tree plugin I integrated, I think I can make use of that instead. I did not choose to do this though, as I concentrated on multiplayer instead as requested.

 

 

GOOD

GOOD: The good thing is all the ugly code is hidden behind a clean interface & facade class. So eventually I can clean up my ugly code without adversely affecting the rest of my code.

 

 

BAD

KIND-OF BAD: Should I name my function FaceUnit() or TurnToUnit()? Can’t decide! Drives me crazy!

 

 

GOOD

GOOD: The network code I made includes a lobby and match-making service, which I could use later on for other games.

 

 

GOOD

GOOD: Although I use the built-in Unity network library, I modularized my code so I can swap it for a different network library instead (Photon or uLink, maybe?). This is probably likely as I’ve heard many complaints that Unity’s built-in network library is buggy in real-world use (when there are dozens of connecting clients).

 

 

SOSO

SO SO: This game jam forced me to learn git subtrees. I lost sleep wrestling with the damn thing, but now I can use it.

 

 

BAD

BAD: Live streaming? With the quality of Internet connection in this country, forget it. Tried it. 90% of my streaming video’s frames were getting dropped.

 

 

GOOD

GOOD: Keep two versions of your builds: one for the clean, playable, version, and another for your experimental version where you are adding new stuff. In case what you’re adding won’t make it to the deadline, simply use your last clean, playable version.

I usually release my Unity web builds on Dropbox. But I realized I should have put two versions on Dropbox, i.e. the two versions I mention. There would be a StratSoulsRelease folder and a StratSoulsExperimental folder. Once I’m sure of my experimental version’s stability, I simply copy the necessary files over to the release folder.

Tags: postmortem, Strat Souls