shadowcrest/README.md
2024-01-06 16:42:16 +01:00

44 lines
2.3 KiB
Markdown

# 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](https://monogame.net/)
### 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 DirectX, a opensource physics engine like [project chrono](https://projectchrono.org/) or [react physics 3d](https://www.reactphysics3d.com/) 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