/openbor

OpenBOR Engine for Sega Dreamcast

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

OpenBOR Engine for Sega Dreamcast

OpenBOR is a royalty free sprite based side scrolling gaming engine, based on the source code of the Beats of Rage game published by Senile Team back in 2004. Beats of Rage is an open-source 2D customisable video game engine inspired by Sega's classic Streets of Rage series of beat'em up games.

From humble beginnings, OpenBOR Engine has since grown into the most versatile, easy to use, and powerful engine of its type you will find anywhere. OpenBOR is optimized for side scrolling beat em’ up style games (Double Dragon, Streets of Rage, Final Fight...), but easily accommodates any sort of gameplay style and feature set you can imagine.

This repository contains the last version supporting the Sega Dreamcast platform. The current version of the OpenBOR Engine is available here.

Introduction

In 2004, Senile Team released Beats of Rage, a free beat-'em-up for DOS inspired by Sega's Streets of Rage series and using sprites from SNK Playmore's King of Fighters series. The game spread only by word of mouth, but it nonetheless amassed popularity very quickly. Senile Team soon released an edit pack allowing anyone interested to create a module for the Beats of Rage engine.

Later on, the game engine was ported to several systems, including the Sega Dreamcast. The full source code of the original game is available here at GitHub.

Kirby2000 asked Senile Team to open the source code of Beats of Rage. They agreed, and the OpenBOR project was born.

A lot of platforms are supported by the OpenBOR Team, and the game engine is still developed. The official repository of the latest releases of OpenBOR are available here at GitHub.

The v3.0 Build 4111 release of the official source code was the last source code revision supporting the Sega Dreamcast platform. Starting from that release, the Sega Dreamcast support was dropped. That's why you'll find in this repository the latest source code release supporting the Sega Dreamcast system, with several changes in order to make this source code compatible with newer KallistiOS v2.0.0+ environments.

Compiling

Instead of the Beats of Rage Rumble Edition for Sega Dreamcast project, there is no full SDK provided here for building the engine: you'll need a KallistiOS 2.0.0+ environment installed in your computer to do that. It can be either an installation you did with the standard ways or you can use DreamSDK if you are using Windows.

Please also note, the contents of this repository is only for the OpenBOR Engine, there is NO game assets at all. You'll need to use a Sega Dreamcast compatible BOR.PAK file along with the engine built with this source code to have something that works.

To build the OpenBOR Engine for Sega Dreamcast:

  1. Open your Shell.

  2. Clone this repository:

     git clone https://github.com/sega-dreamcast/openbor.git	
    
  3. Enter the openbor directory.

  4. Enter the following command:

     ./build.sh
    

A bin directory will be created containing the engine binary (OpenBOR.elf and OpenBOR.bin files). Your OpenBOR Engine is now ready to be used on the Sega Dreamcast!

Usage

To use the compiled OpenBOR Engine binary on your Sega Dreamcast, you'll need a Sega Dreamcast compatible BOR.PAK containing the game content of your choice. After that, you will just have to generate a selfboot disc image containing at least 1ST_READ.BIN and BOR.PAK files.

To generate a selfboot disc image, you can use the well known methods out there, e.g. if you are using DreamSDK, you may do the following:

cd bin
mkdir cd_root
scramble OpenBOR.bin cd_root/1ST_READ.BIN

Then you will need to put a BOR.PAK file in the cd_root/ directory. Do it then finish the procedure by making the image (a bootstrap IP.BIN is provided for convenience in the tools/ip directory):

makedisc openbor.cdi cd_root ../tools/ip/IP.BIN

Your OpenBOR Engine game disc is now ready, you can burn it or use it in the Demul emulator.

Credits

The OpenBOR Engine is a reality thanks to: