March 28, 2024, 04:40:38 PM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


space invaders demo

Started by J B Wood (Zumwalt), November 20, 2006, 12:46:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

J B Wood (Zumwalt)

November 20, 2006, 12:46:52 PM Last Edit: December 01, 2006, 08:46:31 PM by Jonathan (zumwalt) Wood
Coming soon, here are prelimary screenshots.
You might ask why is this in 3d graphics, well, this is 2d sprites on the 3d scene.

Download the game via this link:
Flying Invaders - A Space Invaders Clone!

Full basic version to be released probably sometime PM'ish tonight.
Todo:
Sound, player vs invader shots collision test, thats about it.


Game now available for download!
Not the best clone in the world but going through rapid updates to make it even better :)

ExMember001


J B Wood (Zumwalt)

November 20, 2006, 01:29:01 PM #2 Last Edit: November 20, 2006, 01:44:37 PM by Jonathan (zumwalt) Wood
Thanks :) this is a fun project..
Haven't decided if I am going to give the code away for free, but the game will definately be free.

edit:
I think what I will do once it is complete, is send it over to Paul for him to include with the engine for those who own it.

J B Wood (Zumwalt)

booya, its well on its way to being playable

Steven Picard


J B Wood (Zumwalt)

You can thank Pauls point on pointers for this to work the way it is.
Each image only exists in the binary 1 time, I am using lists and structures to generate the scene.
Each item has unique properties but is rendered with its own loop in the game loop.
I am even determining object health independently with pointers.
Prior to Aurora, I had no need or use for pointers, mainly because I was using languages that didn't require them for anything I was writing.
Everything I have done so far outside of Aurora has dealt with Classes, properties, and the like.
This has opened a whole new world for me.

J B Wood (Zumwalt)

Bedtime, wife is glaring at me.. here is where I am leaving off tonight, more tomorrow night.
Getting very close.

Zen

Brilliant Jonathan. Looking forward to giving it a blast!

Lewis

J B Wood (Zumwalt)

Rounding the bend, almost in home stretch!

TODO:
Show the player
Show player shots
Show enemy shots
Destroy enemies
Show points
Destroy player
Reduce remaining lives and add that ship to the playing field
Figure out why on earth the high invaders are stupid AI, since they are identical in code to medium and low

J B Wood (Zumwalt)

All blue invaders now are fully in sync with each other, redid that entire routine.
To speed up the first release of this, I'll only make it 1 level playable, but reset that levels invaders once they are all dead.
The next release will altar the backdrop for the levels but since those images take up room, the second release will be larger in physical file size than the first.

J B Wood (Zumwalt)

First round for collision test a success, the bunkers win against the aliens :)
Although I need to do some further testing on that, but it appears that my collision testing system is a very good show :)

J B Wood (Zumwalt)

Latest screen shot, it now activates a player, the menu's work, upon game load it shows the main menu, only 2 options really, New game and quit.
During game you now have the ability to Pause with the P key, resume from pause with the R key, activate the Menu with the M key and start a new game or Resume the current game. Game reset works like a champ also.

You can move the active player ship left and right now all I need to get done is the bullet list, trying to decide how many shots to allow the invaders, since in the classic version, the player only gets 1 shot until that shot terminates.
More tomorrow after the dang shopping spree the wife wants to go on :)

J B Wood (Zumwalt)

November 25, 2006, 05:44:58 PM #12 Last Edit: December 01, 2006, 08:46:59 PM by Jonathan (zumwalt) Wood
Download the alpha version of the game here, almost done.
Remainder items are:
Figure out why saucer takes less damage than it should to kill.
Add collision check against player shots to bunkers.
Add enemy shots from random enemies.
Look into the movement logic, something screwy going on that is causing them to reduce in speed instead of increase after so many die.
Rotate backgrounds per level.
Increase difficulty per level.
Deal with player death.
Add high score table that is retrievable from disk.
Few other odds and ends.
Enjoy...

J B Wood (Zumwalt)

Deployment machines shut down for the night, but tomorrow when I get up, I'll update the link, the following items are fixed as of 1:19AM.
Fixed:
Invisible bunkers still defending player, this no longer happens.
Player can now be destroyed by collision with invaders, when this happens, the level is reset, player keeps current running score though and a life properly deducts.
After player dies 3 times, the game over screen properly shows and player can either hit N for new game or ESC to escape out of the game.
Routines to reset the level or start a new game now delete the pointer lists before creating them again to clean up any messes.
Collision detection routine now takes into consideration the invader distance from the bunkers, doesn't check for collision until the invaders reach a certain distance on the screen, same with the collision detection portion for the invader vs the player.
Throttle adjusts based on number of invaders remaining, this was what was causing my problem with the invaders incrementally slowing down once so many were destroyed. I adjust the throttle as each invader is destroyed. Few other nit pick items redone, but seems to have improved game performance.

TODO:
Make the invaders fire there weapons.

Alternate:
Instructions screen.

J B Wood (Zumwalt)

November 26, 2006, 05:12:55 PM #14 Last Edit: December 01, 2006, 08:47:16 PM by Jonathan (zumwalt) Wood
Updated:
Same link as before...


Now, the bullet check from the player also checks against the bunkers, the invaders check not only against the bullets, player and bunkers, but now the end of the playing field, if any invader makes it to the bottom, the player looses a life and the level resets. Optimized some of the routines to reduce check times, etc.
Still to come is the invaders firing back. Give it a whirl, let me know if you have any problems with the game.
This is nearing completion.

Arrow keys move the player, space fires the weapon.
M = Main Menu
P = Pause
R = Resume
N = New Game

J B Wood (Zumwalt)

Main thing left is player damage against invader shots (easy to do, just no time at this second) and sound!
I plan on trying to either release this to Paul either tonight or tomorrow night (probably tonight)
Here is the latest screen shot that includes the Invaders shots, by the way, right now they do destroy the bunkers :)

J B Wood (Zumwalt)

November 27, 2006, 06:21:35 PM #16 Last Edit: November 27, 2006, 06:26:40 PM by Jonathan (zumwalt) Wood
Sound might be delayed, I'll decide that in the next 40 minutes.
Right now when I play the sound the game freezes until the sound releases..
Even in its own thread..


Scratch that, Paul gave me the answer!

J B Wood (Zumwalt)

Latest update for the game can now be downloaded, warning, it won't work on Vista since PlaySoundA doesn't exist in Vista, looking for a fix now.
Sound only can have 1 sound going at any time. Let me know if you run into any problems.

Bruce Peaslee

The only problem I have is that I can't win   ;)

Other than that, it's pretty cool.
Bruce Peaslee
"Born too loose."
iTired (There's a nap for that.)
Well, I headed for Las Vegas
Only made it out to Needles

J B Wood (Zumwalt)

 ;D

Well, I have passed on the code to Paul for him to review for any corrections in any of the pointers.
When he is comfortable with it, I have asked that he includes the code and all objects as part of the Aurora examples.
I made sure that how I programmed it would be easy enough to follow, I didn't create it using OOP style classes or inheritance, its a straight forward single source file.
1490 lines of code.

I have included sound files, the bmp files that I used to create the game with, and of course, the code.
There probably is bugs in it that I am not aware of.
Its something I wanted to make for everyone who purchases / owns the compiler so they have another basic game example.
Thats the idea anyway.

The funny thing is, that the game is writting and working on the HUD. The 3DSprite system on the 3D engine is written to support static objects for HUG and menu systems, I kind of went overboard by writing the game. Funny thing that, you can still use the 3d space behind the game to do what ever you want.

I'll probably take a closer look at the real 2d engine in the next day or so and look at converting the game to also work in the 2d space and use Pauls built in collision system for more accurate pixel perfect collision detection along with other neat things.

I just hope everyone enjoys it and can get a use out of it.

J B Wood (Zumwalt)

And the most recent addition.. John S's planets in the background playing in 3d space while you kill invaders on the 3dSprite surface :)
(Yes the sun rotates, and the planet rotates around the sun, and the moon rotates around the planet, thanks John)
It doesn't get much cooler than this.. ok.. well.. once I fix the sound that is :)

J B Wood (Zumwalt)

Latest update uploaded.
Now I am back to trying to conentrate on fixing the sound.
Download it and check out John's planet rotating around the sun.

John S

Looks and works pretty good.  The planet and moon's movement adds a little pazzaz to the game
and sometimes makes me fire at the wrong time;)

Try changing the camera angle so that the planet and moon's orbits will look elliptical and be a little more interesting. 
Add a little more delay between levels to allow for the "WonLevel.wav" sound to play.

Great work!
John Siino, Advanced Engineering Services and Software

Steven Picard

I haven't tried the new version with the new background yet but I will tonight.

J B Wood (Zumwalt)

Thanks John, I'll look into the changes.
Been thinking about adding a mid level thing like a fading text gig or something to slow down level alterations.
If you hold down the space bar you will fire a shot every half a second to second in speed, but you only got 5 shots to cycle through.
I am glad you like it, hope you like it to Steven :)
I totally like the idea of the 3d backdrop, its sooo much easier and takes up alot less room than trying to build into the game dozens of random backdrops, I can just play with the 3d scene to get different effects per level if I wanted.