GUI, Tower Upgrades, deadlines, etc, etc

Published May 26, 2010
Advertisement
Phew, so it's been quite intense the last couple of days!

I started the GUI implementation on monday, and made a request to the guys over at Empires Mod to use some of their HUD graphics. I thought it fit right into the theme I have, and also, the buttons they had for some of their GUI worked very well with what I needed. Krenzo, the artist behind the assets, was cool enough to let me use them, which I truly appreciate! Thank you so much!!!

Quote:
Empires is a mod for Half-Life 2 which combines the genres of real-time strategy and first person shooter. Each team has four classes to choose from (scout, rifleman, grenadier, and engineer) with unique weapons and skills each. One player will become the commander by entering the team's command vehicle to build the team's base and lead his team to victory.


I worked in mouse-hover awareness and clickable images through the alpha channel and texture lookup on the mouse coords on the C++ side. This means that the whole GUI for each game state was slapped onto an image the size of the game viewport, so not very flexible at all, but hey, it's about getting features in before a deadline, not to be the most impressive and awesome and flexible and and implementation in the world :P If I were to continue this project I would have to fix that though!

Once I had made the gui work like I wanted on the basic menues, I started impementing the HUD for the LevelOne gamestate, and all the logic behind it. Mainly this was regarding towers, score and lives.

I didn't want tower placement to be default all the time. I'd rather want to press the symbol for tower placement, which would then allow me to place a tower. It should sticky, so that I can place several towers, but a right-click with the mouse should un-sticky the button so that I get back to a normal mouse pointer behavior. Next, I should be able to click on a tower, so that the HUD for that specific tower came up. I should then be able to apply ugrades if I had the score to spend to do it. Right clicking should deselect the tower, or selecting a new tower should deselect the old one. A ton of small details that I had to make sure was done the right way.

Turns out, component systems are awesome :D When Damage Upgrade button is pressed, I simply send an event about this to the selected tower object. Then there's the GunView component, that has control over the looks of the gun module on the tower, it will look up on the damage level of the tower, and based on that, it will choose which gun node to attach to the tower object node. The railgun component also receives the event, and does some upgrades on the properties of the weapon, like damage value, fire rate, etc. So it was very simple to add in this kind of upgrade functionality with how the logic was layed out in my engine.

So, for the project, we were also supposed to do water in Cuda. We got an equation to compute waves and all. I didn't get time for this yesterday, but thankfully the deadline was pushed back one week, because I was certainly not the only one in my class that didn't get time for it! So, one more week of coding! This might actually turn more into a game demo than a tech demo after all :D

My friend, Guybrush, who's trees were just used in the quite awesome artistic work over at CryMod forum, was kind enough to build me some actual textures for the towers this upcoming weekend, in time for the deadline :) I'm looking forward to it so much!!!





Previous Entry Gameplay reenabled
Next Entry Static linking
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement