This game engine was developed to create and play role-playing games with jump-n-run functions similar to Alundra. The engine is currently still at an early stage, which means that essential functions may still be missing. A rough overview of the available features can be found in the table below.
To download and try out the editor/engine, you can download it from this Releases or from this website: Download. If you don't know how to use the Editor you can check out the Wiki and take a look the the getting started section.
Note
The engine does not contain any graphics, music, or sounds; you have to add them yourself!
Version 0.7 is out now and I've created a video preview of the gameplay!
V0.7
- Global Variables for conditional control of events.
- Objects with Events and Components:
- New object shadow rendering.
- Local Object Variables.
- Objects can be enabled/disabled:
- Disabled objects are not rendered, have no physics, and no events are executed (except for init run types).
- Events:
- Change Object Variable.
- Change Global Variable.
- Change Object State.
- Change Object Properties (only enable/disable).
- Global Tint.
- Teleport.
- Look At.
- Lua Script Execution (Experimental).
- Camera Control.
- Change Tile (graphical changes only).
- Components:
- Physics Component for handling object collisions and interactions.
- Event List:
- Support for multiple event lists per object.
- Conditions: Event lists only run if all conditions are met.
- Number Condition (for global and local number variables).
- Run Types:
- Auto (Runs automatically).
- Init (Runs once during world initialization).
- Player Consult (Runs when player presses action in front of the object).
- Touch (Runs when the player touches this object).
- Step On (Runs only when the player moves downwards).
- Touch Bottom (Runs when the player moves upwards).
- Touch South (Runs when the player moves north).
- Touch East (Runs when the player moves west).
- Touch West (Runs when the player moves east).
- Touch North (Runs when the player moves south).
- Events can now run in parallel.
- Textbox: Added a Yes/No option for dialogues.
- Tile Animation: Animated tiles for dynamic environments.
- Undo/Redo System:
- Support for undo/redo when drawing or copying tiles.
- Copy/Paste System:
- Selected tiles in mode
F1
can now be copied and pasted.
- Selected tiles in mode
- Project Properties:
- Project name can be modified.
- Option to display PlayStation or Xbox buttons in the text box.
- New Option to move wall textures up when changing wall size.
- New Popup Menu: Allows setting the player's starting position when editing objects.
- Render Ordering: Fixed issues with render ordering.
- Fill Option: No longer works recursively, reducing memory usage and preventing stack overflow errors.
- Engine Memory Usage: Reduced by 65%.
- Rendering Performance: Massively improved.
- Added a tile ladder option for better object traversal.
V0.6
- Objects with events and components
- Events
- Move
- Wait
- Message
- Play Sound
- Components
- Render
- Events
- Event controlled textbox
- Object animation V1
- Audio System for playing Sounds
- Object states
V0.5
- New loading dialog
- Audio system
- Audio files can now be loaded into the game file.
- Maps can now have audio files assigned as background music.
- Language packs (texts are now loaded from language packs, allowing the editor to support multiple languages)
V0.4
- With the CTRL key you can:
- Scroll with the mouse wheel (initially only the map and not the tileset)
- Drag with the left (primary) mouse button to move your view.
- With the Shift key, you now have an additional layer per tile. This layer is drawn above the previous layer.
- Additionally, you can now choose between SingleDraw (draw a single tile), DragFillDraw-Rect (drag from a start point to an endpoint and fill all tiles in between in a rectangle), and the normal Fill (like in Paint).
- You can also toggle the grid on and off.
- Finally, I have added options under the "Game" menu when opening the game.
V0.3
- Added start map
- To run the game, you now have to select a start map.
- The selected map is displayed in green.
- This allows for testing each map individually.
- Added tilesets
- These are available under the Resource Manager.
- The selected graphic of the tileset of maps now runs over the tilesets.
V0.2
- Added modules and modes
- 3 Modes for:
- (F1) Selecting tiles to manipulate them in height and, in the future, setting tile properties.
- (F2) Drawing the top/ground of a tile.
- (F3) Drawing the walls of tiles.
- Added wall handling
Description | Since |
---|---|
Tile animation | 0.7 |
Physics System | 0.7 |
Map Transition System / Teleport event | 0.7 |
Lua implementation for Events via JLua (Experimental) | 0.7 |
Interacting System | 0.7 |
Audio System V2 (playable Sounds) | 0.6 |
Sprite animation | 0.6 |
Dynamic Object properties via Components | 0.6 |
Object control via Events | 0.6 |
Objects | 0.6 |
Audio System V1 (only BGM) | 0.4 |
Editor multi-language support | 0.4 |
Load custom tilesets | 0.3 |
Create 3D maps with walls | 0.2 |
Start the game from the editor | 0.1 |
Physic System
A moving object can get stuck on a stair when moving against another object on that stair.
Additionally, if an object runs up the stairs and collides with an object that is jumping,
the other objects get teleported above the jumping object.
Editor
Sometimes, parallel threads do not terminate correctly, causing the Java program to continue running.
In such cases, the program must be closed using the task manager.
Description | Planned | Progress | Priority |
---|---|---|---|
Battle System | 0.8 | 25% | High |
Lua implementation for KI | 0.8 | 0% | Medium |
Object templates | 0.8 | 0% | Medium |
Copy Objects | 0.8 | 50% | Medium |
Graphic Effects via Shader | n/a | 10% | Medium |
Plugin system for editor and engine customization | n/a | 10% | Low |
Inventory | n/a | 0% | High |
GUI | n/a | 0% | High |
Audio System V3 (more 3D options) | n/a | 0% | Medium |
Lua implementation for Events via JLua (Full implementation) | n/a | 50% | Low |
Python implementation for Events via Jython | n/a | 0% | Low |
Ruby implementation for Events via JRuby | n/a | 0% | Low |