Font and Menus

I’ve been doing lots of work on OSARE and 0.04 is just around the corner. Most of my work has been outside of code: designing icons, menus, and a font.

I have the basic font class working and it’s nice. I’m using an ascii-based bitmap font. Right now I have lower ascii, but it should be easy to add upper ascii. At the moment I’m not too interested in unicode support; that might be a sin but I don’t care (yet). I have routines to write out text with left/center/right justify. I don’t yet have smart word wrapping (I’ll save that for when I actually need it, probably once I start doing the dialog engine).

I’ve been drawing up the four main gameplay menus: character, inventory, powers, log. The first version of the Character menu is done: it displays the avatar’s StatBlock properly (a second version will handle level-ups and resets). The Powers menu shows the build correctly (a second version will allow dragging powers to the action bar). The Inventory and Log menus are basically blank for now. I also created a MenuManager to hold each of the menus and govern their opening/closing. I also changed the HP/MP bar and the Action bar to “menus” and put them under the Menumanager class.

The proficiency icons on the Character menu are the stock weapons/armors I have for the current male hero. Maybe the icons should be something more generic (a barbarian or samurai would have very different base items).

I will create Powers-style icons for the C,I,P,L menu buttons on the bottom-right of the action bar. Maybe make them clickable. Maybe add a very simple MenuToolTip class. Once I feel at a good stopping point I’ll release 0.04.


The OSARE project has a new blog. I’ve imported previous news items and the conversion is complete.

I spend a lot of time thinking about my programming projects (not just OSARE). As the projects grow it’s impossible to keep all those thoughts organized between releases. This blog will probably be barely-edited ramblings of ideas, dev updates, etc.


Leave a Reply

Your email address will not be published. Required fields are marked *