# BarinkEngine
```
    ,---,.                                           ,-.    ,---,.                                                  
  ,'  .'  \                   ,--,               ,--/ /|  ,'  .' |                      ,--,                        
,---.' .' |           __  ,-,--.'|        ,---,,--. :/ |,---.'   |     ,---,          ,--.'|        ,---,           
|   |  |: |         ,' ,'/ /|  |,     ,-+-. /  :  : ' / |   |   .' ,-+-. /  | ,----._,|  |,     ,-+-. /  |          
:   :  :  / ,--.--. '  | |' `--'_    ,--.'|'   |  '  /  :   :  |-,,--.'|'   |/   /  ' `--'_    ,--.'|'   |  ,---.   
:   |    ; /       \|  |   ,,' ,'|  |   |  ,"' '  |  :  :   |  ;/|   |  ,"' |   :     ,' ,'|  |   |  ,"' | /     \  
|   :     .--.  .-. '  :  / '  | |  |   | /  | |  |   \ |   :   .|   | /  | |   | .\  '  | |  |   | /  | |/    /  | 
|   |   . |\__\/: . |  | '  |  | :  |   | |  | '  : |. \|   |  |-|   | |  | .   ; ';  |  | :  |   | |  | .    ' / | 
'   :  '; |," .--.; ;  : |  '  : |__|   | |  |/|  | ' \ '   :  ;/|   | |  |/'   .   . '  : |__|   | |  |/'   ;   /| 
|   |  | ;/  /  ,.  |  , ;  |  | '.'|   | |--' '  : |--'|   |    |   | |--'  `---`-'| |  | '.'|   | |--' '   |  / | 
|   :   /;  :   .'   ---'   ;  :    |   |/     ;  |,'   |   :   .|   |/      .'__/\_: ;  :    |   |/     |   :    | 
|   | ,' |  ,     .-./      |  ,   /'---'      '--'     |   | ,' '---'       |   :    |  ,   /'---'       \   \  /  
`----'    `--`---'           ---`-'                     `----'                \   \  / ---`-'              `----'   
                                                                               `--`-'         
```

## Features
**NOTE** __Not in any particular order__    
- Rendering
    - OpenGL
    - Vulkan

- Logging
    - Different for debug and release
    - Different per OS
    
- Physics
    -  PhysX
    - Alternative for non-nvidia stuff?!

- Basic Entity Component system

- Graphical scripting ??

- Scripting support ( idk what language)
    - LUA
- Configuration options 
    - JSON 
    - LUA
    - others ?!?!?

## Screenshots

<img src="Screenshots/screen1.png" width="300"></img>
<img src="Screenshots/screen2.png" width="300"></img>

## Planning
see [TODO](docs/TODO.md)

_NOTE:_ 

The planning is moving away from markdown in favor 
of gitea Projects. New planning will be visible on [this page](https://git.barink.dev/Nigel/MyGameEngine/projects). 
## Requirements
#### Software
* Premake
* Git
* C++ Compiler

## Windows development workflow 
User premake to generate project files for the approperiate build method.
On Windows I assume you'll build with visual studio

```bash
User:~$ premake vs2022
```

## Linux development workflow
Use premake to generate project files for the approperiate build method.
On Linux I assume you'll build with something like make.

```bash
User@Machine:~$ premake gmake2
```