{"id":13571167,"url":"https://github.com/ftsf/nico","last_synced_at":"2025-04-06T20:08:33.681Z","repository":{"id":14285243,"uuid":"76081812","full_name":"ftsf/nico","owner":"ftsf","description":"a Game Framework in Nim inspired by Pico-8.","archived":false,"fork":false,"pushed_at":"2024-07-09T00:20:43.000Z","size":4049,"stargazers_count":638,"open_issues_count":22,"forks_count":39,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-03-30T19:04:59.324Z","etag":null,"topics":["game-development","game-engine","game-engine-2d","game-framework","gamedev","nim"],"latest_commit_sha":null,"homepage":"","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ftsf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-10T01:01:07.000Z","updated_at":"2025-03-12T13:42:23.000Z","dependencies_parsed_at":"2024-07-09T04:14:59.884Z","dependency_job_id":null,"html_url":"https://github.com/ftsf/nico","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftsf%2Fnico","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftsf%2Fnico/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftsf%2Fnico/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftsf%2Fnico/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ftsf","download_url":"https://codeload.github.com/ftsf/nico/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543589,"owners_count":20955865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-development","game-engine","game-engine-2d","game-framework","gamedev","nim"],"created_at":"2024-08-01T14:00:59.449Z","updated_at":"2025-04-06T20:08:33.646Z","avatar_url":"https://github.com/ftsf.png","language":"Nim","funding_links":[],"categories":["Nim","Game Development"],"sub_categories":["Game Frameworks"],"readme":"# NICO Game Framework\n[![test](https://github.com/ftsf/nico/workflows/test/badge.svg)](https://github.com/ftsf/nico/actions)\n\nNICO is a simple game framework for the [Nim](http://nim-lang.org/) programming language inspired by the [PICO-8](https://www.lexaloffle.com/pico-8.php) API.\n\n## Supported platforms:\n * Windows\n * Linux, including RaspberryPi\n * Web/HTML5 via Emscripten\n * Android\n * MacOS\n\n## What it does:\n * Paletted Bitmap Graphics (you can load a custom palette up to 256 colors)\n * Fixed or flexible custom display resolution with pixel scaling\n * Sprite drawing, load png spritesheets, specify tile size per sheet (can load multiple and switch between them)\n * Tilemap drawing, import json from Tiled\n * Drawing primitives: pixels, lines, rectangles, circles, triangles\n * Input: Keyboard, Gamepad, Mouse, Touch\n * Sfx playback: load and play ogg vorbis files, configurable number of mixer channels.\n * Built in chip synth\n * Music playback: stream ogg vorbis files.\n * Custom audio callback for generating your own sounds via code.\n * Text drawing: load and draw fonts from png, supports variable width fonts.\n * Export animated gifs\n\n## Installation\n * You will need to have the Nim compiler installed\n * Run ```nimble install nico```\n * Run ```nicoboot \u003cyourname\u003e \u003cprojectname\u003e \u003cdirectory\u003e``` to create a new directory with an example base ready to start working with.\n * [You can watch a quick tutorial here](https://www.youtube.com/watch?v=czLI5XJFxYA\u0026list=PLxLdEZg8DRwTIEzUpfaIcBqhsj09mLWHx\u0026index=3)\n * Native build:\n   * You'll need [SDL2](https://www.libsdl.org/download-2.0.php) for native builds, on Windows, ensure SDL2.dll is copied to your project directory.\n   * From your project directory run ```nimble runr``` to build and run the example as a native build.\n   * From your project directory run ```nimble rund``` to build and run the example as a debug native build.\n * Web build:\n   * For web builds you'll need [Emscripten](https://emscripten.org/docs/getting_started/downloads.html).\n   * From your project directory run ```nimble webr``` to build for web in release mode.\n   * From your project directory run ```nimble webd``` to build for web in debug mode.\n\n## Learning\n * [API Documentation](API.md)\n * [Examples](examples/)\n\n## Why should you use NICO?\n * It's fun and easy to use\n * Learn Nim the fun way! It's a great new statically typed programming language that compiles to C.\n * You can build for Web, Windows, Linux, Mac, Android, and potentially other platforms.\n\n## Future work:\n * API Documentation\n * More examples\n * Tests\n * Utility modules for common higher level tasks\n  * Browser to browser networking using WebRTC\n  * Immediate mode GUI\n  * 3D Utils and Rasterizer\n\n## Games made using NICO:\n * [Vektor 2089](https://impbox.itch.io/vektor2089)\n * [Smalltrek](https://impbox.itch.io/smalltrek)\n * [Moving in](https://impbox.itch.io/moving-in)\n * [Cute Cats Daily](https://impbox.itch.io/cute-cats-daily)\n * [Super Netwalk Deluxe](https://impbox.itch.io/super-netwalk-deluxe)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftsf%2Fnico","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftsf%2Fnico","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftsf%2Fnico/lists"}