Despite these failings, I'm pleased at what I managed to do in twelve hours. I plan to later spend 120 hours remaking it. This project has made me think think deeply about prioritization and I learned a lot about my weaknesses; this will help me when I remake the game (and when working on other projects).
Before I get to than, here is a video of the final state:
If you'd like to play it and/or look at the source code, the links are at the bottom of this post.
While making Scrap Wars, I realized that I focused on the code I found most interesting. In particular, I spent far too long on map generation which unfortunately meant that I neglected less interesting, but critical parts like the part swapping UI and making missile work.
I think this prioritization flaw has hindered me in other programs as well. If I don't start focusing on the less nifty, but more necessary parts of the code first, than my games will be less fun because they'll be limited by the flaws parts of the code that I neglected.
Another lesson I learned was that it is extremely difficult to maintain a good architecture without identifying how data flows through the program. Several times I needed to rework the structure of my code to ensure that classes could access the data they needed. This lead to a messy final architecture, the scars of these changes can be clearly seen in the code.
Finally, I learned how I act when I'm severely rushed. I think I can improve my behavior in that state to still produce clean code despite the pressure. I'm going to do another 12 hours challenge later to practice this.
It's fun to have something recent that I "completed", even if the product is flawed. I'm glad that I decided to do this and I'm excited to try other challenges in the future.
---------------------------------------------------------------------------------------------------------------------
You can download the final game, provided as-is with no support, from this link.
The .zip includes an installer for the 4.0 .net framework and one for the XNA framework redistributable, both of which are required for XNA games to work, in case you don't have them installed. It's a slight hassle, but making it easier to install and run would count as more development time and I've used my twelve hours :p
Instructions: Move with wasd, shoot with right-click, stab with left-click, and enter the parts change menu by pressing TAB while on a factory. Killing enemies gets a part (a bug makes you occasionally get many parts from killing an enemy). Changing Cores heals you. Press Enter after dieing to start a new game on a new map.
The source code is a mangled rushed mess. If you really want see it, you can get the source and visual studios project here.
I'm co-webmaster of the site on which those files are hosted, beyondbits.net. It's not up and running yet; I'll make a post about the site once it's worth going to it.
No comments:
Post a Comment