Friendly engine for fallout-like isometric games for develop/play alone or with friends.
- Open Source under MIT license
- OpenGL/ES/WebGL and DirectX (wip) rendering
- C++17, AngelScript, C#/Mono and Fallout Star-Trek as scripting languages (wip)
- Editor and Server target platforms
- Windows
- Linux
- macOS (wip)
- Client target platforms
- Windows
- Linux
- macOS
- iOS
- Android
- Web
- PS4 (wip)
- Online and singleplayer (wip) modes
- Supporting of Fallout 1/2/Tactics, Arcanum and other isometric games asset formats
- Supporting of 3d characters in modern graphic formats
- Hexagonal/square map tiling
Simplest way is:
- Ask google about "fonline" in images
- Or ask google about "fonline" in videos
- Or ask google about "fonline" in common
And two videos to who don't like to google:
Bugs, performance cases and feature requests see at Issues page.
- Code refactoring (see separate section below)
- C++ as native scripting language with additional optional submodules for AngelScript, C# and Fallout Star-Trek SL
- Multifunctional editor
- YAML imprving as main formal for all text assets
- Singleplayer mode
- Documentation
- Direct X rendering
- Supporting of UDP
- Exclude FBX SDK from dependencies
- Parallelism where it needed
- Steam integration
- Move errors handling model from error code based to exception based
- Eliminate singletons, statics, global functions
- Preprocessor defines to constants and enums
- Eliminate raw pointers, use only smart
- Hide implementation details from headers using abstraction
- Fix all warnings from PVS Studio and other static analyzer tools
- Improve more unit tests and gain code coverage to at least 80%
- Improve more new C++ features like std::array, std::filesystem, std::string_view and etc
- Eliminate all preprocessor defines related to FONLINE_* (CLIENT, SERVER, EDITOR)
- In general decrease platform specific code to minimum (we can leave this work to portable C++ or SDL)
- Use more 'auto' keyword and replace 'simple for' on 'new foreach' (where it's possible)
- BuildScripts - scripts for automatical build in command line or any ci/cd system
- Resources - resources for build applications but not related to code
- SdkPlaceholder - all this stuff merged with build output in resulted sdk zip
- Source - fonline engine specific code
- SourceTools - some tools for formatting code or count it
- ThirdParty - external dependencies of engine, included to repository
You can build project by sh/bat script or directly use CMake generator.
In any way first you must install CMake version equal or higher then 3.6.3.
Unformation about build scripts you can find at BuildScripts/README.md.
All output binaries you can find in Build/Binaries directory.
- ACM by Abel - sound file format reader
- AngelScript - scripting language
- Asio - networking library
- Assimp - 3d models/animations loading library
- backward-cpp - stacktrace obtaining
- Catch2 - test framework
- GLEW - library for binding opengl stuff
- glslang - glsl shaders front-end
- Json - json parser
- diStorm3 - library for low level function call hooks
- PNG - png image loader
- rapidyaml - YAML parser
- SDL2 - low level access to audio, input and graphics
- SHA1 by Steve Reid - hash generator
- SHA2 by Olivier Gay - hash generator
- SPIRV-Cross - spir-v shaders to other shader languages converter
- Theora - video library
- Vorbis - audio library
- cURL - transferring data via different network protocols
- FBX SDK - fbx file format loader
- {fmt} - strings formatting library
- Dear ImGui - gui library
- libbson - bson stuff
- mbedTLS - library for network transport security
- MongoC Driver - mongo db driver
- Mono - c# scripting library
- libogg - audio library
- openssl - library for network transport security
- unqlite - nosql database engine
- variant - c++17 std::variant implementation in c++11/14
- websocketpp - websocket asio extension
- zlib - compression library
- Site: fonline.ru
- GitHub: github.com/cvet/fonline
- E-Mail: [email protected]
- Forums: fodev.net
- Discord: invite