hate5d

häte5d: a lightweight moddable 2D game engine for Nim

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.1.1
License LGPL-3.0
CI Status Failing
Downloads 0
Last Indexed 2026-07-22 05:30

Authors

  • MarkArchive/devdeco

Installation

nimble install hate5d
choosenim install hate5d
git clone https://github.com/MarkArchive/hate5d

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
hate5d - - - - - - -

Dependencies

Package Version Optional
nim >= 2.0.0 No

Source

Repository https://github.com/MarkArchive/hate5d
Homepage https://github.com/MarkArchive/hate5d
Registry Source nimble_official

README

häte5d

by markarchive

a lightweight, moddable 2D game engine for Nim (built around programmability, not meta-programming)

License: LGPL v3 Nim Status


what is häte5d?

häte5d is a 2D game engine for Nim focused on programmability and mod support. unlike visual editors, everything in häte is code: no drag-and-drop, no node graphs (like löve2D)

key ideas: - injektion: a first-class mod system built into the engine - hatex: CLI tooling for building, publishing, and finding games - rage bait: a pp2p (pseudo p2p) game registry for häte games (planned) - has: the engine's own dev tool, itself a häte game - micreads: multi threading window (it's literally that)


status

WARM: häte5d is in early development. The API will change without notice (or with notice if you read changes).

Module Status
core in progress
window in progress
render in progress
dd (objects) in progress
Injektion planned
hatex planned
Rage Bait planned

dependencies

  • Nim (obviously) 2.0+
  • SDL2
  • SDL2_image

on Arch/RebornOS (my OS):

sudo pacman -S sdl2 sdl2_image

on Ubuntu/Debian:

sudo apt install libsdl2-dev libsdl2-image-dev

getting started

import hatelib

let win = initWindow("my game") # creates a window

while true:
    # ya, i hate 2 spaces indentation
    discard initFrame(win)
    discard drawFillRect(win, 100, 100, 64, 64)
    discard endFrame(win)

project structure

häte5d
├── docs
│   ├── CHANGELOG.md
│   ├── docs.md
│   └── markarchive.md
├── README.md
├── NOTICE.md
├── LICENSE.md
├── warm.md
└── _src
    ├── core
    │   ├── common.nim
    │   ├── logic.nim
    │   └── sdl2.nim
    ├── hate5d.nimble
    ├── hatelib.nim
    └── modules
        ├── dd.nim
        ├── render.nim
        ├── window.nim
        └── input.nim

license

LGPL 3.0 (see LICENSE.) Games made with häte5d are not required to be open source (read NOTICE).