AI prompts
base on Ant game engine Ant 游戏引擎
=====
[English Version](./README.en.md) | [中文版本](./README.md)
Ant 是由灵犀互娱开发的开源游戏引擎。现阶段仅将代码仓库公开,尚未正式发布。文档、示例等均待在 [Wiki](https://github.com/ejoy/ant/wiki) 上逐步完善。如有任何问题,可在 [Discussions](https://github.com/ejoy/ant/discussions) 发帖讨论。Issues 仅用于 Bug 跟踪,请不要在里面提问题。
### 更新并初始化第三方库:
> git submodule update --init
### 搭建编译环境
#### 1.1 Windows
##### 1.1.1 MSVC
- 安装 Visual Studio version 22 17.5 或以上版本,因为依赖对 [C11 Atomics](https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-5-released/#atomics) 的支持,不然编译时会出现 `stdatomic.h no such file or directory` 错误。
##### 1.1.2 MINGW
- 下载并安装 [msys2](https://www.msys2.org/)
- 找到 msys2 安装目录,用 mingw64.exe 打开 msys2 的终端
- 在 msys2 的终端中修改镜像服务器
``` bash
echo "Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/" > /etc/pacman.d/mirrorlist.mingw32
echo "Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/" > /etc/pacman.d/mirrorlist.mingw64
echo "Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/\$arch/" > /etc/pacman.d/mirrorlist.msys
```
- 把 ming64 的路径加到环境变量
``` bash
echo "export MINGW=/mingw64" >> ~/.bash_profile
echo "export PATH=\$MINGW/bin:\$PATH" >> ~/.bash_profile
```
- 安装 gcc/ninja
``` bash
pacman -Syu mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja
```
#### 1.2 MACOS
- 安装xcode, ninja
#### 2.1 Common
##### 2.1.1 编译构建工具 luamake
``` bash
git clone https://github.com/actboy168/luamake
cd luamake
git submodule update --init
.\compile\install.bat (msvc)
./compile/install.sh (mingw/linux/macos)
```
### 编译
#### 编译runtime
``` bash
luamake
```
#### 编译tools
tools包含:shaderc, texturec, gltf2ozz,release模式会快一个数量级(debug模式下的tools可以不编译)
``` bash
luamake -mode release tools
```
#### 编译选项
``` bash
luamake [target] -mode [debug/release] #-mode默认是debug
```
### 运行
运行一个最简单的示例
``` bash
bin/msvc/debug/ant.exe test/simple/main.lua
```
### 启动编辑器
```bash
bin/msvc/debug/ant.exe tools/editor/main.lua [projectdir] #for example: test/simple
```
### 调试
- 安装VSCode;
- 安装**Lua Debug**插件;
- 添加调试配置到`.vscode/launch.json`
``` json
{
"version": "0.2.0",
"configurations": [
{
"type": "lua",
"request": "launch",
"name": "Debug",
"luaexe": "${workspaceFolder}/bin/msvc/debug/ant.exe",
"luaVersion": "lua-latest",
"path": null,
"cpath": null,
"console": "integratedTerminal",
"stopOnEntry": true,
"outputCapture": [],
"program": "test/simple/main.lua",
"arg": []
}
]
}
```
### 关于ant目录结构
- **bin**:编译结果,exe/dll/lib等
- **build**:编译的中间结果
- **clibs**:c/c++代码
- **engine**:引擎基础支持代码,包括包管理器、启动代码等
- **pkg**:引擎的各个功能包(包与包之间有依赖)
- **runtime**:引擎运行时的不同平台支持
- **test**:测试工程
- **tools**:引擎相关的工具
", Assign "at most 3 tags" to the expected json: {"id":"7057","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"