SeaniaTwix / nimgame2

A simple 2D game engine for Nim language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nimgame 2

A simple 2D game engine for Nim language.

For more information check home page.

Coding style guide for the contributors.

All pull requests should be done into the devel branch.

Status: v0.6.1 alpha

Requires:

  • sdl2_nim package (v2.0.7.1 or newer).
  • Runtime libraries for:
    • SDL 2.0.12 or newer
    • SDL_gfx 1.0.1
    • SDL_image 2.0.2
    • SDL_mixer 2.0.2
    • SDL_ttf 2.0.14 (see SDL2 links)

Optional dependencies:

  • For plugin/mpeggraphic
    • mpg123 runtime library (dll is distributed within SDL_)
  • For plugin/tar:
    • zip
    • zlib runtime library (dll is distributed within SDL2_image builds)
  • For plugin/zzip:
    • zip
    • zlib runtime library (dll is distributed within SDL2_image builds)
    • zzip runtime library

Installation through Nimble:

  • For the Nim 0.17: nimble install nimgame2@#head
  • For the Nim 0.18 and newer: nimble install nimgame2@#devel

Recommended compilation flags:

--multimethods:on -d:release --opt:speed

Links:

Changelog:

v0.6.1 alpha (2019-06-15)

  • Nim v0.20.0 transition

v0.6 alpha (2019-01-21)

  • new modules: typewriter
  • new plugins: mpeggraphic (+demo22), tar, zzip
  • new utils procedures: textureFormat, textureFormats, toSeq, neg, new rand procedures
  • color constants
  • audio: playing template
  • emitter: emission areas, procedure argument for emit
  • entity: animation callback, blinking, scale parameters, dim template (by CodeDoes)
  • input: mouse wheel events (by CodeDoes)
  • icon surface init option
  • RW loading procedures
  • simplified time counters
  • demo23 (transform) (by CodeDoes)
  • various minor changes and upgrades, code refactoring
  • Nim v0.19.0 transition

v0.5 alpha (2017-08-01)

  • changed physics and logic systems
  • platformer physics
  • CoordInt type
  • now collider module is autmatically included into the entity module
  • group collider
  • huge Tilemap optimizations
  • various utility Tilemap procedures
  • TextureGraphic.drawTiled
  • GUI:
    • GUIProgressBar
    • widget actions
  • various minor changes and upgrades
  • Nim v0.17.0 transition
  • documentation, snippets, and demos update
  • second tutorial

v0.4 alpha (2017-05-04)

  • GUI:
    • RadioGroup
    • RadioButton
  • IndexedImage
  • PerspectiveImage
  • TextureAtlas
  • joysticks support
  • window management procedures
  • 4 new demos
  • first tutorial

v0.3 alpha (2017-03-10)

  • camera property (Scene)
  • new collision procedures
  • reworked input
  • Mosaic
  • parallax property (Entity)
  • TextField
  • GUI:
    • Widget
    • Button
    • TextInput
  • 3 new demos
  • home page, snippets, and documentation

v0.2 alpha (2017-01-31)

  • collider optimizations
  • music playlists
  • random procedures
  • tilemaps
  • tweens
  • emitters
  • various fixes
  • 4 new demos

v0.1 alpha (2017-01-16)

  • base scene/entity system
  • assets manager
  • basic sound and music
  • colliders (point, box, circle, line, and polygon)
  • fonts (bitmap and TrueType) and text output
  • keyboard and mouse input
  • vector drawing procedures

About

A simple 2D game engine for Nim language.

License:Other


Languages

Language:Nim 100.0%