I’ve just finished the basic version of the particle system preview in Nordenfelt. This new mode is for dev purposes only and just can show predefined particle effects. They can be altered in any external XML editor while the preview is running. A mouse click creates a particle effect at the cursor and a context menu allows to change the active particle system type and background color:
I wanted to keep this stuff as simple as possible. Visual feedback is imperative when you want to create particle systems that don’t suck. The shortest path here was to build the preview into the game. It’s primitive but it works – just like me.
The video was made with Screenr so its quality is rather bad. I don’t know if Screenr or my workstation has to be blamed. I just wanted to test this video recording service. Nevertheless, the choppy video should give you an idea what the preview mode is all about.
The release of Nordenfelt 0.2 was well received and got nice feedback. There were many feature suggestions and questions if the game will have feature X or support Y. I’ve caught myself answering the same questions over and over again. Therefore I’ve decided to compile a FAQ list about Nordenfelt. You can read it here or find its link in the site’s main menu in the top right corner.
This is the initial list of frequently asked questions:
Which features will Nordenfelt have?
It’s a Shoot ‘em Up
… where you are going to shoot steampunkish vehicles and machinery.
Arcade Mode
This is the well known quest through a series of levels shooting planes, tanks, ships and other vehicles. A boss will await you at the end of each level. Upgrades and goodies will improve your ship throughout the flight.
Adventure Mode
This mode has a deeper game play depth regarding equipment and missions. You will have a hangar full of air ships with various equipment, an R&D section and strategical missions with different goals.
Which platforms will you support?
Windows XP and higher.
What are the minimum requirements?
You won’t need a high end gaming machine for playing Nordenfelt:
1Ghz single core
1024×768 screen resolution
128MB RAM
64MB video RAM
~200MB free HDD
Will Nordenfelt be freeware?
No, it will be shareware. A free demo version will be available for download. If you like it I would be happy if you consider buying the full game.
How much will the full game cost?
The price will lie between 10$ and 30$. The final price is still a point at issue.
Release date?
Second quarter 2011.
Which engine do you use?
A homebrewn one. I’m just using a few free libraries like SFML or BOOST as foundation.
For me the most surprising fact was that it was totally unclear that Nordenfelt won’t be free. It’s an understandable assumption due to the sheer amount of free stuff on the internet. Nonetheless I have to make a living from it. Quality will have to legitimate the price tag. So I’m going for it.
After collecting all feedback from version 0.1 the first point on the todo list became including upgrades in the arcade mode. That sounded simple. I added a new upgrade object type and integrated it into the collision detection system. Here the first problem popped up: Physical shapes were still represented as polygons, upgrade icons were going to be circular. There was a big “TODO: replace polygons with circles” in the code. OK, let’s replace the polygons with circles. I will have to do it anyway. The avalanche started sliding.
While refactoring the collision code and adapting file formats the latter became painful work. The data formats were simple sequences of numeric values. E.g. a 2D vector was just a pair of numbers and a circle was a 2D vector followed by the circle its radius. The lack of meta data within the files, declaring the meanings of the values, forced me to always reference the corresponding loading source code. That was cumbersome so it was time for the next refactoring step: replacing the old file formats with XML. Next job in the refactoring queue.
The newly integrated upgrades had to load their data from files. They needed sprites, animations and body shapes. The third refactoring job accelerated the avalanche. Hey, I just wanted to upgrade my guns! Oh, wait a minute… equipment needs new upgrade definitions, weapons will have different shoot layouts. Dammit! Next job enqueued!
After two weeks refactoring the hell out of the game all viral tasks were finished. It’s a good feeling that the Nordenfelt engine now has proper data formats, a faster collision detection and upgradable equipment. Now I can go on with the funnier things.
For example modelling the player ship.
The Arcade Player Ship
The poll for your favourite player ship design sketches elected concept G as winner:
Today I’ve made this 3D model from the sketch above. It is not finished yet. Details like plates, frames or rivets are still missing:
Basic 3D model of winner concept
IMO concept G is a good choice. It meets the shmup guidelines (AFAIK them), looks steampunky enough and has two Gatling guns! What would our world be without Gatling guns?
The last few days were designated to the controls of Nordenfelt. I’ve but some sweat into the mouse and keyboard “drivers” because they make or break a game. Especially action games rely on immediate input processing and comfortable control layouts. The control layout was the most important reason for the input system update. Future versions of the game (OK, maybe not 0.2) will provide arbitrary key/button/axis mapping. You will be able to configure your own input layout and save it.
Examples:
move = WASD, fire = CTRL
move = cursor keys, fire = left mouse button
move = joystick axis X/Y, fire = any joystick button
move = IJKL, fire right mouse button (for all lefties out there!)
move = 4 joystick buttons, fire = joystick up
…
Some people mentioned the rollover problem I did not know before. I thought my keyboard driver was guilty for not working diagonal moves while shooting. This problem should be gone now.
The input system passed all tests and the silhouette of version 0.2 appears on the horizon. Coming days will be used for including some new stuff and working through the feedback list. Many thanks at this point to all of you who passed some info back to me. Keep this going!