<commit_before>## GarageEngine
This is an educational project, I'm learning as I go, I cannot promise backwards compatibility at this point.<br/>
the name will be probably changed.<br/> 
	
## Install:
Windows:
To avoid installing mingw and downloading libraries in windows I have added the .a files.
<br/>
go get github.com/vova616/GarageEngine<br/>
go get github.com/vova616/chipmunk<br/>
go get github.com/vova616/gl <br/>
go get github.com/go-gl/glfw<br/>
(just to make sure you got all the sources, ignore all the erroes)<br/>

go to GarageEngine source folder and copy the pkg folder to your golang folder. (override)
now you can try to compile Garageengine.
	
Other:
You need to download glfw/gl/glew libraries.
<br/>
sudo apt-get update 
<br/>
sudo apt-get install build-essential binutils-gold freeglut3 freeglut3-dev libglew-dev libglfw-dev libxrandr2 libxrandr-dev libglew libglew1.8  
<br/>
go get github.com/vova616/GarageEngine	

## To-Do list
Clean project:<br/>
Name changing Engine -> engine etc...<br/>
Function changing -> SetWorldPositionf -> SetWorldPosition2d etc...<br>
<br/>
Atlas - Make functions return id, LoadImage should not use id and clean whatever we can.<br/>
Font - Clean the hell out of it, clever atlas creating.<br/>
Material - Think of design that does not require lots of work when creating custom shaders.<br/>
Physics - Code interpolation and think of a better design for arbiter and clean & polish stuff.<br/>
Scene - Do less work when coding scenes also get scene by name.<br/>
Tree Behaviours - Clean & polish & new features.<br/>
Camera - support multiple cameras, make the camera look at center or other point.<br/>
Rendering - support auto-batching, only render objects close to camera(make it smarter), render by Z and not by layers.<br/>
Coroutine - try to fix the bug that you cannot access to textures in Coroutines.<br/>
Transform - Do not brake Z coord when using functions.<br/>
Readme - explain Tree Behaviours.<br/>
Learn from - https://github.com/runningwild/haunts .<br/>
Comments - lacks tons of it.<br/>



## Dependencies
github.com/vova616/gl<br/>
github.com/vova616/chipmunk<br/>
github.com/go-gl/glfw

## Coroutines(they might be deprecated):
The useage is same as unity coroutines.<br/>
Use Behaviour Trees, its better and faster.

## Behaviour Trees:
Example in SpaceCookies/game/EnemeyAI.go<commit_msg>Updated README.<commit_after>## GarageEngine
This is an educational project, I'm learning as I go, I cannot promise backwards compatibility at this point.<br/>
the name will be probably changed.<br/> 
	
## Install:
You need to download glfw&glew libraries.

Windows:
Use mingw and compile glew.

Linux:
<br/>
sudo apt-get update 
<br/>
sudo apt-get install build-essential binutils-gold freeglut3 freeglut3-dev libglew-dev libglfw-dev libxrandr2 libxrandr-dev libglew libglew1.8  
<br/>
go get github.com/vova616/GarageEngine	

## To-Do list
Clean project:<br/>
Name changing Engine -> engine etc...<br/>
Function changing -> SetWorldPositionf -> SetWorldPosition2d etc...<br>
<br/>
Atlas,Font - Clean whatever we can.<br/>
Material - Think of design that does not require lots of work when creating custom shaders.<br/>
Physics - Think of a better design for arbiter and clean & polish stuff.<br/>
Scene - Get scene by name.<br/>
Tree Behaviours - Clean & polish & new features.<br/>
Camera - support multiple cameras.<br/>
Rendering - support auto-batching.<br/>
Coroutine - try to fix the bug that you cannot access to textures in Coroutines.<br/>
Readme - explain Tree Behaviours.<br/>
Learn from - https://github.com/runningwild/haunts .<br/>
Comments - lacks tons of it.<br/>



## Dependencies
github.com/go-gl/gl<br/>
github.com/go-gl/glfw<br/>
github.com/vova616/chipmunk<br/>
"github.com/vova616/freetype-go/freetype"

## Coroutines(they might be deprecated):
The useage is same as unity coroutines.<br/>
Use Behaviour Trees, its better and faster.

## Behaviour Trees:
Example in SpaceCookies/game/EnemeyAI.go
{'fraction_non_alphanumeric': 0.10381143430290872, 'fraction_numerical': 0.009779338014042127, 'mean_word_length': 4.101023017902813, 'pattern_counts': {'":': 0, '<': 58, '<?xml version=': 0, '>': 64, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1934124', 'n_tokens_mistral': 1299, 'n_tokens_neox': 1212, 'n_words': 489}