XNA:
I knew XNA would be an amazing framework for my game as it is easy to pickup and maintain in a one-person studio. I also new that Microsoft was no longer supporting it. Months ago I looked into Monogame, an open source implementation of XNA that would make it easier (and possible) to target different platforms and operating systems and would be updated frequently. Recently I decided to start switching over my code and found it very quick and relatively painless to do so. From now on my game will be utilizing the Monogame framework and hopefully this will give me some extra drive to complete Zity knowing it won't be obsolete on release.
Zity:
So moving on to the state of the game. I spent my trip to NJ thinking about and prototyping parts of my game. I would go from notepad to notepad writing down thoughts and ideas and coding in between. What I came away with was a basic framework for networking. It is still in progress, but I have reached the point where it would be possible to connect to a server hosting Zity and to host a game of your own. I'm still porting my single-player code to the networking scheme so as of now there is no real information sent between server and client but that's next up after menus. MENUS. I hate menus. I spent two days or so revamping my main menu screen from a small list of navigable buttons to this:
(A swarm of zombies follow the cursor (Cursor is invisible currently))
My menu system uses events and currently leads through a few different options before dead-ending. This is simply because I'm still working on the networking game and I'm planning on using the same screen for both networking and single player to save on code reuse and make it easier for someone to host a game. Currently I'm using the menu screen as a sort of benchmark to see how the game will most likely run with all the lights, zombies, bullets, and physics running. If the menu screen is laggy the game will be laggy.
Other Thoughts:
Programming is tough. In a mental, rather than physical, way. It takes motivation, determination, and a clear understanding of the amount of work involved to progress. I find that some days my mind just can't grasp what I need it to and the thoughts just pass through my brain without reaching my mind. Other days code slips out of me like a waterfall and everything clicks. The key is to work on ANYTHING instead of working on nothing. In the days when I can't wrap my head around the code, I take to the notepads and start prototyping other systems or art or design. On days when I'm pounding out code like a machine I focus on completing sections instead of following rabbit trails. It can be so tempting sometimes to work on the fun things and ignore the issues but in the end it is substantially more satisfying patching up the issues and knowing that everything is working right and you won't have to go back and change things later. That's the thing that keeps me going, those moments where everything is working right and you can see the goal clear in your mind again.
In conclusion:
The next few months should see a lot of polish on the game engine side of things and after that: content.

No comments:
Post a Comment