Shipectral

Version, currently legacy-0.2.11 version
  • legacy-0.2.1latestDec 13, 2021

github.com/Shidacea/Shipectral

Core of the Shidacea game engine, written in Crystal

7 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  Shipectral:
    github: Shidacea/Shipectral
    version: ~> legacy-0.2.1

Then run:

shards install

shard.yml

Crystal
>= 0.34.0
License
MIT
Author
Hadeweka

Dependencies

Runtime Dependencies

  • imgui*github: oprypin/crystal-imgui, branch: master
  • crsfml*github: oprypin/crsfml, branch: master
  • anyolite0.15.0github: Anyolite/anyolite, branch: master
  • imgui-sfml*github: oprypin/crystal-imgui-sfml, branch: master

README

Shipectral

Shipectral aims to be a Crystal variant of the Shidacea framework.

In the future, Shipectral will take the place of the previous Shidacea C++ backend, which will allow for easier bindings and simplify the process of converting a Shidacea project to much more performant code.

Features

(Mostly not implemented yet)

  • Powerful scripting using mruby and Anyolite
  • Fast Crystal core using crSFML
  • Support for Dear ImGUI
  • ERB methods for text substitution
  • Support for project structures
  • Modular design

Structure

(Not finalized yet)

Shipectral (or Shidacea) is a game engine with different cooperating segments.

The very core of Shipectral is a compound of crSFML and Anyolite, allowing for the direct usage of crSFML functions in Ruby scripts.

On top of this, the Shidacea library (SDClib) of the old Shidacea project is available, which provides more advanced game functions and support for more readable scripts, while still preserving the fast speed of the core functions.

Another module on top is Launshi, a simple launcher application written in Shidacea, able to launch other Shidacea-based games without recompiling the core.

Overall, this engine allows different usage modes, ranging from fast Crystal programming using the basic features up to simple script usage, allowing for fast prototyping.

Roadmap

Version 0.1.0

Features

  • [X] Basic functionality
  • [X] Working examples
  • [ ] Full compatibility to Shidacea-CPP
  • [ ] Find a way to load different shards on Linux

Version 0.2.0

Features

  • [ ] Port Shidacea to Crystal and bind with Anyolite

  • [ ] Complete overhaul to support the new Shidacea 0.3 standard

  • [ ] Block Crystal GC in draw and update routines

Future versions

Features

  • [ ] Add virtual file system for executable and connect it with SFML
  • [ ] Ressource integration using macros
  • [ ] Add way and flag to put frontend resources directly into executable
  • [ ] Make Imgui optional

Installation

Prerequisites

  • Crystal
  • Ruby
  • Rake
  • Bison
  • Git
  • SFML (only on Ubuntu - on Windows it will be installed automatically)

All of these programs need to be in the path environment variable for Windows to work properly.

Building

Note that this current version is only guaranteed to run on Windows 64bit and Ubuntu. You need to run rake in either a terminal (Ubuntu) or the 64bit Visual Studio Command Prompt (Windows).

If you want to use another config file, set the environment variable SHIPECTRAL_CONFIG_FILE to the path of the respective config file (default is configs/launshi.json).

The final program is under the build (can be changed using the environment variable SHIPECTRAL_BUILD_PATH) path, in the shipectral directory.

For now, the best way to run it is using the rake test command.