>> No just meant the way stuff moves around very good really, the AI is good...
Ah. :) Well, it's not really all that complex..
Basically the bots have 3 motions: move left, move right, or don't move. One of these is randomly chosen and executed. They then check to see if they are near an edge. If they are, they change direction ( assuming that the reason they are near an edge is because they were moving toward it - they weren't there a moment ago, so they must be moving ).
They also check to see if they can "see" the player. If the player's Y plus the player's Height is greater than the bot's Y, and the player's Y is less than the bot's Y plus the bot's Height then there's a line-of-sight to the player.
If there is a line-of-sight ( or LoS ) to the player, they fire at him.
I want them to not register the LoS if there's a wall between the bot and the player so they don't waste ammo ( not that they ever run out ), but I haven't got around to that yet. Of course the wall will stop the bullet anyway, so there's no harm to the player, but it looks better if they don't shoot at blank walls.
>> So suppose you mean by animation that your going to have multiple layer .gifs and even more reality...?
Not .gifs exactly.. The program doesn't use sprites. But the Person class was designed to be animatable ( hide one polygon and show another, just like frames of a gif ) from the beginning, so the only problem there is designing the Polygons for the different "frames". In answer to your question, yes, that's pretty much what I mean. :)
>> Think you started off really well with the basics and you can build a lot from that, 'cos this game has a lot of potential...
I've found that it's the best way to go. Once you have a working framework, all the other stuff ( bosses, healthpacks, stationary turret guns, lighting cannon powerups etc ) can come later. But you have to start with the basics or there won't be anything to build upon. Right now, I have what you call the basics. This lets me go off and design the other things, such as UI elements ( which is what I'm currently working on ). When I have the UI elements I need, I can simply plug them right into the program. I think this is what happens for most things. For example, the weapon firing was taken from SpaceShooter.kpl, where it had already been worked out. The same goes for the Button2D class and the Camera2D class. Another example is the pause feature. I couldn't make that until I had something to pause. Hitpoints too: they are useless if you don't have anything to fight.
I've found that building from the ground up is by far the most enjoyable way to program. That's actually where I started: Player collisions with the ground. It took me a while but I got it done. Next came AI. Then weapons, hitpoints, and a moving camera. After that was the menu system and UI elements. Right now, I'm polishing some of the basic functionality.
The next major addition will result in an updated version for you guys to play with. :D