Introduction

Welcome to Kraken Engine!

Fast and lightweight, Kraken is a 2D videogame development framework built on top of SDL3. It's designed to offer just the right balance between high-level convenience and low-level control, making it ideal for both hobbyists and experienced developers.

Whether you're crafting a minimalist arcade game or building a fully-featured side-scrolling adventure, Kraken gives you the tools to develop confidently and creatively.

Overview

Kraken expands upon SDL3 and other helper frameworks with a rich set of utilities tailored for game development. It wraps common patterns into intuitive systems while keeping you close to the metal when you need to be. Features include:

  • Unified Input System: A clean abstraction over keyboard, mouse, and controller input with support for just-pressed and just-released logic, input rebinding, and axis detection.
  • Animation Controller: Effortlessly manage sprite sheet animations with flexible frame control and transitions.
  • Tile Map Support: Load and render Tiled TMX maps with support for layers, object groups, and tile flipping.
  • Pixel Array Manipulation: Get opacity masks and create textures from scratch with rgb(a) multi-dimensional arrays.

Planned Features

Kraken is still expanding. The features below represent key milestones I plan to implement, all focused on giving developers greater control, speed, and creative range in 2D game development.

FeatureDescription
PathfindingA*, grid-based navigation with customizable heuristics and support for obstacles
Raycasting2D ray-line intersection detection for visibility, lighting, and LOS mechanics
UI SystemModular interface system with anchors, events, and style theming support
Physics EngineBasic rigidbody dynamics, collision detection, and response with tunable forces
Networking UtilitiesSimplified sockets and messaging layer for real-time multiplayer or RPC systems