nimgame2A simple 2D game engine for Nim language.

联合创作 · 2023-09-27 16:25

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



Installation through Nimble:



  • stable version: nimble install nimgame2@#head

  • development version: nimble install nimgame2@#devel


Recommended compilation flags:


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


Links:



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

浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报