Scripted GUIs

Started by
4 comments, last by King_DuckZ 12 years, 7 months ago
Hello, I assume this topic has already been debated, but I'd like to by myself. I know many of us use ScaleForm in order to make ingame GUIs, while others like to use custom tools that rely on Flash as well. On our latest game we decided this wasn't optimal (bad memory usage, bad tesselation, low performances, licensing issues...), so we went into a new direction and decided to make an all-c++ solution.
I find this solution to be flawed as well, as it incredibly bloats the final exe size, doesn't allow any easy tweaking without recompilation and code is only comprehensible to other developers, if infinite lists of constants and properties and other boring code can be called comprehensible at all.

My instinct would suggest me that an event-based windowing system that mimics Visual Basic (or the Win concept in which everything is a window), and that connects nicely to some external script would be the best solution. However, some game-specific issues should be taken into account: graphic style for example is unique to each game, so a sort of CSS should exist, but other things like special effects, sounds and animations should be taken into account as well. I'm no CSS expert, nor I know much about Lua for example, but I'm just wondering if anyone got an opinion about this? How do you guys take care of GUIs? And how should a "perfect" system that adapts decently to different games work for you?

I find this matter very interesting, so I hope to receive interesting comments :)
[ King_DuckZ out-- ]
Advertisement
I recently scrapped my c++ gui and instead implemented a simple windowing system with all rendering done by google chrome (using the berkelium library). This means I can now create my user interface with html and javascript. The windowing system can call custom javascript in the browser, and the browser can fire off events to the windowing system.
Check out the Gwen UI library, its license is MIT, so you can basically do anything with it. Also, the code is very clean and not bloated like every other GUI out there. Check it out at http://code.google.com/p/gwen/
Wisdom is knowing when to shut up, so try it.
--Game Development http://nolimitsdesigns.com: Reliable UDP library, Threading library, Math Library, UI Library. Take a look, its all free.
In my opinion, based on what you're saying, you want to use Awesomium, essentially, that should give you all you need. You can use both HTML and CSS with the Webkit library to get the kind of customisation you're looking for. Heres a couple of links to the GUI of a guy who did just that:

http://blog.wolfire.com/2009/05/new-object-palette-window/
http://blog.wolfire.com/2009/10/animation-mixing-ui/


NOTE: I haven't tried this yet, but I will be doing so soon, so I don't know how easy this is to pull off. You could
Currently trying to make a planet renderer. After many hours of work, somehow I know It'll never be complete.
Also, If I help you, please give me an ++

In my opinion, based on what you're saying, you want to use Awesomium, essentially, that should give you all you need. You can use both HTML and CSS with the Webkit library to get the kind of customisation you're looking for. Heres a couple of links to the GUI of a guy who did just that:

http://blog.wolfire....palette-window/
http://blog.wolfire....tion-mixing-ui/


NOTE: I haven't tried this yet, but I will be doing so soon, so I don't know how easy this is to pull off. You could


The berkelium library is free and open-source and is basically the same as Awesomium.
Thank you all for your replies, I've been looking into your suggestions and I found them very interesting :) Especially, I did think about using html along with css, but the idea of using berkelium didn't come to me at all :)
[ King_DuckZ out-- ]

This topic is closed to new replies.

Advertisement