Skip to content

realtradam/orc-arena-of-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orc: Arena of Time

Itch Link

Preview

Welcome to the repo of our Raylib 5k gamejam game. This game was built using a few key tools:

  1. Raylib
  2. mRuby Bindings
  3. A custom ECS library implemented in Ruby by me(FelECS)
  4. A customized mRuby build pipeline

Raylib and FelECS are fairly stable, however the bindings and the build pipeline will be undergoing an overhaul soon.

Note: how to use the build pipeline is currently undocumented and only has been used on Arch Linux. To use it you will need Zig to build for desktop, and EMCC to build for web. You will also need any libraries that Raylib depends on. You will need Ruby installed to run the build commands. There may be more libraries needed(such as some kind of development libraries).

How the process looks:

1. Build mRuby

This step you generally only need to do once when developing games, but when developing bindings you will do this often. See mRuby documentation to see how to customize your build of mRuby. Run rake build:mruby to build it, or rake clean:mruby to clean the build incase you are having issues.

This will build the mRuby libs(libmruby.a) which includes raylib and will be used to compile your game. It will also build an interpreter executable which will allow you to pass in Ruby files and run them immediately.

2. Coding the game

In the build pipeline directory, there is a game directory where you place your ruby code. main.rb is the entry point for the resulting executable. To build this game you would clone this repository into this game directory.

3. Testing and Building the game.

To test your game, simply run rake playtest or rake p. This will bundle your Ruby code into a single Ruby file and then pass it into the interpreter. This allows for fast iterating and building of the game as it instantly starts without any compilation needed.

To build the game for release or testing, use the commands rake build:web to build for web and rake build:tux to build for linux desktop. The resulting files are in build/web and build/tux respectively.

Once you have created a web build you can quickly test it out using rake serve or rake s

Bindings and Libraries

In the code of this game, anything prefixed with Rl:: is a binding to raylib, while anything prefixed with FECS:: is the custom ECS library I implemented.

Questions and stuff

If you have more questions feel free to open an issue or leave a comment on itch, I would be glad to answer!

About

Game that won the Raylib 5k Gamejam

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages