Skip to content
OpenBOR PLUS is the ultimate 2D side scrolling engine for beat em' ups, shooters, and more! This version has all official features plus new features!
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE update with master branch Sep 25, 2018
engine Merge remote-tracking branch 'remotes/origin/official' Apr 20, 2019
media
tools add ps3-sdk with vpx support based on open source psl1ght sdk Aug 29, 2018
.gitignore merge from Master Oct 25, 2018
CODEOWNERS update with master branch Sep 25, 2018
CODE_OF_CONDUCT.md update with master branch Sep 25, 2018
CONTRIBUTING.md update with master branch Sep 25, 2018
LICENSE merge from Master Oct 25, 2018
PULL_REQUEST_TEMPLATE.md update with master branch Sep 25, 2018
README.md merge from Master Oct 25, 2018

README.md

OpenBOR PLUS

OpenBOR PLUS is an advanced version of official OpenBOR.
OpenBOR is a continuation of the Beats Of Rage 2D game engine, which was originally created by the wonderful folks over at Senile Team. The plus version is based on official version and it has all official features plus new features!

PLEASE DON'T COPY THE "PLUS" CODE WITHOUT MY CONSENT.

Overview

OpenBOR is a royalty free sprite based side scrolling gaming engine. From humble beginnings in 2004, it 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.

Want to try your hand at game making? Open up one of the already existing modules and tinker around – the community is right here to help you along.

Ready to make something of your own? Get some images together and away you go!

Feeling ambitious? Delve into the built in script engine and graphical suite to build a masterpiece rivaling the most outlandish professional game productions. Sell it if you if can!

To find out more, stop into the OpenBOR community at ChronoCrash.com. You will also find dozens of game modules already finished to download and play.

Masters of The Universe

Masters of The Universe

Streets of Rage2X

Mortal Kombat Outworld Assassins

History

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 BOR engine.

In 2005, Kirby2000 asked Senile Team to open the source code to BOR. They agreed, and OpenBOR was born. Development on the engine was continued by the community, and still is to this day.

Platforms

OpenBOR has a very modular and portable design inherited from Beats of Rage - several ports have been made available.

Current

These platforms are actively supported and may be compiled with the latest OpenBOR engine.

  • Android
  • Windows
  • Linux
  • Mac OS X
  • Wii
  • PSP
  • PS3

Discontinued

The following platforms are still available as legacy binaries, but are no longer supported and may not be compatible with current iterations of OpenBOR.

  • Dreamcast
  • GP2X
  • GP2X Wiz
  • OpenDingux (Dingoo A320 & GCW-Zero)

OpenBOR Team

Current Members

White Dragon (2016-)

A long time module author and extremely knowledgeable coder who joined the development team in 2016 and immediately began making an impact. White Dragon generally focuses on level and menu properties, but has branched out into various other facets of the engine over time.

Former members and contributors

Damon Caskey (2007-)

OpenBOR project manager and site owner of the OpenBOR community. Primary contributions are core engine and scripting development, code cleanup, and organization. Main focus is keeping OpenBOR future proof and modular by replacing specialized hardcoding and overlap with generalized features that allow for more author creativity.

Plombo (2009-)

A developer who prefers to work on OpenBOR's supporting libraries and platform-specific backends. Known for maintaining the Wii port, writing the GPU-accelerated video code for Wii and OpenGL, and a few engine features.

Douglas Baldan (2018-)

Known as O'Ilusionista, Douglas is a highly respected administrator of the OpenBOR community and also a prolific member of the Mugen scene. Douglas is new to coding but brings a plethoera of graphic and game design experience to the team. We look for exciting things from Mr. Baldan soon!

Malik (2018-)

Malik comes to the team with a good scripting background. He is still learning his way around application development, but shows a lot of promise and a great willingness to learn. As his skills progress, he will no doubt be a an invaluable asset to the team!

crxtrdude (2016-2018)

crxtrdude focused on the android port in particular on the module Activity, Manifest and on the virtual gamepad.

uTunnels (2007-2014)

Among many other powerful additions, contributed the original scripting engine to OpenBOR, single handedly breaking nearly every limitation module authors faced. While not officially retired, uTunnels' presence became gradually more infrequent before stopping altogether in early 2014.

Anallyst (2011)

This developer's work centered mainly around trimming the fat and optimizing the codebase.

SumolX (2006-2011)

Former project manager and lead programmer, retired from the scene in 2011. Known for porting PSP, PS3, Linux, Wii, GP2X and maintaining all other platforms and code base.

KBbandressen (2007-2011)

Contributed a plethora of features, including the powerful text object and filestream capabilities.

CGRemakes (2005-2006)

Main developer after Kirby2K. Introduced many exicting features to engine.

LordBall (2006)

Developed offshoot engine based on OpenBOR. Shared features with both engines.

Tails (2006)

Developed offshoot engine based on OpenBOR. Shared features with both engines.

Fugue (2006)

Developed offshoot engine based on OpenBOR. Shared features with both engines.

Kirby2K (2004-2005)

The original developer of OpenBOR who asked Senile Team for permission to open up Beats Of Rage.

Senile Team

Senile team was not directly involved with developing OpenBOR, but their opening of the orginal Beats of Rage codebase was vital. Parts of the orginal BOR still reside in OpenBOR to this day.

Roel (credited as "Opla" in BoR)

The team's chieftain. Does most of the game design, programming and artwork.

Jeroen (credited as "Leila" in BoR)

Does all the things no one else does.

Sander (credited as "Albatross" in BoR)

3D artist and animation sequence editor.

Ben

Senile Team's composer.

Neill

Neill was the first to port Beats of Rage to other systems, namely Playstation 2 and Dreamcast. He now supports Senile Team with advice regarding console hardware and code compatibility.

Websites

ChronoCrash

Home of the OpenBOR community and OpenBOR team. This is the place to go if you want to discuss discuss OpenBOR development, find ready to play game modules, or get started building one of your own.

Senile Team

Senile Team is not responsible for OpenBOR, and has also dropped all support for the original Beats of Rage. Instead you should stop in to see their latest projects - you’ll no doubt find something interesting!

New Features

  • added "movex", "movez" to entityproperty: the potential entity directions
  • added "collidedentity" to script: it returns the collided entity handler
  • opened animation platform properties to script

NEW OPERATORS

bitwise not (~)

ENTITY COLLISION

accessible in debug mode too.

constants:
ANI_PROP_ENTITY_COLLISION
ENTITY_COLLISION_PROP_COORDINATES
ENTITY_COLLISION_PROP_TAG
ENTITY_COLLISION_PROP_INDEX

animation commands:
ebox {x} {y} {width} {height} {z1} {z2}
ebox.x {value}
ebox.y {value}
ebox.width {value}
ebox.height {value}
ebox.z1 {value}
ebox.z2 {value}
eboxz {z1} {z2}

model commands:
entitypushing {int}: if 1 entity pushing target on collision
pushingfactor {float}: pushing factor on collision. Default: 1.0

openborscript functions: get_entity_collision_collection(void handle, int frame);
get_entity_collision_instance(void handle, int index);
get_entity_collision_property(void handle, int property);
set_entity_collision_property(void handle, int property, value);

openborscript:
added "entitypushing", "pushingfactor" to entityproperty
added "collidedentity" to entityproperty
added "maxcollisions" to openborvariants

events:
onentitycollisionscript
localvars:
"self": entity
"target": entity
"self_ebox_handler": the handler for ebox of self to use with openborscript functions
"target_ebox_handler": the handler for ebox of target to use with openborscript functions

MULTPLE COLLISION BOXES

opened multiple collision boxes to openbor:
you establish the max collision boxes into model.txt file with
maxcollisions {int} (default: 2)
then you can change into animation the index of boxes:
setaboxindex {int} for attack collision boxes (default: 0)
setbboxindex {int} for body collision boxes (default: 0)
seteboxindex {int} for entity collision boxes (default: 0)

by default the index relative to a box is set to 0 of course.

example:

ANIM IDLE
bbox 1 2 3 4 5
setbboxindex 1
bbox 5 6 7 8 9

in this example you set 2 bboxes.

see this example too:

ANIM IDLE
bbox 1 2 3 4 5
setbboxindex 1
bbox 5 6 7 8 9
bbox 1 2 3 4 5

in this example you set 2 bboxes both: bbox 1 2 3 4 5
because bbox 1 2 3 4 5 at index 1 overrides bbox 5 6 7 8 9 at index 1

BOOMERANG

model keys:
subtype boomerang
aimove boomerang

model commands:
boomerang {name}
boomerangvalues {acceleration} {horizontal_distance}

animation commands:
custboomerang {name}

animations:
getboomerang
getboomeranginair
use range {min} {max} to get the boomerang by range

openbor script:
changed access to boomerang props in openbor script:
get/change entityproperty "boomerang" "acceleration" {val}
get/change entityproperty "boomerang" "hdistance" {val}

using subentity and spawnframe example:
for player set type npc, for enemies set type enemy

subentity boomerang
spawnframe 0 5 0 30

using custboomerang example:

custboomerang boomerang
throwframe 0 30

IMPROVED MENUS

all ports menu now support image previews
but into PSP/Wii port is disabled by default for less memory usage

all menus support more mods loading
implemented vertical scrollbar for menus
implemented fast forward/backward to scroll menu with many mods (left/right arrow)
implemented hold key impulse for all menus to scroll menu with many mods more easily

NEW PORTS

PS3 port

You can’t perform that action at this time.