Ninja Vikings with Claws (an indie game developer founded by myself and other students on my course) has started work on a modification of Valve’s freely available co-operative shooter Alien Swarm, and I’ve decided to document the development process.
Codenamed Alienus Effervo (three guesses were we got the name from) the mod’s raison d’être is to add RTS-inspired base-building to the game and shift gameplay to be heavily defence-focussed, with optional offensive rushes to acquire new materials and push back swarms at their source(s).
The aim of each level is to activate a special device that is capable of repelling all aliens in the vicinity. These devices are initially dormant, though, so it’s up to players to defend them until they become active. Players must fend off waves of incoming aliens with both conventional weapons and deployable structures.
Day 1 – Getting Started
- Settled on the basic premise for the mod
- Setup the initial project to work with Visual Studio 2010
- Setup Subversion (SVN) hosting at Unfuddle (using VisualSVN)
2. This proved a little irksome so I’ll run through the process. After running the Swarm SDK Create a Mod wizard follow the ‘Setting up the solution’ instructions found here. Then use Compiling under VS2010 to fix an “invalid characters in path” bug and enable debug compilation by following the ‘Debugging’ steps.
Now jump back to this page and follow the remaining instructions for ‘Building and testing your mod’ and/or ‘Setting up Visual Studio for debugging’. Now you can run your mod in debug mode or straight through Steam!
Day 2 – Design++
- Refined the game design, started a design document
- Fixed a roster/character selection screen bug
1. Gameplay flow: Broken down into two flexible phases: a “setup phase” and an “action phase”.
During the setup phase an on-screen timer will indicate when the next massive waves of aliens is to descend. Before this timer runs out players must build structures (walls, dispensers, turrets, and so on) and head out into the level to collect resources (required for building) by mining and activating drilling platforms.
Levels will also contain optional objectives, such as destroying alien nests to minimise the number of aliens that will partake in the next attack wave. Players must be careful to balance how far they venture out into each level and how much time they spend mining, or risk leaving their base/alien-repelling device unprotected.
2. The game compiled fine, but text was displaying incorrectly (“asw_name_sarge” rather than “Sarge”, etc.) and the game crashed when selecting certain characters. Debugging revealed the problem to be language localisation code looking for an incorrectly named file and returning null references.
‘closecaption_english.txt’ in ‘alien swarm/swarm/resource/’ is what the code wants, but the same file in our mod’s equivalent directory was named ‘Alienus Effervo_english.txt’ by the ‘Create a Mod’ wizard. A simple rename fixed the problem, but we’re hoping someone can shed some extra light on the error.