Shadowcrest
My own Gameengine used in games i make forward
why do i want my own engine?
simply said because i want to know how games run in their backend another strong reason would be i want to have full controll over what works how and when its added
big things are to happen
right now this repo only is a placeholder not planed to be worked on for a long while as i need to figure out what i want and how i want it depending on what of the below i chose (i already think i will decide between 2 or 3 but am interessted in 3 due to more tech) i will start designing an engine architecture and also decide if i keep this project opensource or not
what does it aim todo
bulding my games to keep it simple
- supporting 2D games
- supporting 3D games
- supporting networking networking solutions i develop in placeholder
- a user interface for me to organize my project with
multiple options emerge
option 1 using pygame
as i am working on a project in pygame and have constructed a small engine arround pygame for the sake of getting the project to where i want it a option would be clearing the present gamelogic out from it and constructing a more easy to use api and a user interface
downsides:
- python is compared to its dotnet competitors not very good in memory management
- python is simple but due to the lack of typesafety can be painfull to debug
option 2 using dotnet gameframeworks
dotnet is used very widely in game development and is used in the biggest known game engines currently available:
- godot (C#)
- unity (C#)
- cryengine (C#, LUA)
- unreal (c++) i could use a game framework like monogame
option 3 the hard way implementing public tech on my own
besides the option to use a framework that does the hard game technology part for me i can go all the way on my own and implement things like Vulcan or DirectX, a opensource physics engine like project chrono or react physics 3d or even a more widely used physics engine like nvidia physx or havok engine and fmod as audio engine
this would be the by far hardest option out of all available but also the by a lot most custom experience this approach would also teach me a very much more then all the other options above
downsides
a very very very very painfull development process