Need help with nico?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ftsf
357 Stars 23 Forks MIT License 312 Commits 8 Opened issues

Description

a Game Framework in Nim inspired by Pico-8.

Services available

!
?

Need anything else?

Contributors list

# 247,530
Nim
love2d
osx
pico-8
272 commits
# 156,032
Nim
TypeScr...
Shell
Godot
18 commits
# 299,089
gtk
webfram...
nim-lan...
nim-lan...
5 commits
# 144,475
Nim
procedu...
Shell
nim-lan...
3 commits
# 120,145
Shell
TypeScr...
IPFS
ethereu...
3 commits

NICO Game Framework

test

NICO is a simple game framework for the Nim programming language inspired by the PICO-8 API and built on top of SDL2 or the web.

What it does:

  • Paletted Bitmap Graphics (you can load a custom palette up to 256 colors)
  • Fixed or flexible custom display resolution with pixel scaling
  • Sprite drawing, load png spritesheets, specify tile size per sheet (can load multiple and switch between them)
  • Tilemap drawing, import json from Tiled
  • Drawing primitives: pixels, lines, rectangles, circles, triangles
  • Input: Keyboard, Gamepad, Mouse, Touch
  • Sfx playback: load and play ogg vorbis files, configurable number of mixer channels.
  • Built in chip synth
  • Music playback: stream ogg vorbis files.
  • Custom audio callback for generating your own sounds via code.
  • Text drawing: load and draw fonts from png, supports variable width fonts.
  • Export animated gifs

Installation

  • You will need to have the Nim compiler installed
  • Run
    nimble install nico
  • Run
    nicoboot   
    to create a new directory with an example base ready to start working with.
  • You can watch a quick tutorial here
  • Native build:
    • You'll need SDL2 for native builds, on Windows, ensure SDL2.dll is copied to your project directory.
    • From your project directory run
      nimble runr
      to build and run the example as a native build.
    • From your project directory run
      nimble rund
      to build and run the example as a debug native build.
  • Web build:
    • For web builds you'll need Emscripten.
    • From your project directory run
      nimble webr
      to build for web in release mode.
    • From your project directory run
      nimble webd
      to build for web in debug mode.

Learning

Why should you use NICO?

  • It's fun and easy to use
  • Learn Nim the fun way! It's a great new statically typed programming language that compiles to C.
  • You can build for Web, Windows, Linux, Mac, Android, and potentially other platforms.

Future work:

  • API Documentation
  • More examples
  • Tests
  • Utility modules for common higher level tasks
    • Browser to browser networking using WebRTC
    • Immediate mode GUI
    • 3D Utils and Rasterizer

Games made using NICO:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.