Tuesday, March 22, 2011

Content and Design

The past week has seen an increase in productivity.

I've decided to work on some more practical things since past Tuesday. I've finally finished the switch and door mechanics. You can now trigger a door by flipping a switch anywhere in the level. I've also made an addition to the Editor that also highlights the targeted object if you select a switch that has a target.

I also found that making the door a 'Static Actor' type wasn't a great decision, because of how I've decided to handle Static Actors. SA's are only handled when the player collides with them, or if another object directly triggers them. Because of this, they cannot transition from one state to another smoothly, unless I make a substate out of every single step, which is stupid. So I've decided to make doors into 'Dynamic Actors' (which get queried every game 'step') and keep the existing functionality, but call it an "Obstacle". Before next week I'll also allow the user to define the appearance of this Obstacle to any world tile so that it's in line with this.

A few times I considered making fundamental changes to the Editor (it needs it) but I haven't began working on that, code wise, for now. I've chosen to approach this differently. First I want to design how the program will look. I'll make sketches of every state of the program, and all of it's submenus. This way I'll have a definitive final design for the Editor itself. Then I'll start designing how I want the program flow to go, maybe write specific behavior in the form of pseudo code. After all that, design in hand, I'll start rewriting the Editor from the ground up.

I've figured that going in too hastily will cripple my ability to have the Editor 'keep up' with the rest of the game until it's been completely rewritten. This will probably take it's toll, motivationally, on my progress with the rest of the game as I will have to go back to using a Text editor to add new features to a level for proper testing. I don't want to run the risk of this taking even longer, so I figured that designing the entire thing before building it would be smart in this particular case.

I gotta watch myself to not go overboard with how 'neat' it'll be, or I risk casting this job into the depths of oblivion, like I've done with earlier projects.

As a final note, I redid the logo and title screen for CubeWars, of which I'll upload a screenshot later. It now draws a random level that passes slowly in the background. It's really nifty.

Edit: Here it is!


See you next week!

No comments: