Skip to content
/ nonico Public
forked from ftsf/nico

Fork of Nico framework that is meant to edit some of its limitations/features, for smoother development of Of Lands game

License

Notifications You must be signed in to change notification settings

Toma400/nonico

 
 

Repository files navigation

NoNICO Fork

NoNICO fork was meant to update NICO framework with some changes that are result of either NICO being non-maintained framework, or by having its specific characterisation that was getting in the way of Of Lands development.

Changes are as follows (with versions introducing feature):

Version Feature
0.4.x setting palette limit from 256 to 4096
0.4.x updating zippy dependency, so it doesn't rely on outdated version (forces 0.10.16)
0.5.0 adds setWindowIcon proc, allowing game to have icon provided

Original readme below:

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:

About

Fork of Nico framework that is meant to edit some of its limitations/features, for smoother development of Of Lands game

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nim 99.0%
  • HTML 1.0%