Recall Engine

by AmeliePick.

Project Description

Recall Engine is a modular game engine. Being developed for role-playing video games. Allows to create 2D/3D games in first/third person view, with elements of visual novel. Because the engine is modular you can choose exactly what you need to make your software. The engine follows the philosophy:

  • Own solution works good or better than the existing one, and it's independent.
  • Don't pay for what is not used(e.g lower performance, executable file size, etc).
  • The performance is better than the compatibility.
  • Work everywhere where the OS is running.

The engine contains a lot of parts to use it separetly and what is most important that it all have a low-level optimization and suport of most popluar and last tecnologies. So you can use it to create not only games but also for a software.

Below you can find the features of the engine, which are already completed or in the development so the list will be appended during the progress.

Features

 Done.

 In development.

 In design.

Memory Management

  • Fully custom memory management provides fast work with memory. The average delay for memory allocation operation is <≈2 ms.

  • Automatic memory defragmentation controls proper memory usage and reduces latency and improves memory usage.

  • Automatic garbage collection physically frees up unused memory, which avoids running out of memory.

Multithreading

  • Create own threads or use lightweight threads(Task) without latency.

  • Make parallel execution on CPUs without hyperthreading feature. You can run two parallel threads even if CPU doesn't support hyperthreading feature but it requires two or more physical cores.

  • Simply manage and synchronize threads by yourself using special functions and objects.

  • Low performance mode to reduce CPU usage for non-real-time applications.

I/O

  • Work with any device, whether game controllers, keyboard, mouse or even any USB, COM and HID devices.

  • Four modes of work: Windows, RawInput, DirectInput and XInput(only controllers and it also provides work with feedback).

  • Different types of device events allows to create new control mechanics.

  • Custom "Terminal" API provides a simple handling of input to any output device(file, display).

GUI

  • Modern GUI for applications allows adjust every graphics element from the status bar to the button.

  • Simple and understandable API allows to write a minimum of code for a graphical application.

  • Create your own design in couple of minutes using simple markup.

Graphics

  • "Slow CPU" mode to lower FPS drops.

  • Frames sampling to make double postprocessing, integrate scaling ML algorithms and other stuff.

  • Boosted buffering.

  • Variable(VFR) and constant(CFR) frame rate support.

2D

  • Create layered scenes, add animations.

  • Work with images, gif, text and other objects via simple understandable API.

  • Create own complex objects or code to draw something complicated.

  • DirectX 11 and 12 support provides the hardware acceleration for drawing.

3D

  • The module is at the design stage.

Audio

  • Custom low-level sound system which already include spatial audio or 3D Audio.

  • DirectX audio components as additional to RE custom sound system to extend use of the engine.

  • Play, mix the sounds with each other, create custom or use built-in effects.

  • Supports all formats and containers which Windows 10 supports(based RIFF(i.e WAV, AVI, RMI) and also MP3, MP4, AAC, FLAC, etc).

Visual Novel module

  • Animate sprites, backrounds and so on.

  • Manage audio. Add SFX to music and sounds.

  • A convenient text output system that separates the code and text of the game. Support for custom fonts, text output animations.

  • Custom script system.

Engine

  • Collision detection.

  • Complex UI elements.

  • Code generation and compiling based on custom script system.

  • In-game logic processing and features(e.g. task manager, etc).

Security

  • Anti-debug protection.

  • Dll injection protection.

  • Files security certificate validation.

  • Audio files author signature validation.

Other features

Enhanced with

System specifications

CPU: It requires the SSE instruction set support, but it also provide the AVX-AVX512 support, so it recommend to use Sandy Bridge for Intel CPUs and Jaguar for AMD CPUs as a minimal architecture.
If you want to support most older CPUs like i7 860, just don't use AVX compability methods of the engine because it secured from emulators and just will not starts. The most fine way is to make some versions of your software or just let to old cpus to be gone.

RAM: At least 500 MB free, not more than 256 TB installed.

Storage: about 1 GB for the engine and all addons.

Graphics: DirectX 11.1, DirectX 12.

Target architecture: x86-64.

Target OS: Windows 10.

Written on Assembler(ml64), C, C++.  

Engine API: C++/Custom script language.

Demos

Demo 1. 2D with sfx and sound sfx.

Demo 2. Visual Novel example.

Demo 3. Visual Novel scene.