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.2 alpha
Requires:
- sdl2_nim package (v2.0.14.2 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
Nimble:
Installation through- stable version:
nimble install nimgame2@#head
- development version:
nimble install nimgame2@#devel
Recommended compilation flags:
--multimethods:on -d:release --opt:speed
Links:
- home page
- demos
- tutorials
- documentation
- ng2planetoids - first demo game.
- ng2gggrotto - Linux Game Jam 2017 entry.
Changelog:
v0.6.2 alpha (2021-08-20)
- Maintenance release to keep up with the current versions of Nim and sdl2_nim until v0.7 is ready
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