NICO快速上手指南:10分钟创建并运行你的第一个游戏项目
【免费下载链接】nicoa Game Framework in Nim inspired by Pico-8.项目地址: https://gitcode.com/gh_mirrors/ni/nico
NICO 是一款基于 Nim 语言、深受 Pico-8 启发的高效游戏框架。本指南将带你用 10 分钟快速上手 NICO,完成从环境安装、创建游戏项目到运行第一个游戏的完整流程,让零基础新手也能轻松开启 Nim 游戏开发之旅。
NICO 是什么?为什么值得一试?
NICO 是面向 Nim 编程语言的 2D 游戏框架,它的 API 设计灵感来自经典游戏创作工具 Pico-8,主打"小而美"的开发体验。使用 NICO,你可以:
- 🎨 使用调色板位图图形,自定义最高 256 色
- 🖼️ 绘制精灵、加载 PNG 精灵表、支持 Tiled 地图导入
- 🎮 支持键盘、手柄、鼠标、触屏多输入设备
- 🔊 内置芯片合成器,播放 OGG 音效与音乐
- 🌍 一次编写,同时发布到 Windows、Linux、macOS、Web、Android
最酷的是,NICO 项目可以直接编译成 HTML5 网页游戏,无需安装任何插件就能在浏览器中运行!
一键安装步骤:Nim 与 NICO 环境配置
第 1 步:安装 Nim 编译器
NICO 需要 Nim 编译器才能运行。前往 Nim 官网下载对应系统的安装包,或使用包管理器安装。安装完成后,在终端验证:
nim --version第 2 步:安装 NICO 游戏框架
使用 Nim 自带的包管理器 nimble 即可完成安装:
nimble install nico安装过程会自动拉取 SDL2、gifenc、nimPNG 等依赖库,无需手动配置。
第 3 步:安装 SDL2(原生构建需要)
- Windows 用户需将 SDL2.dll 复制到项目目录
- macOS 用户可通过 Homebrew 安装:
brew install sdl2 - Linux 用户使用系统包管理器安装即可
最快创建方法:一条命令生成游戏项目
NICO 提供了nicoboot命令行工具,可以一键生成带完整示例代码的新项目:
nicoboot 你的组织名 你的项目名 项目存放路径例如:
nicoboot myorg mygame ./mygame执行后,mygame目录会自动生成包含完整示例的工程文件。生成逻辑参考 nicoboot.nim,它会复制 exampleApp 模板并用你的项目名替换其中的示例内容。
认识项目结构:5 分钟看懂模板代码
生成的项目结构非常清晰:
mygame/ ├── assets/ # 存放字体、图片等资源 ├── src/main.nim # 游戏主入口 ├── config.nims # 编译配置 └── mygame.nimble # 项目描述与任务定义打开src/main.nim,你会发现 NICO 的游戏逻辑异常简单。核心只需三个回调函数:
import nico proc gameInit() = loadFont(0, "font.png") proc gameUpdate(dt: float32) = discard proc gameDraw() = cls() setColor(3) printc("hello nico!", screenWidth div 2, screenHeight div 2) nico.init("myorg", "mygame") nico.createWindow("mygame", 128, 128, 4, false) nico.run(gameInit, gameUpdate, gameDraw)可以看到 NICO 的游戏框架 API 极其简洁:gameInit负责加载资源,gameUpdate处理游戏逻辑,gameDraw负责每帧渲染,三个函数各司其职,与 Pico-8 的编程思路一脉相承。完整 API 说明见 API.md。
立即运行:编译并启动你的第一个游戏
在项目目录下执行:
nimble runr # 编译并运行(发布模式) nimble rund # 编译并运行(调试模式)一个 128x128 分辨率、4 倍像素缩放的迷你游戏窗口就会弹出来,显示欢迎文字!这两个任务定义在 exampleApp.nimble 中,你也可以根据需求自定义任务。
核心绘图 API 速览
NICO 提供了丰富的 2D 绘图函数,风格与 Pico-8 完全一致:
| 功能 | 函数示例 | 说明 |
|---|---|---|
| 清屏 | cls() | 清除屏幕 |
| 像素 | pset(x, y) | 绘制单个像素 |
| 线条 | line(x0, y0, x1, y1) | 绘制直线 |
| 矩形 | rectfill(x0, y0, x1, y1) | 填充矩形 |
| 圆形 | circfill(cx, cy, r) | 填充圆形 |
| 精灵 | spr(index, x, y) | 绘制精灵图 |
| 文本 | print(text, x, y) | 显示文字 |
加上btn()、btnp()输入检测函数和内置芯片合成器,你已经具备写一个小游戏的完整能力。想直接跑大型示例?examples/ 目录里有平台游戏、音频演示、GUI 等大量现成参考,例如 platformer.nim 就是一个完整的横版动作游戏源码。
进阶玩法:一键编译成网页游戏
NICO 最大的亮点之一就是支持 Web 发布。安装 Emscripten 后,只需一条命令:
nimble webr # 编译为 HTML5 网页游戏生成一个可直接在浏览器打开的 HTML 文件,无需服务器即可游玩!相关编译参数可在 config.nims 中查看。
总结:你的 NICO 游戏开发之路
10 分钟已经足够你完成 NICO 的安装、项目创建和首次运行。接下来你可以:
- 尝试修改
main.nim中的颜色和文字 - 绘制一个可移动的小方块,体验
btn()输入 - 浏览 examples/ 学习完整游戏写法
- 尝试将游戏发布到 Web 平台
如果希望从源码体验最新功能,也可以直接克隆仓库到本地:
git clone https://gitcode.com/gh_mirrors/ni/nicoNICO 让 Nim 游戏开发变得前所未有的简单有趣,现在就动手创建你的第一个游戏项目吧!🎮
【免费下载链接】nicoa Game Framework in Nim inspired by Pico-8.项目地址: https://gitcode.com/gh_mirrors/ni/nico
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考