The Starfield

Getting Started

The topics in this section will help you install all of the required tools, become familiar with the test environment, and create your first Starfield plugin.

Clone the Repo

Clone or download the master branch

Requirements

Building Solutions

Get the Simulator

Download the simulator

After running the executable, press Play! and use the configuration panel to generate the Starfield size that you want to interract with.

Simulator Config

You can move the camera around in the Simulator with WASD keys.

Running the Demo

While the Simulator is running, start the demo.

  1. Open solution starfield\controllers\AlgorithmDemo\AlgorithmDemo.sln
  2. Switch project configuration to Release mode
  3. Build solution
  4. Run solution
  5. Choose a Starfield (Critical NW Starfield)
  6. Choose an algorithm (Smooth Rainbow Simplex Noise)

Demo Config

Testing the Client and Server

TBD

Anatomy of an Algorithm

Starfield algorithms are included in the solution starfield\controllers\StarfieldDrivers\StarfieldDrivers.sln

Let’s start with a simple example: TestFill.

    [DriverType(DriverTypes.Experimental)]
    public class TestFill : IStarfieldDriver
    {
    	...
    }

TestFill implements the IStarfieldDriver interface.

    public interface IStarfieldDriver
    {
        void Render(StarfieldModel Starfield);

        void Start(StarfieldModel Starfield);

        void Stop();
    }

You can read the IStarfieldDriver documentation. Then take a look at the source of starfield\controllers\StarfieldDrivers\StarfieldDrivers\Test\TestFill.cs

How to Write a Starfield Plugin

Contributing directly to the Starfield project.

  1. Open solution starfield\controllers\StarfieldDrivers\StarfieldDrivers.sln
  2. Add your new class to one of the categories or create your own category (namespace)
    • Animation
    • CFD
    • Flocking
    • Fractal
    • Noise
    • PresenceResponsive
    • Projection
    • Sound Responsive
    • Test
  3. Implement IStarfieldDriver
  4. Build the project

Create your own Starfield algorithm project. This will allow you to compile a binary library (dll) and include it with an existing Starfield implemenation.

  1. Start a new solution
  2. Make sure you can build the solution
  3. Add a reference to starfield/controllers/bin/Starfield.dll
  4. Optionally add a reference to starfield/controllers/bin/Utils.dll if you need extended math features

Running the Simulator Over the Network

TBD

Documentation

Contributing

If you would like to contribute to this guide or the API documentation follow these steps…

This guide

  1. Pull or fork the master branch
  2. Set up Jekyll. You’ll need Ruby. Don’t forget to bundle.
  3. Run the local server jekyll serve from starfield/docs
  4. Browse your local server https://localhost:4000/starfield/ :warning: The trailing slash is important
  5. Make edits
  6. Commit changes
  7. Make a pull request

API Docs

  1. Pull or fork the master branch
  2. Make sure you can build the solution
  3. TBD

Need help with Markdown? Basic writing and formatting syntax