Pixel Vision 8's SDK is open source, allowing anyone to build authentic 8-bit C# games with it. Developers can use the SDK in any game engine that supports C# such as Unity, MonoGame or even lower-level rendering engines such as OpenTK.
Clone or download

README.md

Pixel Vision 8 SDK

Pixel Vision 8's SDK is open source, allowing anyone to build authentic 8-bit C# games with it. Developers can use the SDK in any game engine that supports C# such as Unity or MonoGame. Pixel Vision 8's SDK also integrates with lower-level rendering engines such as OpenTK. Finally, there is a collection of demo games, extensive documentation, and examples for building both a UnityRunner or a MonoGame Runner which show off how to use the SDK for your games.

What is Pixel Vision 8

PV8's core philosophy is to teach retro game development with streamlined workflows. It enables designing games around limited resolutions, colors, sprites, sound and memory. It is ideal for game jams, prototyping ideas or having fun.

Pixel Vision 8 is also a platform that standardizes 8-bit fantasy console limitations. Developers can customize these restrictions to match actual legacy hardware or create something new. The challenge of working within these confines forces creativity and limits scope. Pixel Vision 8 creations are expressions of ingenuity that rise above their limitations.

Features

Pixel Vision 8’s SDK contains a collection of components called Chips. Each Chip shares an API and base class to standardize their lifecycle. A central ChipManager handles activating, updating and rendering them. Here is a list of the standard chips included with the SDK:

  • ColorChip - Manages system colors

  • Display - Renders pixel data.

  • Font - Renders sprite based fonts.

  • GameChip - A game's base class.

  • MusicChip - A sequencer for playing back music.

  • ScreenBufferChip - Caches sprites for tilemaps and fonts.

  • SoundChip - A sound effect manager.

  • SpriteChip - Manages sprites in memory.

  • TileMap - Drawing sprites into the ScreenBufferChip.

The engine is completely modular allowing you to extend these Chips to add new functionality or create your own from the base classes and interfaces provided.

Documentation

Pixel Vision 8 SDK is cleanly architected and well commented. Along with a straightforward set of APIs, there is extensive documentation on how to get started, deep dives into the engine's code and how to build each of the demos from scratch. More documentation is on the way to cover how to extend the core system, create custom Chips and create runners for different platforms.

Demo Resources

The Demo project contains examples of how to use the Pixel Vision 8 SDK APIs. Each demo highlights a specific aspect of the engine and shows off use cases for drawing sprites, capturing input, working with tilemaps and more. These demos are in both the Unity and MonoGame Runner example projects as git submodules. In addition to the pure C# code examples inside of the Scripts folder, there are also Lua examples inside of the Resources/LuaScripts folder. Lua games can be loaded at runtime and offer an alternative way to write PV8 games. These games require a special Lua Bridge included in both Runner projects.

The last thing to mention is that you may need to configure the included artwork based on the platform you are using. The Unity and MonoGame Runner projects readme files explain how to do this.

Credits

Pixel Vision 8 was created by Jesse Freeman (@jessefreeman) in collaboration with Pedro Medeiros (@saint11) for art and Christer Kaitila (@McFunkypants) for music. With additional coding contributions by Shawn Rakowski (@shwany).

License

Licensed under the Microsoft Public License (MS-PL) License. See LICENSE file in the project root for full license information.

Pixel Vision 8 is Copyright (c) 2017 Jesse Freeman. All rights reserved.