#console-game #game-engine #heavily #coder #github #lone #javidx9

rust-console-game-engine

基于Javidx9的《孤独的编码者控制台游戏引擎》(https://github.com/OneLoneCoder/videos/blob/master/olcConsoleGameEngine.h)的灵感,为Rust编写的控制台游戏引擎。

5个不稳定版本

0.5.1 2021年5月25日
0.5.0 2021年5月25日
0.4.0 2021年5月24日
0.3.2 2021年5月20日
0.3.1 2021年5月19日

#753 in 游戏开发

GPL-3.0-only

56KB
1.5K SLoC

Rust控制台游戏引擎

这是一个爱好项目。这是一个Rust编写的控制台游戏引擎,深受javidx9的《孤独的编码者控制台游戏引擎》的启发。目标是学习Rust以及一些游戏开发知识。

目前,它只能在Windows上运行。

需求

  • windows
  • rustc

用法

cargo buildexamples/**中的一个例子开始。实际的引擎在src/lib.rs中。

使用VSCode与rust-analyser进行调试

以下设置需要在您的settings.json文件中

{
    "rust-analyzer.linkedProjects": [
        "Cargo.toml",
        "examples/fps/Cargo.toml",
        "examples/noise/Cargo.toml",
        "examples/racer/Cargo.toml",
        "examples/test_engine/Cargo.toml"
    ]
}

以下任务需要在您的tasks.json文件中

{
    "type": "cargo",
    "label": "fps",
    "command": "build",
    "problemMatcher": [
        "$rustc"
    ],
    "group": "build",
    "options": {
        "cwd": "${workspaceFolder}/examples/fps"
    }
},
{
    "type": "cargo",
    "label": "noise",
    "command": "build",
    "problemMatcher": [
        "$rustc"
    ],
    "group": "build",
    "options": {
        "cwd": "${workspaceFolder}/examples/noise"
    }
},
{
    "type": "cargo",
    "label": "racer",
    "command": "build",
    "problemMatcher": [
        "$rustc"
    ],
    "group": "build",
    "options": {
        "cwd": "${workspaceFolder}/examples/racer"
    }
}

以下配置需要在您的launch.json文件中

{
    "name": "fps",
    "type": "cppvsdbg",
    "request": "launch",
    "program": "${workspaceFolder}/examples/fps/target/debug/fps.exe",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}/examples/fps",
    "environment": [],
    "console": "newExternalWindow",
    "preLaunchTask": "fps"
},
{
    "name": "noise",
    "type": "cppvsdbg",
    "request": "launch",
    "program": "${workspaceFolder}/examples/noise/target/debug/noise.exe",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}/examples/noise",
    "environment": [],
    "console": "newExternalWindow",
    "preLaunchTask": "noise"
},
{
    "name": "racer",
    "type": "cppvsdbg",
    "request": "launch",
    "program": "${workspaceFolder}/examples/racer/target/debug/racer.exe",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}/examples/racer",
    "environment": [],
    "console": "newExternalWindow",
    "preLaunchTask": "racer"
}

依赖项

~134MB
~2M SLoC