Craft:C 语言写的开源 Minecraft 克隆

简介: Craft 是一个 C 语言编写的简单化 Minicraft 克隆,使用了现代 OpenGL(着色器)进行开发。

image.png

Craft 是一个 C 语言编写的简单化 Minicraft 克隆,使用了现代 OpenGL(着色器)进行开发。


功能

  • 简单但好看的地形生成器,使用 Perlin/Simplex 噪声算法
  • 超过十种方块(bolock)类型,也可以容易地增加更多。
  • 支持植物(草,花,树等等)和透明效果(透镜)
  • 空中有简单的云(这些云不会移动)
  • 游戏所做的改变会保存在一个 sqlite3 数据库里面
  • 支持多玩家


安装

Mac OS X

如果你没有安装 [Cmake],下载安装它。你也可以使用 Homebrew 简化安装过程:

brew install cmake

Linux(Ubuntu)

sudo apt-get install cmake libglew-dev xorg-dev

sudo apt-get build-dep glfw

Windows

软件应该能在 Windows 上运行,但我现在没有 Windows 机器进行测试。如果你在 Windows 上测试过,告诉我结果,我会更新在说明(README)文件上。


编译运行

当你配置了依赖环境后,在命令行下运行:

git clone https://github.com/fogleman/Craft.git

cd Craft

cmake .

make

./craft

多玩家

你可以建立自己的服务器,也可以连接我的服务器。服务器是使用和本地机器的 SQLite 数据库一样的格式。


客户端

./craft 199.115.118.22516018


服务器

pip install sqlalchemy

python server.py [HOST [PORT]]


控制

  • WASD 控制向前、向左、向后、向右
  • 空格键为 跳跃
  • 鼠标左击为放置方块
  • 鼠标右击 或者 功能键(Cmd)+ 向左可以创造一个方块
  • 1-9 选择创建方块的类型
  • E 在方块类型中回滚
  • Tab 切换行走和飞行
  • ZXCVBN 沿者 XYZ 轴移动到准确的方向
  • 左 shift 键放大缩小
  • F 以直角模式显示地图
  • P 远程连接其他玩家(随机)
  • 箭头键模拟鼠标移动
  • Enter键 模拟鼠标点击


截图

image.png

更多信息,可浏览项目主页:Craft

相关文章
|
5月前
|
人工智能 运维 安全
AI来了,网络安全运维还能靠“人海战术”吗?
AI来了,网络安全运维还能靠“人海战术”吗?
291 28
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
1513 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
10月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
485 2
|
Kubernetes 网络协议 API
OpenAI全球宕机思考:谈谈可观测采集稳定性建设
文章探讨了为什么大规模集群中的可观测性服务会产生大量API请求、API服务器为何对DNS解析至关重要以及故障恢复过程为何缓慢的原因。
408 12
|
JSON Java 数据处理
Unity 数据读取|(二)多种方式读取文本文件
Unity 数据读取|(二)多种方式读取文本文件
|
物联网 数据处理 数据安全/隐私保护
程序与技术分享:BL602&BL604综合项目2:dolphin蓝牙跳蛋
程序与技术分享:BL602&BL604综合项目2:dolphin蓝牙跳蛋
|
定位技术 图形学 开发者
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
1311 1
阿里云全球19个地域节点,哪个节点的服务器好,速度快?
阿里云服务器有多少个地域节点?究竟哪个节点的云服务器好,速度快?
35717 0