Home
Softono

Nico

Open source Nim
664
Stars
41
Forks
23
Issues
18
Watchers
2 years
Last Commit

 About Nico

a Game Framework in Nim inspired by Pico-8.

Platforms

Web Self-hosted

Languages

Go Nim

Links

Need Help Installing Nico?

We provide expert installation service for this software. Our team will install, configure, and secure Nico on your server. plans start at just $30.

NICO Game Framework

test

NICO is a simple game framework for the Nim programming language inspired by the PICO-8 API.

Supported platforms:

  • Windows
  • Linux, including RaspberryPi
  • Web/HTML5 via Emscripten
  • Android
  • MacOS

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 <yourname> <projectname> <directory> 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: