• entries
    743
  • comments
    1924
  • views
    580410

Last day at work

Sign in to follow this  

116 views

Break up for Christmas today. I'm getting to leave off at 3:30pm although I've got lots of taxi-ing of various people to do so will have to stay sober until much later on, so I guess I'm going to go home and work on the level editor for a bit.

I've decided to develop one in tandem with the game so am back to battling with the Win32 API again. Lots of fun.

I've now extended the game to have three map layers as well as three item layers. The front and back map layers are not collidable but having a back layer means I can have stars over the top of rocks and so on, then the front layer is for like water and lava so that stuff falls behind it, which looks cool.

I've actually taken a load of holiday and now have two weeks off work, which will be the first proper break since last Christmas. I'm kind of looking forward to it, although I go a bit mental without daily work to structure my life. Should be able to get quite a lot of work done on Udo though, which will be cool.

I implemented Todo's suggestion for changing platforms so that you press jump while ducking to drop down. Scet's suggestion of the double-tap was working well but I was concerned about the player accidentally double-tapping when trying to just duck twice in quick succession and falling to their death.

It all feels pretty nice and solid so far. I appreciate progress is slow but I'm just trying to get everything right really. It's nice to have all the menu systems sorted out before the game gets too complicated (I have Trapper Zoid to thank for the inspiration for that plan).

There are two major things to approach next once the level editor has caught up with the game (or if I get bored with the editor). One is a death animation for the character. I'm torn between a particle based explosion of some kind or a bounce up then down and off the screen a la Mario. I like the idea of different animations depending on how you die, but I think that might create too much work without really adding much to the game. I think you have to prioritise quite carefully as a one-man-band freeware game developer and put fun before effects.

The other next step is to start to create some moving enemies. The first two will be side to side walkers, one that drops down and the other that turns around at the end of ledges. I really want the level editor up and running before I start this since enemies are a bugger to place on the map via my virtual assembler scripts.

I don't think I've ever talked about my virtual assembler in my journal. It is actually one of the most useful pieces of software I've ever written in terms of how much I use it.

It is basically a console program that reads in text scripts and produces binary files. In the simplest form, you can put numbers and strings in, with the numbers having either a default size, or a suffix to make it output bytes, words or double-words and the strings just output as bytes.

So a simple script could look like:


#double // sets default number size

10 20 30w // 10 and 20 as 32-bit ints, 30 as a 16-bit int
"hello" 0b // C-style null terminated string

#save "out.dat"


You can also create enumerations and labels. Labels can be late-linked with the #link command.


#byte #enum { end call ret outs }

#double
begin: call func
end

func: outs data
ret

data: "hello world" 10b 0b

#link
#save "a.out"


VA was written originally to be able to generate virtual machine code for virtual engines and provides the flexiblity to allow you to generate code for pretty much any engine you want with the definitions actually in the script. You could technically write actual machine code programs with it, although it would be hard work.

However, since writing it for that purpose, I've discovered loads of other uses for it, most notabely for creating the level files for games when they are in too early a stage for writing a proper level editor. It's such a flexible system that you can write a VA script for pretty much any kind of binary file you want to generate and has proved to be one of the most well-used tools I've ever written.

I've associated .va files with Notepad and added a command to the right-click-menu in explorers so you can double-click to edit the scripts or right-click and select Compile to run the file through VA. So at the moment when I'm working on Udo I also have the project directory open and with a few mouse clicks can open and edit the script and compile it into the level file.

Pretty good system really. I don't know if it would appeal to anyone else but I've been finding it useful for years now.

Anyway, enough of my rambling.
Sign in to follow this  


2 Comments


Recommended Comments

Quote:
I like the idea of different animations depending on how you die, but I think that might create too much work without really adding much to the game. I think you have to prioritise quite carefully as a one-man-band freeware game developer and put fun before effects.


Quoted for truth. We want you to finish this masterpiece no less than you yourself. Keeping focus and motivation is the only thing that will do this. It's a bit too easy to let feature creep ruin a great idea.

About the water: I was just mumbling out loud really. I'm more into graphics programming myself, so some of my suggestions may very well be "over the top" ;-).

Share this comment


Link to comment
I didn't think it was over the top. It sounded like a really good idea. It is just a bit beyond my current abilities to implement really.

Don't ever think that such suggestions aren't welcome though. I appreciate you taking an interest.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now