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
Sparc stands for Space Arcade and is just a working title.
The original version looked like this:
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:
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):
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:
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:
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:
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
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
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
editor outtake
"view = UtilFunctions.simplerenderqueue()" will do the job, Zet also wrote plenty new http://www.luxinia.de/index.php/Tutorials/Tutorials