Home 3D Art Showcase & Critiques

Sparc game development

zet
zet
I've been working on Sparc for the new Luxinia .97 release that is hopefully uploaded today.
I uploaded some youtube videos and also made some wip screenshots, thought I could pimp that progress here laugh.gif

Sparc stands for Space Arcade and is just a working title.
The original version looked like this:
sparc4_t.jpg

That version had a static image background and a simple hit detection, but no real physics.

Since we (Crazybutcher and me)wanted to pimp more engine features, we decided to rewrite the whole thing instead of porting the old version to the new release code (which could have been done in a few hours, maybe a day - the lua code was pretty ugly).
I've started doing a mapeditor which allowed placing billboards and stuff so that the level was no longer autgenerated:
20070916134057_03276-t.jpg
That was done two weeks ago and I made a small testmap.
(before doing that, I assembled a small physics testbed, but in front of a black screen, that looked pretty boring)

Monday-Tuesday:

I started then to implement the gameloader, which recreated the map from the map editor. The gameplay physics is using ODE for simulating everything. This has the advantage, that objects can interact in a more realistic way and all the collision detection just by using the default API calls, which is pretty simple. After inserting the player and adding keyboard commands to steer and shoot, it looked like this then (Crazybutcher had also commited some postfx code to add some glow already):
sparcboom1.jpg
Basically, I could shoot ships then and make them explode.
I imported the old particle scripts from the previous version, so I just had to tweak them a bit:
sparcboom2.jpg
I also made a youtube video when I realized that I made a mistake on the shoot-delay, which actually made the laser gun a machine gun (also, the ships didn't explode at that point):
http://www.youtube.com/watch?v=ahhqYaGRQHM


Wendsday:

I tweaked the explosions still a bit and made another youtube video:
http://www.youtube.com/watch?v=BHVRLJqkTvA
The player had just one "hardcoded" weapon which drained energy from the ship. Together with the reload time for the shooting, it is much more effective to shoot small bursts instead of holding down the shooting key forever (like in most arcade games, which annoys me a bit).

I wanted to let the ships drop items, but I realized that collecting those items was pretty complicated since the ship and the items are pretty small. I also had no idea what thos items should do, but now they count as score and are used for ammunition for the secundary weapon.
Because it was too complicated, I had the idea to use a tractorbeam for collecting the stuff:
sparc3-t.jpg
I also made a youtube video on that:
http://www.youtube.com/watch?v=a2UCiV24roM
The difficulty here is now, that if the items are attracted while the ship moves, they are orbiting around the ship, eventually losing them again if they speed up too fast. Since the laser shots are absorbed by the items, they can also disturbing while shooting (though they also offer a bit of protection).

Thursday-Sunday
Somewhere in between, Crazybutcher submitted some code that added another post effect, which caused the explosions to distort the environment.
I also needed to clean up some code and allow and integrated the map editor more tightly - I could switch then between the editor and the game (though I restart the game then). It also gave me some headaches to implement another weapontype. I had a story in mind and added an entity type to the mapeditor which allows to load lua code when the player reaches a certain point. That allowed me to show up messages and implementing additional game features on the fly while moving through the level. Making a story based arcade shooter is quite simple now: just make the messages appear when a point is reached and that is nearly everything what is needed for doing that. I embeded a small storyline and thought about making a weapon upgrade menu where the player could trade in his collected items for additional addons / upgrades, but this was discarded because that would have required too much time to implement.
In the end, I just added the old "bomb" as secondary weapon. We discussed also different weapon types (which i.e. could attract items and shoot them against enemies), but due to time reasons, all this stuff was discarded. Nevertheless, this also took some time.
On saturday I wrote the GUI code:
sparc97-5t.png

Then I also added the sound and joystick support. The final gameplay can be viewed again on youtube (without sound):
http://www.youtube.com/watch?v=-aDk6EWZvNY

Or be tried out downloading our new .97 release at:
http://www.luxinia.de/index.php/Main/Download
Hope it works fine.

Looking forward:
I would like to extend the game to implement a storyline and a set of different levels (currently just one) which the player can travel to. Of course that would require much more work on the artwork - more ships, more weapon effects, more background graphics. For this time, I just took the old assets and added only a few new textures and other models. All that stuff would make the development last much longer - this "oneweek" development was just achieved because we already had the assets ready to use.

Replies

  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    actually we just found a show-stopping bug :/ bbl
  • Joao Sapiro
    Offline / Send Message
    Joao Sapiro sublime tool
    looks really good man, i love this type of lil games with spaceships n upgrades , wanting one since trillian....i will download this and try smile.gif
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    fixed files up, but website down, brilliant wink.gif well we will see how long host needs to fix their stuff...

    anyway it is just a very tiny demo of what could be done / will come some day. Mostly we had to stop tweaking on it to not delay the release further, which basically was me trying to stop Zet's boosters smile.gif

    the new release of lux features lots of internal changes, as well as plenty new stuff to play with, especially render-to-texture capabilities were enhanced (mrt, float 16/32 targets..), and for complex effects one can program the renderloops a bit more detailed, still we try to hide actual hardcore details as much as possible and make it more convenient to use wink.gif

    editor outtake
    sparc97-edi0_c.jpg
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Did you guys change how you render a simple scene? Im using some older code from version 095 for a new project but im getting the "hall of mirrors" effect on the cursor and stuff, and cant seem to get 3d geometry to show up. Do you have to call a render function at the end of your game loop now?
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    nope its a bit different, you must setup a renderqueue for the l3dview

    "view = UtilFunctions.simplerenderqueue()" will do the job, Zet also wrote plenty new http://www.luxinia.de/index.php/Tutorials/Tutorials
Sign In or Register to comment.