Giter Club home page Giter Club logo

nico's Introduction

NICO Game Framework

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

What it does:

  • 16 Color Bitmap Graphics (you can load a custom palette)
  • Fixed or flexible custom display resolution with pixel scaling
  • Sprite drawing, load png spritesheets (can load multiple and switch between them)
  • Tilemap drawing, import json from Tiled
  • Drawing primitives: pixels, lines, rectangles, circles, triangles
  • Input: Keyboard, Gamepad, Mouse
  • Sfx playback: load and play oggs, configurable number of mixer channels.
  • Music playback: load and play one streaming ogg at a time
  • 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, as well as a working C compiler
  • Run nimble install nico
  • You can now import nico in your project, see the examples.

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 Windows, Linux, Mac, Android, and potentially other platforms.
  • Should I use NICO instead of PICO-8?
  • Unlikely, if you're trying to decide between them, go with PICO-8. If you've been using PICO-8 and making games with it and want to rewrite them in a new language or extend them in ways that PICO-8 can't, maybe consider NICO, although there are other options too.

Future work:

  • API Documentation
  • Fully configurable inputs
  • More examples
  • Tests
  • Replace SDL2_mixer with a built in mixer with support for crossfading
  • Built-in chip synthesiser / integrate NimSynth
  • Editing tools
  • Utility modules for common higher level tasks

Games made using NICO:

nico's People

Contributors

ftsf avatar

Stargazers

Lum avatar

Watchers

Dominik Picheta avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.