I’m taking a big a detour today. I expected to post the next installment of the dungeon generation series. But another aspect of SilverQuest: Gaiden I’m currently dealing with are GUIs.
When I talk about GUIs in SQG, these are things like the player character generator and the options menu. The way they were written is a little scatter-shot and difficult to modify. I had decided what I needed is a proper GUI library. This seems a daunting prospect. I’ve made them before and never been wholly satisfied with the results. I think this is a pretty common feeling, if social media is anything to go by.
When I think about GUI libraries, I immediately gravitate to GEM-style systems. This is not because I think they are particularly good. Rather it is because GEM is the first “modern” GUI I was exposed to as an Atari ST programmer. So, I’ve been reading my dot matrix printout of Tim Oren’s Professional GEM and once again its scope is giving me the heebie-jeebies.
As it happens, yesterday a friend on Twitter asked about best practices for implementing GUIs. And this morning while I was sorting through old downloads, I found the helpfully named “867.mp4”. It turns out it was Casey Muratori’s talk on Immediate Mode GUIs.
It’s a very interesting talk but it led me down a frustrating rabbit hole of internet transience due to missing and broken links. I spent some time this morning tracking down this lost information.
If the name Casey Muratori sounds familiar, maybe it’s because he’s made quite a splash with his Handmade Hero streaming educational video series in which he builds an entire 3D game from scratch in C++, showing it live, every day, every step of the way, while explaining every decision and concept. It’s pretty amazing stuff but I digress.
At the end of the GUI talk, Casey mentions Sean Barrett’s upcoming Game Developer Magazine article on Immediate Mode GUIs. You can read it online.
Immediate Mode GUIs by Sean Barrett, Game Developer Magazine, Sept. 2005, pg. 34
Sean Barrett’s article includes a link to some code and a demonstration.
You can also find the remnants of the Molly Rocket forums below. There are a great many topics. They are little difficult to read due to incomplete formatting but at least they weren’t deleted like so much of our ever-fading internet.
Also of note are Sean Barrett’s other articles. The Game Developer Magazine Archives are now free to read and Sean’s Inner Product column is always worthwhile.
Today I also stumbled across something Christopher Rast was kind to point out. Although Tim Oren’s Professional GEM was written in 1986, it has some really valuable chapters on user interfaces that will never be out of date.
Hello everyone! You might have noticed there has been some changing of the guard. Chris (I-Game-Art) has departed the project to pursue his career in effects makeup (whoa!). We welcome Xot, longtime steward of http://www.gmlscripts.com/ — a very popular resource for GameMaker Studio users! We also have a little art for your desktops and whatever else you'd like to do from our friend Makku at http://abstractcactus.tumblr.com/
Below are the patchnotes for Alpha 13! Xot really turned this around in an impressively short amount of time! BEHOLD ITS LIST-Y GLORY!
Alpha 13
Fixes:
fixed book reader crash (#1)
fixed recipe reader memory leak (#2)
fixed barrel loot drop delay (#3)
fixed inventory crash when items are missing sprites (#4, #11)
fixed monsters walking through alchemy tables (#61)
fixed monsters moving into NPC space (#33)
fixed inaccessible region on right and bottom sides of dungeon (#45)
fixed barrels spawning in occupied spaces (#10, #18)
fixed NPCs spawning in occupied spaces (#24)
fixed NPCs sprite selection (#63)
fixed NPCs and monsters never wandering south (#64)
fixed player saving while moving bug (#64)
Changes:
Improved hud scroll graphics.
Improved inventory UI.
Improved container UI.
Improved loading screen UI.
Improved chargen screen UI.
Stackable Items will no longer occupy more than one space in the inventory.
Implementation of new shader routine, Color graphics now possible.
Initial implementation of supersampling to fix squashed pixels.
Improved Framerate in game.
Palettes are now externally accessed, and come with a lut texture and an xml data file.
Cursor is now externally accessed.
Implemented multiple lighting routines, swappable with spacebar/select button.
Alchemy works! Add ingredients to an alchemy table, matching with the number of ingredients required for any preloaded recipe, and resulting item may be added to inventory.
Adjusted inventory position on screen
Fixed bug with inventory options causing the selection cursor to move
Hello everyone! We apologize for the lack of updates. Chris, the programmer on the team was was sick for a while, but is back and feeling better! Thusly, we have a new patch for you, though it's smaller than others.
• Inventory Items and NPCs now have a new Dynamic Radial Menu. This makes selecting options more intuitive and easier to understand.
Thank you for your continued support and feedback! :D