(Sorry about the bad title, it's the best I could come up with)

I've been planning a gladiator manager game for a while now. Something similar to Blood Bowl (or Football Manager, only with fighting rather than kicking a ball), only with a much larger focus on the actual managerial aspects of running a team. I'm still fairly new to game development, and have only created games with a very narrow focus (i.e. simple first person shooters), so taking on a project with a larger scope is very interesting, but also problematic since I really don't have a grip on how exactly to make the damn thing work.

Basically my two major hurdles are the interface and database. Obviously the interface is incredibly important since the player will spend most of his/her time doing managerial tasks. The game will be team-based, with various leagues in which those teams fight in, so it all relies on a database. I have never done any real work with databases, so this in particular has me stumped.

At this point, my idea is to use XNA in a WPF application, with an XML database. This just seems like a combination that would work well together, and as I have a C#/XNA background, I wouldn't need to learn a new language or graphics framework to work in.

Does that seem like a sensible combination, and if not, why? I have never done anything with WPF, so all of my information on it's uses comes from Google, and that may or may not be a good thing. Would XML be a smart choice? There will likely be a fairly low (think 20-30) number of teams, all of which will have a dozen or so fighters, so it's not a monstrously large set of data.

Thanks in advance, I know I didn't write the most intelligent post ever, but I had to get my ramblings out somehow. ;)


3 Answers 3


Ignore the Database and even the GUI at the beginning. Make the basic game-play work first. Just one session without saving/loading. That is hard enough at the beginning.

You will find yourself changing the actual data during development a lot. So if you maintain the loading/saving code for such frequently changing data, then you will find yourself 90% of your time maintaining that code, instead of making a fun game.

Take shortcuts on your way (use keyboard input instead of a GUI, create sample data on startup instead of saving/loading), don't go for the full blown game right from the beginning. This will keep you motivated because you actually have a game there and not only a database front-end.


I have no idea about databases either, but I can say now: XML is not a database, and to use it like one would be very painful. You're going to probably want some kind of SQL.

Also, it depends on the UI you want. My assumption for your want of WPF is the GUI part. I do not believe you can alter the graphical style of those parts. As such, you'd have a very bland UI. You may want to check out something like CEGUI# (CEGUI for C# and XNA).

  • \$\begingroup\$ You can modify the WPF UI a lot actually so that it has more of a game look and feel. However, I'm not sure how nicely it plays together with XNA \$\endgroup\$
    – wangburger
    Jun 13, 2011 at 15:14
  • \$\begingroup\$ See, this is why I asked. Based on what I'd read, XML seemed like a fairly decent way of storing the information I'm going to need, but apparently it isn't. Thanks, and I'll look into CEGUI. :) \$\endgroup\$
    – drowsy
    Jun 13, 2011 at 15:15
  • \$\begingroup\$ You can get XNA to play nicely with WPF, but I wouldn't advise it. CEGUI, AFAIK, is the equivalent of Box2D for small, functional game GUI libraries. (It's functional and not a huge thing like Qt or Bullet). \$\endgroup\$ Jun 13, 2011 at 15:25
  • \$\begingroup\$ @drowsy: Unless you need to query a large amount of data (which you almost certainly won't), XML will work fine. In fact, it can be queried in much the same way as an RDMBS using Linq-to-XML, so there is really no reason not to use it. \$\endgroup\$ Jun 13, 2011 at 21:17

"Database" is where it begins to sound like overkill. Your dataset is small enough that it will fit and run just fine in regular old C# data structures.

You certainly don't want WPF for a game -- all it gives you is bland standard Windows UI controls. Communist Duck's UI suggestion is excellent though!


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .