Skip to main content
GameDev.net gamedev.net
🔒 Locked

Scripted GUIs

Started by King_DuckZ Aug 30, 2011 at 9:53 AM 4 replies 2.7k views
Original Post
King_DuckZ
King_DuckZ
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-- ]
triangles
triangles
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.
smasherprog
smasherprog
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.
Magmatwister
Magmatwister
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 ++
triangles
triangles

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.
King_DuckZ
King_DuckZ
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-- ]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.