ToME 2.x running on Qt
Posted: Tue Dec 17, 2013 7:41 pm
OK, so after a weekend of hacking, here's a screenshot of ToME 2.x running on top of Qt 5.x. Many things don't really work yet:
What is working very satisfactorily and which wasn't in previous attempts at new GUI ports (SDL 2.x, SFML, Allegro) is speed. A really dumb Qt Scene Graph with 80x24 QSimpleTextGraphicsItem instances seems to be performing really well with basically no optimization effort on my part, so that's a very positive sign.
I'm not sure yet, but I may end up having to remove all(!) other frontends and integrate this slightly closer with the game engine to get it working really well. I don't think it'll be any great loss since the Qt-based frontend should perform vastly better than the X11 front end and support multiple desktop windows (unlike the SDL one). And Qt is cross-platform and so should work perfectly on both Mac OS and Windows. (Compiling on Windows, I don't know about, but presumably people are managing to compile Qt Apps on Windows, so...) The only current frontend which cannot be replaced with a Qt-based one is the Curses one. I'm not sure anyone cares about that.
As usual I can't really put any deadlines on when this will be done, but watch this space...
- keyboard input is sketchy; no arrow keys yet (which means it's not really playable, so I think this is probably highest priority)
- no colors yet, but that should be pretty trivial to get working
- the intro animation goes by way too fast, so you don't actually really notice it. I think this is due to the way the game engine just blasts updates at the front-end without really waiting properly for the updates to show. It's not really a big deal for now, but it could mean that the in-game animated projectiles don't work properly (don't know yet as I can't actually play without arrow keys!)
- almost all of the code is one giant hack
What is working very satisfactorily and which wasn't in previous attempts at new GUI ports (SDL 2.x, SFML, Allegro) is speed. A really dumb Qt Scene Graph with 80x24 QSimpleTextGraphicsItem instances seems to be performing really well with basically no optimization effort on my part, so that's a very positive sign.
I'm not sure yet, but I may end up having to remove all(!) other frontends and integrate this slightly closer with the game engine to get it working really well. I don't think it'll be any great loss since the Qt-based frontend should perform vastly better than the X11 front end and support multiple desktop windows (unlike the SDL one). And Qt is cross-platform and so should work perfectly on both Mac OS and Windows. (Compiling on Windows, I don't know about, but presumably people are managing to compile Qt Apps on Windows, so...) The only current frontend which cannot be replaced with a Qt-based one is the Curses one. I'm not sure anyone cares about that.
As usual I can't really put any deadlines on when this will be done, but watch this space...