44 lines
2.4 KiB
Markdown
44 lines
2.4 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 Vulcan or 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
|