Well, after two years with no new posts and no new code, I think it’s time to declare this project dead.
I switched to GNU/linux and FreeBSD a while back and I use my Windows box as a console with a mouse and keyboard exclusively.
I also learned a few new things about programming thus I would prefer to do a fresh start over a major refactoring/redesign of the actual code. Which code I could release (even if I’m a bit ashamed about it.) along with the last binary version ( because I doubt anyone would be brave enough to try compiling the project with all these old dependencies.).
Sorry to you Grale, Anthony, Brendan, Herbert, Knuckles and anyone waiting for a new release. It was nice to see I wasn’t the only Lander fan on earth.
That said, it’s not impossible that I reboot this project one day or another. I’m not giving up on the idea to make a game with the Psygnosis Lander gameplay. I replay Lander periodically and each time I feel the need for this experience in brand new levels. As we all do, I guess.
I’m somewhat obsessed by procedural generation for levels (mainly interiors) for Hopper. Just tried another idea which turned out to be… not so easy. Here are screenshots of this experiment :
Well, yes, it’s just a tunnel. The idea was to use agents which would make decisions on the size (and shape) of each tunnel section. Smart agents would be aware whether they were generating rooms or not and would be able to spawn other agents here and there. They would also try to generate small rooms for physics-based doors.
There’s a few problems to solve, though :
*) A structure to avoid inter-penetration. (octree ? bounding box list ? )
*) Shape of “holes”, which are the starting “face” for a new agent.
*) Object placement.
*) Better turns ( pivot or smooth )
*) Texture mapping ( + decals ? )
*) Switching from hexagonal section to octogonal (or pentagonal or square) sections or the other way around.
etc…
Another idea for level generation would be to use CSG ( Constructive Solid Geometry ) : Carving rooms into big cubes and keeping only the “interior” faces.
This is still in development, for the pleasure of the 3 Lander fans on earth !
Here’s a new video with currently implemented stuff :
As you can guess, there’s actually 2 game modes ( Landing and Racing ). I think I had to add a timer for each of these modes, along with an “all of fame” screen of some sort, as a bare minimum.
That said, I am thinking for a long time about procedurally generated content and a next step would be to generate terrains then landing pad placements for the Landing mode, and gates placement for the racing mode.
I also implemented a tractor beam, which opens a variety of new small game modes. I’m thinking about a “tidy up your bedroom” mode in which the goal would be to pick objects scattered around the terrain and drop them into a box.
These tiny game modes on open terrains are fun but for how long ?
Once you master the ship handling, the fun factor is decreasing drastically.
When the guys at Psygnosis designed Lander, they choose that most of the gameplay takes place inside underground bases. Which is clearly much more hard and thus interesting.
This is why I began working on a 3D dungeon generator :
All these ideas are great but what about those who want to try it now ?
There’s still nothing to download !
I will try my best to release ASAP a downloadable alpha version.
I should have done this before, but, well, it’s never too late to follow the “release early, release often” rule, huh ?
Hopper is using Ogre as its graphics engine, ode for physics, OpenAL for sounds and SQlite as a database.
At the start of the project I wrote a framework using Ogre and integrating the other components. As I am doing something like extreme programming ( as far as I understood it ), everything was more or less refactored when needed. With a working version after any modification.
This is what I am doing these days : heavy refactoring and moderate additions.
I modified the Input Management, and implemented the input configuration : now joysticks, mouse, or keys can be used to control the ship !
Preparing for other stuff like video configuration inside the game instead of keeping the Ogre default way to do this ( a dialog box appearing each time the game is started ), I made my own configuration file management class.
Also, I rewrote my own GUI instead of using a hacked mini-GUI wrote by someone else.
So next, I will have to integrate these things into the project.