One of my bold goals before I go to uni was to have a decent grasp of how video game development works, and to prove myself by developing an RPG.Programmatically, I’ve achieved the former. Over the last year, I mastered the C# language, from simple data access, to LINQ, to virtual methods, to a fair amount of Windows Application development with WPF. I’ve also seen a lot of game development with XNA, and saw how to do the same things and more (10 times easier) in the powerful Unity engine. Now I think the time has come to tackle the latter one, and prove that I know the techniques well.
Just to make a point here, I’m not going to create the next blockbuster RPG or even care about the time I spent working on it, assets, specific game features. I just see it as something to do when I have a little bit free time on my mind, to improve my planning and programming, and clear my mind. I’m hoping to create something very similar to those old school SNES RPGs like Final Fantasy, Chrono Trigger,… and will probably using a lot of assets from them. You know, top-down view, towns, battle system with random encounters, mountable chocobo’s, dialogue & lore. Brings back memories?
I’m also making it for Windows Phone as the RPG category currently has about 8 or so “RPGs”. The only real RPG in my opinion is Legends Of Descent, it’s an NES-ish RPG that’s in development but people can already download alpha versions of it in the Windows Phone Marketplace. I think I’ll do something similar, once it is in a representative format I’ll publish it and people can try it out (and read development updates on here).
With this project I’m also trying to correct some issues I experienced while developing the (much smaller) Windows Phone 7 game, NickleBreaker. These issues are:
– No planning: Nothing of the development was planned properly so I ended up getting into some chaotic scenarios when I wanted to add more features later on. At some point I had to basically restart from scratch because I couldn’t see wood for trees. My code ended up being messy and hard to read trough/enhance. With this project I’m taking a more structured approach
– Unhealthy time investments: Because of the above, I’ve spent several months painstakingly coding NickleBreaker. At some point I left friends & family behind to code like crazy and sometimes there were weeks that I didn’t do anything, making it hard to pick up where I left.
– Unfamiliar with the platform: I was unfamiliar with Windows Phone and its ways of getting touch input, tombstoning and other features developers should be aware of. Because of these things, certification of NickleBreaker took me several tries. Now I should have a much better understanding of how it all works.
On the development side, I’m using the powerful XNA engine which is more or less only a framework, so the first months of development will consist of creating parts of the RPG engine (map system, input system, screen management, creating controls, editors etc) before actually getting down to creating specific features like the battle system, lore and whatnot. My code will be all self-written aimed at easy implementation and reuse, though I’ll be looking at other people’s code too (certainly when it comes to data storage and more mathematical things).
As for actual development, it has just started. I’ve just started working on a powerful screen & input manager as you can see below. More to come, not soon, but when I have some free time.