Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/turesnake/tprpix
a Cross-Platform, 2D Survival Sandbox Game Project. Based on C++17/cmake/OpenGL/SQLite3.
https://github.com/turesnake/tprpix
c-plus-plus c-plus-plus-17 clang cmake cpp cpp11 cpp17 cross-platform game glad glfw3 graphics opengl sqlite3
Last synced: 6 days ago
JSON representation
a Cross-Platform, 2D Survival Sandbox Game Project. Based on C++17/cmake/OpenGL/SQLite3.
- Host: GitHub
- URL: https://github.com/turesnake/tprpix
- Owner: turesnake
- License: bsd-3-clause
- Created: 2018-11-21T06:57:44.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-07T14:36:59.000Z (over 1 year ago)
- Last Synced: 2024-12-18T12:07:57.760Z (6 days ago)
- Topics: c-plus-plus, c-plus-plus-17, clang, cmake, cpp, cpp11, cpp17, cross-platform, game, glad, glfw3, graphics, opengl, sqlite3
- Language: C++
- Homepage:
- Size: 24.6 MB
- Stars: 714
- Watchers: 26
- Forks: 131
- Open Issues: 2
-
Metadata Files:
- Readme: README.ZH_CN.md
- License: LICENSE
Awesome Lists containing this project
README
# tprPix
**tprPix** 是一个跨平台的,2D生存向沙盒游戏项目。项目基于: **C++17/OpenGL/SQLite3**.
(注意,**tprPix** 是项目的名称, 而非游戏本身的名称 (我还没想好hhh...) )
![screenShot.01](Docs/pngs/screenShots/ss.01.png)
## 我该下载哪个分支
直接下载 Branch:**master** 即可。## 此项目支持哪些平台
- **Win10**
- **MacOSX** (10.12 或更高版本)
- **Ubuntu** (16.04 或更高版本)也许可以支持各平台的较早版本,但我尚未测试。
## 支持哪款编译器
**Clang** 是最推荐的编译器,即便是在 **Win10** 平台。
请确保你所下载和安装的 **Clang** 版本,支持 **C++17**。## 如何安装
### Mac OS X
在 **Mac** 平台的安装非常简单。
首先,确保你已经成功安装如下程序:
- **CMake** (3.1 或更高版本; 若想使用PCH,Unity-builds 技术加速编译,推荐 3.16 或更高版本)
- **Clang** (足以支持 **C++17** 的较新版本)
- **OpenGL** 相关的库然后,打开 **终端**(terminal),**"cd"** 至 本项目的根目录:
$ cd .../appRootDir/
(**注意**,此处的 "appRootDir" 应替换为实际的根目录名字)
接着,运行一份 shell 脚本程序:
$ ./unix_release.sh
脚本 `unix_release.sh` 将会自动化地帮我们完成程序的 **build** 和本地化部署工作。
你也可以选择运行另一份脚本:`unix_debug.sh`, 正如名字所示,它将生成一份 **DEBUG** 版的程序。在 **DEBUG** 模式下,游戏的运行性能会显著下降。想要试玩的朋友,请尽可能调用 **release** 模式。现在,所有的安装工作都已经 **完成** 了!!!
你可以在目录: **.../appRootDir/build/publish/** 中找到可执行文件:**tprpix**。
双击它,开始我们的游戏!!!
(**注意**,此处的 "appRootDir" 应替换为实际的根目录名字)### Ubuntu
在 **Ubuntu** 上的安装与 **Mac OS X** 十分相似。首先,请确保你已经安装如下程序:
**CMake** (3.1 或更高版本; 若想使用PCH,Unity-builds 技术加速编译,推荐 3.16 或更高版本):
$ sudo apt-get install cmake
**Clang** (足以支持 **C++17** 的较新版本):
$ sudo apt-get install llvm
$ sudo apt-get install clang重设系统默认的 **C/C++编译器**:
$ sudo update-alternatives --config c++
$ sudo update-alternatives --config cc再安装几个与图形有关的第三方库:
$ sudo apt-get install libx11-dev
$ sudo apt-get install libglfw3-dev
$ sudo apt-get install libsdl2-dev现在,打开 **终端**(terminal),**"cd"** 至 本项目的根目录:
$ cd .../appRootDir/
(**注意**,此处的 "appRootDir" 应替换为实际的根目录名字)
接着,运行一份 shell 脚本程序:
$ ./unix_release.sh
脚本 `unix_release.sh` 将会自动化地帮我们完成程序的 **build** 和本地化部署工作。
你也可以选择运行另一份脚本:`unix_debug.sh`, 正如名字所示,它将生存一份 **DEBUG** 版的程序。在 **DEBUG** 模式下,游戏的运行性能会显著下降。想要试玩的朋友,请尽可能调用 **release** 模式。现在,所有的安装工作都已经 **完成** 了!!!
你可以在目录: **.../appRootDir/build/publish/** 中找到可执行文件:**tprpix**。
(**注意**,此处的 "appRootDir" 应替换为实际的根目录名字)在 **终端** 中启动它:
$ build/publish/tprpix
开始我们的游戏!!!
### Win10
为了支持 **Win10** 中的 **Clang**,我们首先要安装 **Visual Studio 2019**。
同时,确保你的 **Visual Studio** 中也安装了如下组件:
![Check Clang and Cmake](Docs/pngs/win10/clang_and_cmke_check.png)
然后,启动 **Visual Studio 2019**,点选初始界面中的 `Open a local folder` 按钮,在弹出的窗口中,选择本程序的根目录 ->
![open a local folder](Docs/pngs/win10/000.png)
进入主界面后,VS 会主动识别出一份根目录下的配置文件:`CMakeSettings.json`,并且根据这份文件内的描述,自动创建一份名为 `x64-Clang-Release` 的 配置方案(configurations)。此时你会看到 VS: **Output 面板**中 正在做有关 cmake Cache 的解析和生成工作。 稍等数秒后,你会在 **Output 面板** 中看到:
CMake generation finished.
这表明 cmake Cache 生成成功了!
**注意:** 如果在这一过程中发生错误,请阅读 [这份文章](Docs/how_to_handle_visual_studio.md),学习如何以 **手动配置** 的方式,来生成 cmake Cache。
在 cmake Cache 生成成功后。在 **Visual Studio 2019** 左上方的 `Build` 菜单中,找到 `Build All` 按钮,点击它,开始正式的 **Build** 工作。(也可以使用快捷键:`F7`) ->
![Build All](Docs/pngs/win10/009.png)
**Build** 工作 将会持续数分钟,直到我们在下方的 **Output** 面板中看到 `Build All succeeded.` 的信息。这表示,**Build** 成功。我们在 **Visual Studio 2019**
中的工作就全部结束了。最后的最后,回到本项目所在的根目录。寻找并双击一份名为 `win.bat` 的脚本文件。
它将帮助我们执行本地化部署工作。现在,安装正式**完成**!!!
你可以在目录 **.../appRootDir/build/publish/** 中,找到可执行文件 **tprpix.exe**,
它就是我们的程序本体。
(**注意**,此处的 "appRootDir" 应替换为实际的根目录名字)双击此文件,开始我们的游戏!!!
## 编译后的 最终生成包
不管在任何平台编译,最终的生成包是统一的:**.../appRootDir/build/publish/**, 你可以将这个 **publich** 文件夹,
复制到任何位置,都不会影响文件夹内 可执行文件 的运行。可执行文件需要的一切资源,都被集成在了 **publish** 目录内。## 怎么玩这款游戏
本游戏同时支持 **键盘** 和 绝大部分 **游戏手柄** 输入。
考虑到这是一款动作类游戏,作者更推荐大家使用手柄来游戏。( Xbox360 或其他山寨版都支持 )### 手柄按键布置(Xbox360-Style):
- **左摇杆**: 控制角色移动。- **按键:A**: 确认键。
在游戏世界中,玩家可以按压 **按键:A** 来提升 玩家所操作角色的 移动速度。
(其实这是提供给开发者 Debug 用的功能)- **按键:B**: 降低 玩家所操作角色的 移动速度。
- **按键:X/Y**: 在 **终端** 中打印一些数据,供开发者 Debug 用。
### 键盘按键布置:
- **按键:W/A/S/D**: 控制角色移动。
- **按键::Enter**: 确认键。
- **按键::H/J/K/L**: 功能对应游戏手柄中的 **'A/B/X/Y'** 键.**请注意,当系统输入法为中文模式时,游戏将无法识别键盘按键。请务必切换到英文输入法模式。**
在目前版本中,一旦玩家进入游戏世界,可以控制一只小鸡四处游览世界。通过按下 **键盘键:H** 或者 **游戏手柄键:A**,可以让小鸡速度加快甚至飞行。这原本是提供给开发者来检视 世界生成效果用的。
鉴于本游戏的剩余部分仍在开发中,所以还请体验者们耐心等待。
## 如何修改程序窗口尺寸
现阶段暂不支持 全屏模式。改写窗口尺寸的配置文件,放置在 **.../publish/jsons/windowConfig.json** 文件中。如图所示:![Window Config](Docs/pngs/oth/windowConfig_1.png)
如果你想调整你的 **窗口尺寸**,请修改变量:`windowPixW, windowPixH`(单位为像素)。正如变量:`recommend:windowPixW, recommend:windowPixH` 所示,推荐的尺寸是 1920,1200。(事实上,你可以将变量 `windowPixW, windowPixH` 改写成任意整形数值(integer),只要记得别超出你的显示器限制。程序会自动照顾好窗口长宽比。)
请勿修改变量 `recommend:windowPixW, recommend:windowPixH`,它们对程序不起任何作用,仅仅是一份提示。
请保持变量 `isFullScreen` 值为 `false`。 针对它的修改将使程序启动失败。
在修改完参数后,保存文件。再次运行 app,就能获得对应效果。无需再次编译。
# 现存的问题
如果您在运行程序时,遭遇以下问题,请勿惊慌:## 进入游戏,点击一个存档后,陷入死机
这个 bug 有较小的几率被触发。
当遇到这个问题时,推荐您先强制退出程序。然后直接删除 **.../appRootDir/build/publish/dataBase/** 文件夹。对,整个删除即可。这是程序的 存档文件夹。请放心粗暴地随意删除之。## 三个存档占满了怎么办
目前的游戏尚未实现完整的 **UI系统**,就连 **存档系统** 也是残缺的。
如果存档已满,还是请直接删除 **.../appRootDir/build/publish/dataBase/** 文件夹。## 运行中出现闪退怎么办
您可以将闪退后的**命令行信息**提交到**issues**处,或者直接通过下方的联系方式传达给我。这将帮助我更好地完成程序。## 更多问题有待暴露
...# 版权协议遵守 [BSD 3-Clause](LICENSE)
# 欢迎反馈与建议
本游戏的剩余部分仍在开发中,如果您有任何反馈或建议,都可以通过下方联系方式联系开发者本人。## 联系方式
* E-mail: [[email protected]](mailto:[email protected])
* QQ: 651700603
* 微信:turesnake