3D Alien Shooter Game

Hi everybody!

I’d like to have some feedback for my game “Alien Shooter”. You control a cannon that
can turn around 360 degrees and move up+down using the mouse. The left mouse button fires
rockets and the goal is to hit at least as many enemies as announced at level start.

http://www.3dcoding.de/cms/sites/www.3dcoding.de/files/images/screenshot_intro2.preview.png

Currently, as this is WIP, there is only one type of enemies and the game only contains
5 levels currently.

Using the ESC key you can enter a pause mode in the game - then the mouse will be
released, as well. Don’t worry - the mouse is only captured when the actual game
is running, I’ve tried to make this as convenient as possible.

Its a Web Start application and the link to the JNLP file is on the following page
directly beyond the screen shot:

http://www.3dcoding.de/cms/de/content/preview-release-des-alien-shooters

You’ll need Java 6 and an OpenGL 2.0 driver in your system to run this game!

Please have a test drive and tell me about things you like or dislike. And, of course,
please tell me if something does not work at all.

Thank you!
Stefan


Some additionial hints: You can open and close a console window by hitting the ‘^’ key. The
console can be scrolled using page up/down and even supports completion assistance using
the Tab key as well as a command histoy.

There are some commands that may be helpful:

[tr][td]dump_timer[/td][td]Shows all registered timers and their current values[/td][/tr]
[tr][td]quit[/td][td]Exits the game[/td][/tr]
[tr][td]d_draw_perf_infos 1[/td][td]Shows performance graphs (ms per frame and FPS)[/td][/tr]
[tr][td]d_draw_statistics 1[/td][td]Shows some statistical data (triangles, FPS, caches etc.)[/td][/tr]
[tr][td]d_draw_boundingspheres 1[/td][td]Draws the bounding sphere for all object in the scene tree[/td][/tr]

Lots of the other vars don’t have an effect since these features not used in the
game (e.g. skinning and terrain rendering).

If an error pops up, you can habe a look into the alienshooter.log that you’ll find in
your home directory.

That was fun :slight_smile:
Could not pass lvl 3, the ufos fly by too fast for my taste in lvl3.
And the bonus for accuracy is maybe too low:
100% accuracy = shooting 0.1 ufo (IIRC)

Hit 100% on the third level :slight_smile: (tip, they all fly through the same point in the beginning, just unleash everything in that point and you’re done ;))

4th level didn’t go as well.

Was fun, maybe add something you can buy for the points (three shot rockets, instant lasers, slowdowns and so on).

Hi!

Thanks for the replies - it seems the game does not have any major technical problems as everybody was able to run and
play it - thats very good.

@Hansdampf: You get 1 point for each percent of your accuracy… but if you have more than 70 percent you’ll get 2000 Points at once as a bonus. I added the 1 point per percent just to show the player that the game respects accuracy at all.

@Mickelikas: I’m planning to add some powerups that the Ufos drop as a loot when they’re killed - you have to shoot the loot to get it. To keep players to just fire multiple rockets to an enemy to always get the loot, there will be some items that will have a negative effect. So players will have to watch what was dropped and then shoot again to get it :wink:

I’ll also add some more enemy types: Ones that need more than one shot to be killed, enemies that accelerate or make turns on their way, ones that split into two distinct enemies when shot and maybe even some airplanes with humans in it - these will give you a huge penality if you shoot them…

It’s really exciting… so much ideas… lets see where it gets…

Greetings and thanks for testing!
Stefan

this is a fun addictive game! this is sure a keeper. If you want to expand you could make you turret able to move. but that would kinda change the genre.

Hi!

I cannot test this game. Why is an OpenGL 2.0 driver required? Can you make an effort to support older OpenGL versions? I don’t understand, I have seen more complicated games compatible with OpenGL 1.5 and even OpenGL 1.3.

Hi gouessej!

Yes, you are right - the requirements could be lowered for this particular game. Currently I am using shaders to render the game logo and the simple lighting on the other characters. This could be done using standard OpenGL lighting. But Shaders will be used much more in future releases of the game, so OpenGL 2.0 is the minimum requirement here. The engine already supports hardware skinning, for example, which is done using vertex shaders as well.
So for this particular game you are right… but this is just a preview yet and the full game will definitely require OpenGL 2.0.

Greetings
Stefan

However, you could disable fancy effects requiring OpenGL 2 on old graphics cards, it would be better than nothing. Which engine do you use? Your own engine? Maybe build-in features provide some replacement code when shaders are not available.

Yes, its my own engine - I think I’ll have a try and do simpler effects with “standard” techniques when shaders are not available. That shouldn’t be too difficult to implement…

BTW: Do you know a good overview or table that explains the features of every OpenGL version and which extensions are contained in an OpenGL version? I couldn’t find any good information on this yet…

Greetings
Stefan

Personally, I use the “man” under Linux, I check each OpenGL C method, you can look at it on the web too:
http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/

For example, glPolygonOffset:

[quote]NOTES
glPolygonOffset is available only if the GL version is 1.1
or greater.
[/quote]

This is actually pretty fun. I was expecting the positive comments to mean “good job as a starter, though it needs work to be a good game” but I did rather enjoy this. Very slick, runs smoothly, and presents a significant but not insurmountable challenge.

Anyway, I got through level 3 the first time, beat all 8 levels the second time, at which point I realized I actually beat all 5 levels and it was cycling. Man I thought I doing really well until I realized that =P

Keep it up :slight_smile: