Category Archives: Games

Sol Survivor – Original Level Scripts

You can download here the script files that we used to create all of the levels in Sol Survivor!  

Sol Survivor Editor – Layout

This article will help you in creating the layout of a level in the Sol Survivor Editor.  If you need help getting started, check out the previous Getting Started post.

Terrain Generation

The Sol Survivor Editor uses rather unique terrain sculpting system.  The Terrain is random, but you still have some controls to get it to behave how you want.  We are going to start with Terrain Generation.  

Terrain Generation

The terrain panel gives you the ability to create Terrain Nodes which push and pull at the terrain to create features where you want them.  It also allows you to modify the generation parameters for the random terrain.  Lets take a look at what each of these controls do:

Terrain Node Controls

  • Terrain Node – Create: Clicking creates a new terrain node under the mouse.
  • Terrain Node – Remove: Clicking removes the terrain node your mouse is closest to (be careful!)
  • Terrain Node – Move: Click and drag to move the terrain node your mouse is closest to
  • Terrain Node – Elevate: Click and drag up and down to change the altitude of the terrain node.  This will push and pull the terrain at this spot.
  • Terrain Node – Resize: Click and drag up and down to change the radius of the terrain node.  This will cause the node to influence more or less area.

Terrain Generation Properties 

  • Seed: Changes the starting point of the random generation.  Change this until you find a starting point you like.  A given seed will always produce the same result.
  • Scale: How high the mountains go.
  • Offset: Where the water line is – you probably will not need to change this unless your level drops deep into the ground.
  • Canyonism: Tweaks the slope of the hills and mountains.  Ranges between 0 and 1.
  • Smoothing: Higher values smooth out the terrain… Ranges between 0 and 5
  • Frequency: This changes the size of the features in the terrain.  Use 2 or 3 for rolling hills and 4 or 5 for rocky mountains.  

Interactivity: these affect how low the camera can go and the minimum altitude for turrets.   You probably don't need to change these.

Note that you will need to press the Generate button on the Viewer below these controls sometimes to get your changes to take effect (because the tool behaves wonky).  The following is a quick sample:

Sample Terrain generated in the Sol Survivor Editor

For the purposes of this example, I used the Terrain Node Controls to create two large Terrain Nodes and used them to create a mountain where there was not one before:

Path Layout

Now, lets look at how to create the path that the Creeps will run down.  The path or roads carve themselves into the terrain, so you don't have to worry about getting the terrain perfect.

Path Node Controls

  • Path Node – Select: Clicking selects a path node so you can change it's properties.
  • Path Node – Create: Clicking creates a new path node under the mouse.
  • Path Node – Remove: Clicking removes the path node your mouse is closest to (be careful!)
  • Path Node – Extend: Click to add a new path node from the last selected one.
  • Path Node – Link: Click on one and then a second node to link them together.  Use this to join paths.
  • PathNode – Unlink: Click one node and then a second node to unlink them.  use this to un-join paths.
  • Path Node – Move: Click and drag to move the path node your mouse is closest to
  • Path Node – Elevate: Click and drag up and down to change the altitude of the path node. 
  • Path Node – Resize: Click and drag up and down to change the radius of the path node.  The path turns red when it is too small for the creeps to fit down it.


Path Node Properties

  • Type: One of: [None, Spawn, Colony].  Enemies will spawn from the Spawn Nodes and will move downstream of the path toward Colony Nodes.  You will see the Node change when you change this property.
  • Code: This is used if want to have creeps from different spawn points use the same path and then turn at different links.
  • Player: The player index in multiplayer who is responsible for these creeps
  • Block Building: Turrets cannot be placed on this path if true.
  • Link: Allows you to set conditions for when creeps turn from one link or another
  • Dropship Angles: make sure the dropships don't go through a mountain.

Sol Survivor Editor- Getting Started

The Sol Survivor Editor FAQ is a work in progress.  I am posting this Getting Started guide to help people dive in.  If you have questions, please post them in the Steam Forums and I will reply there and update this post.

Getting Started

1. Locate Improv.exe in the Steam Game Directory

Locate the new Improv.exe editor file in the Steam Game Directory

2. From the Entities Box, right click on the SolSurvivorEditor project and select Add New Entity

 Select the SolSurvivorEditor project and create a new Level Entity

3. Name your new level, don't use any special case characters

Name your level

4. Double click the level in the Entities list to open the Level Editor

Setting up your Level

Setting basic properties of a level

  1. Change the Environment type to one of the four possible choices.  The Terrain will not generate under the Layout Tab until an Environment is selected.
  2. Choose a Game Mode.
    • Survival and Wars do not require that you setup any Waves
    • All other game modes need you to setup the Waves that will attack the player in the Waves Tab
  3. Don't forget to give yourself Starting Mass.  I suggest 100 as a starting point.
  4. Change the Name and Description fields to make your level recognizable.
    • I suggest adding a text version like Spiral Doughnut v1.0

Playing your Level

  • Once you have layed out a level, you can play it by Exporting it.  
    • Press the Export button on the Properties Tab.  
    • The level will be copied to your Custom Maps directory (located in %APPDATA%\SolSurvivor\Maps\).  
  • Now start up Sol Survivor, create a Multiplayer game of the GameMode that you setup in the Properites Tab and your level will appear on the Dropdown.
  • Each time you press Export, it will create a unique Versioned level file.  
    • I suggest changing the name and description each time you export so you don't get them confused.
    • You can press the Delete Previous Versions button to delete all previous versions.  This does not delete your level, only the Exported copies.


The next step

Check out the next step: Layout on the next blog.

Enter the Oculus Rift


The excitement for the long awaited arrival of inexpensive Virtual Reality has been growing since the success of the Oculus Rift Kickstarter. Cadenza was one of the backers, and I've been experimenting with a Rift development unit for about a month now. It presents a fantastic view into game worlds, complete with a new set of challenges to overcome.

The quality of the Rift device itself is very high for a development unit. It's origins as a cell phone screen taped to ski goggles is still apparent, but the solid plastic frame and quick setup go a long way to communicate that Oculus is serious about putting these in the hands of gamers. Importantly, it's comfortable to wear and can be used with headphones. The Rift is so lightweight that it's barely noticeable. Though after extended use and one's neck is beginning to feel the extra effort of looking around, it's understandable why Oculus is working to shave off grams.

The most noticeable limitation is the low resolution. Spreading 720p over a wide field of view results in very large pixels. Oculus has already demonstrated a 1080p version at E3 this year, so it's really only a concern with these early units. The combination of low latency sensors and some fancy math behind the scenes results in very convincing head tracking. Testing on demos that poorly scale the view or buffer frames has brought on some motion sickness in minutes. But I've been able to play for hours in games with proper care given to their Rift integration. Experimenting with new demos can feel a bit like astronaut training.

The SDK comes complete with source code and samples. Simple games could get up and running with the Rift in hours, while more complex games will require more effort to integrate. I'll go into detail on how we added Oculus Rift support to Retrovirus in the next post.

Patch v1.9.0 (July 2013)

- Added level editor Improv.exe to the game folder.
- Added auto-downloading of maps in multiplayer.
- Added launcher with recent news.