Euphoria
Euphoria Documentation

euphoria logo

windows linux deploy-online-content

run-style-checks run-cppcheck run-cpplint

run-coverage codecov Coverage Status

Euphoria is a data-driven "game engine". It's in quotes because

  1. the term "engine" is really vague.
  2. it also contains other things that aren't related to game engine at all (like csv import and a non-realtime ray tracer)

Euphoria is under heavy development, not ready for prime time, and the final product will be focused on live programming/automatic refresh between computer and target devices (that include computers) with a feature set that lies between love2d (do whatever you like) and fps game creator(restrictive but quick prototyping).

Demos

About the code

The folder structure should follow the pitchfork layout.

project layout

All names should follow snake_case, both for variables, members, functions and files. The only exception are C++ macros that should follow SHOUTING_SNAKE_CASE and structs & template arguments that should follow PascalCase.

Naming guidelines

  • Prefer to name function after what is returns, not the algorithm (get_sorted or sort_inplace vs quicksort).
  • Prefer to name function after what is does, not how it does it (add_item vs emplace_back_item).
  • Avoid general names, be specific but don't be too specific.