Skip to content

Commit cad2c02

Browse files
authored
Update README.md
1 parent 252fd31 commit cad2c02

File tree

1 file changed

+41
-46
lines changed

1 file changed

+41
-46
lines changed

README.md

Lines changed: 41 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,47 @@
11
# BoxEngine
22

3-
BoxEngine is an engine to build 2D and 3D general applications, like games, using the scripting language lua.
3+
BoxEngine is an engine designed to build both 2D and 3D general applications, such as games, using the Lua scripting language. This engine is ideal for creating applications quickly, thanks to its abstract layers implemented with OpenGL, which facilitate fast prototyping.
44

5-
This engine is ideal to build applications using the abstract layers implemented with OpenGL for fast prototypes
6-
It uses the GameObject architecture to build the scene with script attached to give it behaviour.
7-
8-
The engine runs in c++ but the scripting language is in LUA (with JIT compiler), a Brazilian language.
9-
10-
Projects can be run in production mode (pass folder via argument) or editor mode
5+
## Key Features:
6+
- **GameObject Architecture**: Construct your scene using a GameObject architecture, where scripts are attached to objects to define their behavior.
7+
- **C++ Core**: The engine is built in C++ for performance, with Lua as the scripting language, featuring a Just-In-Time (JIT) compiler.
8+
- **Dual Mode Operation**: Projects can be run in two modes:
9+
- **Production Mode**: Execute the project by passing the folder as an argument.
10+
- **Editor Mode**: Utilize a built-in editor for project development.
1111

1212
# Features
1313

1414
## Scripting features
1515

16-
* input module (keyboard and mouse)
17-
* audio module (2d and 3d audios)
18-
* font module (with support for any .ttf)
19-
* camera module (support for 2d and 3d camera manipulations)
20-
* debug/logging module (logging support also in scripting)
21-
* texture module (allows to manipulate texture with the GPU)
22-
* shader module (allows to create and use shader with the GPU)
23-
* vertex module (allows to allocate mesh with the GPU)
24-
* framebuffer module (manipulate framebuffer via GPU)
25-
* primitives module (allows to draw basic shapes in 2d and 3d, including to draw textures)
26-
* scene module (allows to instantiate GO and scripts and manipulate the game scene)
27-
* import module (allows to import 3d object files, currently have a basic version)
28-
* renderer module (allows to draw 3d models, currently have a basic version)
29-
* GUI module (to do)
30-
* physics module (to do)
16+
Read the scripting api documentation [here](https://github.com/RodrigoPAml/BoxEngine/blob/main/docs/api.md)
17+
18+
* Input module (keyboard and mouse)
19+
* Audio module (2d and 3d audios)
20+
* Font module (with support for any .ttf)
21+
* Camera module (support for 2d and 3d camera manipulations)
22+
* Debug/logging module (logging support also in scripting)
23+
* Texture module (allows to manipulate texture with the GPU)
24+
* Shader module (allows to create and use shader with the GPU)
25+
* Vertex module (allows to allocate mesh with the GPU)
26+
* Framebuffer module (manipulate framebuffer via GPU)
27+
* Primitives module (allows to draw basic shapes in 2d and 3d, including to draw textures)
28+
* Scene module (allows to instantiate GO and scripts and manipulate the game scene)
29+
* Import module (allows to import 3d object files, currently have a basic version)
30+
* Renderer module (allows to draw 3d models, currently have a basic version)
31+
* GUI module (to do, basically por ImGui inside framebuffer)
32+
* Physics module (to do)
3133

3234
## Editor features
3335

34-
* Open an Create projects
35-
* Play and Editor mode wich can be detected via script/go to manipulate the scene
36-
* Manipulate game scene via Game Tree (create go, duplicate, delete)
36+
* Open and create projects
37+
* Play and Editor mode which can be detected via script/GO to manipulate the scene
38+
* Manipulate game scene via Game Tree (create GO, duplicate, delete)
3739
* Logs tab to help debug the editor and the application
3840
* Files tab to help manipulate project files (game assets)
3941
* Info tab to see engine internal information (instance of mesh, textures, fps, frametime)
40-
* Inspector to allow manipulate a gameobject, add scripts and modify project settings
41-
* Integration with vs code for scripting (recommend use lua server extension)
42+
* Inspector to allow manipulate a game object, add scripts and modify project settings
43+
* Integration with VS Code for scripting (recommend using Lua server extension)
44+
* Script debugging and much more
4245

4346
## Script example
4447

@@ -49,7 +52,7 @@ function teste.start()
4952
local this = engine.current()
5053

5154
engine.log('starting')
52-
engine.log('My go id is' .. engine.go.current())
55+
engine.log('My GO id is' .. engine.go.current())
5356
engine.log('My script name is' .. engine.script.current())
5457

5558
this.var = 'abc'
@@ -78,29 +81,17 @@ end
7881
* STB_IMAGE https://github.com/nothings/stb/blob/master/stb_image.h (image lib)
7982
* LUA JIT https://luajit.org/ (jitted scripit language)
8083

81-
# Screen Shoots
82-
83-
## Playing in editor mode
84-
85-
![image](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/f0d02127-782f-4fb4-9209-b1361e0e2b19)
86-
87-
![image](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/de860063-8b48-4131-ad01-637ad0eb92c2)
88-
89-
# Scripting API Documentation
90-
91-
Read the scripting api documentation [here](https://github.com/RodrigoPAml/BoxEngine/blob/main/docs/api.md)
92-
9384
# Projects
9485

95-
The code is in the Projects folder
86+
The projects can be found in the projects/external folder, where you have to do a ```git submodule init``` and then a ```git submodule update```
9687

97-
## First game
88+
## First 2D Game
9889

9990
The first game is called "Air Figther" and game be found in games folder
10091

101-
It's a game about destroying enemies airplane and getting the better possible score
92+
It's a game about destroying enemies airplane and getting to destroy a final boss
10293

103-
This game was made to validade the engine release
94+
This game was made to validade the engine release and can find it [here](https://github.com/RodrigoPAml/AirFighter)
10495

10596
![1](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/13caab37-b00e-419d-be03-69e44108b269)
10697

@@ -110,6 +101,8 @@ This game was made to validade the engine release
110101

111102
One implemented fractal and one retrieved from shader toy (link in shader file)
112103

104+
Repository in [here](https://github.com/RodrigoPAml/MandelbrotFractal)
105+
113106
![image](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/b17b1fe9-c4b1-42d4-8a97-e17d224e339d)
114107

115108
My fractal
@@ -118,7 +111,7 @@ My fractal
118111

119112
## 3D Scene
120113

121-
Open an 3d object an draw it with renderer
114+
Open an 3d object an draw it with renderer, this is in the projects/example folder
122115

123116
![image](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/07b75cc4-aba1-4a98-867f-966723d3260b)
124117

@@ -128,7 +121,9 @@ Open an 3d object an draw it with renderer
128121

129122
## 2D Ray Tracing
130123

131-
The first attemp to implement ray tracing in openGL
124+
The first attemp to implement ray tracing in OpenGL using BoxEngine
125+
126+
Repository in [here](https://github.com/RodrigoPAml/RayTracer2D)
132127

133128
![image](https://github.com/RodrigoPAml/BoxEngine/assets/41243039/ca12a844-35c0-4eb0-8313-531769a752e9)
134129

0 commit comments

Comments
 (0)