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
- Visual Studio Community or Pro editions
Building Solutions
- Open solution starfield\lib.NET\StarfieldLibs.sln
- Switch project configuration to Release mode
- Build solution
- You should see this:
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
- Open solution starfield\controllers\StarfieldDrivers\StarfieldDrivers.sln
- Switch project configuration to Release mode
- Build solution
- You should see this:
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
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.
You can move the camera around in the Simulator with WASD keys.
Running the Demo
While the Simulator is running, start the demo.
- Open solution starfield\controllers\AlgorithmDemo\AlgorithmDemo.sln
- Switch project configuration to Release mode
- Build solution
- Run solution
- Choose a Starfield (Critical NW Starfield)
- Choose an algorithm (Smooth Rainbow Simplex Noise)
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.
- Open solution starfield\controllers\StarfieldDrivers\StarfieldDrivers.sln
- 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
- Implement IStarfieldDriver
- 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.
- Start a new solution
- Make sure you can build the solution
- Add a reference to starfield/controllers/bin/Starfield.dll
- 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
- Pull or fork the master branch
-
Set up Jekyll. You’ll need Ruby. Don’t forget to
bundle
. - Run the local server
jekyll serve
fromstarfield/docs
- Browse your local server
https://localhost:4000/starfield/
The trailing slash is important - Make edits
- Commit changes
- Make a pull request
API Docs
- Pull or fork the master branch
- Make sure you can build the solution
- TBD
Need help with Markdown? Basic writing and formatting syntax