A game engine written in Odin language, made for learning the fundamentals of game engine development.
You can use this engine as package, imported in your own project, or you can run included examples to see how it works and to learn how to use it.
Use examples/
for testing new features and examples of usage.
- Create
.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "Build",
"name": "Debug",
"program": "${workspaceFolder}/examples/build/build.out",
"args": [],
"cwd": "${workspaceFolder}"
}
],
}
- Create
.vscode/tasks.json
If you add new files to
examples/
folder, you have to add them totasks.json
ininputs -> options
{
"version": "2.0.0",
"command": "",
"args": ["file"],
"tasks": [
{
"label": "mkdir",
"type": "shell",
"command": "mkdir -p examples/build",
},
{
"label": "build",
"type": "shell",
"command": "odin build examples/${input:example} -file -debug -out:examples/build/build.out -collection:sleipnir=src/",
"group": "build"
},
{
"label": "Build",
"dependsOn": [
"mkdir",
"build"
]
}
],
"inputs": [{
"type": "pickString",
"id": "example",
"description": "Pick an file to run:",
"options": [
"example.odin"
],
"default": "example"
}]
}
- Create
./ols.json
{
"$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json",
"collections": [
{ "name": "core", "path": "~/Documents/gamedev/Odin/core" },
{ "name": "sleipnir", "path": "./src"}
],
"enable_document_symbols": true,
"enable_semantic_tokens": false,
"enable_hover": true,
"enable_snippets": true
}