All Projects → flingengine → Flingengine

flingengine / Flingengine

Licence: mit
A Vulkan game engine with a focus on data oriented design

Programming Languages

c
50402 projects - #5 most used programming language
cpp
1120 projects

Projects that are alternatives of or similar to Flingengine

Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+1459.83%)
Mutual labels:  cmake, game, graphics, vulkan
Tprpix
a Cross-Platform, 2D Survival Sandbox Game Project. Based on C++17/cmake/OpenGL/SQLite3.
Stars: ✭ 448 (+87.45%)
Mutual labels:  cmake, game, graphics
Mtlpp
C++ Metal wrapper
Stars: ✭ 425 (+77.82%)
Mutual labels:  game, engine, graphics
Tristeon3d
A 3D Engine built by two Game Engineering students.
Stars: ✭ 68 (-71.55%)
Mutual labels:  cmake, engine, vulkan
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-12.97%)
Mutual labels:  cmake, game, engine
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+40.17%)
Mutual labels:  cmake, hacktoberfest, engine
Vulkust
An engine for Vulkan in Rust, tries to implement modern graphic features. (suspended for now)
Stars: ✭ 64 (-73.22%)
Mutual labels:  game, engine, vulkan
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+123.43%)
Mutual labels:  hacktoberfest, graphics, vulkan
Openra
Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.
Stars: ✭ 10,220 (+4176.15%)
Mutual labels:  hacktoberfest, game, engine
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+4132.22%)
Mutual labels:  cmake, hacktoberfest, game
Corona
Solar2D Game Engine main repository (ex Corona SDK)
Stars: ✭ 1,679 (+602.51%)
Mutual labels:  hacktoberfest, game, engine
Xray 16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Stars: ✭ 1,806 (+655.65%)
Mutual labels:  cmake, engine, opensource
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+1115.9%)
Mutual labels:  engine, graphics, vulkan
Vue Babylonjs
A ready-to-go 3d environment for Vue.js using Babylon.js
Stars: ✭ 356 (+48.95%)
Mutual labels:  game, engine, graphics
CLUSEK-RT
Vulkan based C++ ray-tracing game engine.
Stars: ✭ 24 (-89.96%)
Mutual labels:  cmake, engine, vulkan
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+4189.54%)
Mutual labels:  engine, graphics, vulkan
Caveexpress
CaveExpress is a classic 2D platformer with physics-based gameplay and dozens of levels. CavePacker is a Sokoban game.
Stars: ✭ 111 (-53.56%)
Mutual labels:  cmake, game, opensource
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+4382.01%)
Mutual labels:  cmake, game, engine
Compiler
Pawn compiler for SA-MP with bug fixes and new features - runs on Windows, Linux, macOS
Stars: ✭ 209 (-12.55%)
Mutual labels:  cmake, hacktoberfest
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (-12.13%)
Mutual labels:  hacktoberfest, graphics

Fling Engine Logo

The Fling Engine aims to be a cross platform Vulkan game engine that will experiment with the following:

  • Low-level engine systems such as render API abstraction, file systems, and custom allocators.
  • Multithreaded engine architecture
  • The Vulkan graphics API for real time rendering

Build Status Build status Open Source Helpers GitHub license Work in progress badge Discord Chat

Getting Started

There are a few basic steps to compiling Fling on your platform.

CMake 3.13 or higher!

This project requires CMake 3.13 or higher, you can install it here.

For Linux

This project uses GLFW, so you will need to install those libraries to your machine. GLFW also depends on having Doxygen, so you may want to have that as well.

Ubuntu:

sudo apt-get update
sudo apt-get install doxygen
sudo apt-get install -y libglm-dev libxcb-dri3-0 libxcb-present0
sudo apt-get install -y libpciaccess0 libpng-dev libxcb-keysyms1-dev
sudo apt-get install -y libxcb-dri3-dev libx11-dev libmirclient-dev
sudo apt-get install -y libwayland-dev libxrandr-dev
sudo apt-get install -y libglfw3-dev
sudo apt-get install -y xorg-dev

Vulkan SDK

Obviously this project is build using Vulkan, so you will need to install it before compiling or running the program.

You can download the SDK from the LunarG website here.

If you are having trouble with the Vulkan SDK then check out some of these resources:

Init.bat and Init.sh

After installing the SDK, you can simply run one of the provided scripts.

Running either one of these scripts will simply get all submodules and external libraries that the engine uses and create a folder called build. The build folder will have your platform specific build files (Visual Studio, Makefiles, etc).

Packaging a project

For ease of development and iteration the file paths to Assets (shaders, textures, models, etc) are all absolute paths generated by CMake. If you want to have a copy of your executeable with asset paths relative to the program, then generate your project files with CMake with this flag:

cmake -DDEFINE_SHIPPING=ON -B build .

Notice the -DDEFINE_SHIPPING option is set to ON. This sets a definiton that you can use in C++:

#ifdef FLING_SHIPPING
// Do some nice stuff
#else
// Do non-shipping code, perhaps with a lot of log messages
#endif

Wanna contribute?

If you have any contributions or fixes that you want to contribute, then feel free to open an issue or a pull request! I'm happy to talk about the project, so feel free to reach out to me on Twitter or here on GitHub. Eventually a goal is to have some more specific PR templates/coding standards but for now that is not a priority.

The master branch is where we keep our stable releases only. For the most up to date development see the staging branch

Cool Resources

Some great resources are the Vulkan Tutorial and SaschaWillems's repo with different Vulkan examples

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].