I've been testing my game on my netbook and as I've been adding stuff its been gradually getting slower and slower. Today I've done some optimisation to hopefully make it run a bit quicker.
The maze is made up of a series of textured cubes. Where there is a wall, there is a cube of 6 sides and 12 polygons. This is wasteful because you never see the top and bottom of the cube, and if you are in a corridor, chances are you will never see the sides either.
So I have replaced the cubes with flat polygons, and I'm only drawing what I need. I'll do some comparisons on the netbook later to work out if this is faster. (it runs at a smooth 60 fps on my desktop regardless of which method I use)
Also, the entire maze is being built before the player starts and I'm just moving the camera around. I could just draw the maze as I get to it, instead of generating it all at once. However this is a big change and I will probably leave it for the moment and come back to this topic later.
Tooltips - when you hover the mouse over an item it will show you the details
Icons - each item is represented by a unique icon. This icon is displayed on the Inventory screen
Drag and Drop - You can click an item and drag it to another 'slot'. The item's icon follows the mouse as you hold down the button and when you let go, the item is moved to that slot. If the inventory slot is not empty, the items are swapped.
The number of Inventory and Heatsink slots change depending on the chassis you have installed. Bigger chassis mean more inventory space and more heatsink space.
It's still untidy because i'm using scratch graphics but the inventory background and the tooltips backgrounds are bitmaps so they can be redrawn at a later date with nice fonts, borders etc. I'm also displaying a bitmap of the chassis in the centre of the screen. I will add some animations and stuff later to make it a bit nicer to look at. I'm hoping it will look a bit like the inventory screen from this mech game I googled. Not exactly the same but the same style.
UI work is so boring!
I have set myself milestone targets which I hope to hit regularly and will be updating this journal with screenshots, updates, problems etc.
Hope you enjoy!