Menus are usually something painful when building a game. This part is often underestimated and take lot of time. In Ragged Edge, there will be lot of menus pages in order to parse the database (all races, all scores, all stats, bet, championship, …).
I got several choices for that part.
1/ Everything is done in the game. So I need to use a middleware to handle menus, widgets, or code everything myself (I already got a small menus engine and tool for building pages).
2/ All management part is done into a tool, and player launch game when he wants to race. When he comes back to the management tool. (This would also easy the update process).
For that project, my goal is to go as fast as possible and quickly have a fully functional and playable version. So I’ll certainly start with solution 2.
The next question is to find a UI framework. In the past, I’ve worked with FLTK but it is now getting old. I’ve recently went into Qt and I’m quite happy with it.
Qt (say « cute ») is free. That’s a very nice point.
Let’s make some try with it.
Installation: Qt is easy to download. And easy to install. There is a version with full SDK and a version with library. I need the second one. I also installed « Visual plug-in » because I’d like to work using Visual Studio (the only problem is that « express » version of visual studio are not supported).
Once all is installed. Launch Visual studio and let’s build one sample:
1/ 5 min to build one simple project. There is a project assistant to build a Qt solution. Then there is a tool for visual add widgets, and link them. Here is my first application: Wow!
2/ 5 min to access my database. I’ve noticed one SQL sample among all the (well done) samples. I wonder if I can use it to access my database. Let’s run it. The sample asked me with plugin to use. There is one for postgreSQL (Yeah!). I give the name of database and user name and … That works!!! I can see the values I’ve entered in my small test database. That’s amazing.
The conclusion is that Qt is very nice and seems perfect for what I’d like to do. So let’s use it for the next steps.