EGachine is a game engine designed to teach game development through writing computer games.
EGachine offers various key features like open-source/free software, beginner-friendly, and quick game development. The engine is well-suited for beginners who want to start game programming as it requires no compilers, only a text editor is needed to get started. Currently, there is no detailed documentation available, but examples are provided to get started.
EGachine provides portability support, allowing it to run untrusted code securely. It's similar to Java applets, which means games or apps may be shipped via the network. Neither server nor client can access files from JavaScript code. It also provides network support, making it easy to develop multiplayer network games or apps.
The engine is not limited to just games, it can also be used as a presentation tool, movie player, special-purpose terminal, or tool to teach/learn OpenGL. EGachine is modular, based on EJS and modules for EJS that add functionality for video, audio, input, and network.
Video modules include OpenGL language bindings, a basic 2D functionality video layer, a simple scene-graph, and an experimental SVG module. Audio module allows playing basic music and samples. Input module provides gamepad-like input devices (perhaps emulated by the keyboard). Advanced users can use the events for the keyboard, mouse, joystick, window manager, etc. The network module provides a basic stream interface for read/write and a distributed object graph.
To use EGachine, you need to follow a few steps. First, CD to the directory containing the package's source code and run ./configure. Second, run make to compile the package. Finally, install the programs and any data files and documentation using make install.
EGachine has received updates as well. One update is a port to the Linux-based GP2X handheld, currently supporting only the shell but with runtime compilation of C code done using a native GCC toolchain.
In conclusion, EGachine is an excellent game engine for beginners who want to learn game development using JavaScript. It's easy to use, modular, and provides portability and quick game development features.
Version 0.1.2: N/A