Skip to content

Kyrixen/TinyBlox

Repository files navigation

TinyBlox

A lightweight pseudo-3D sandbox survival game written in Java using LibGDX framework for rendering, input handling, and audio playback.

TinyBlox focuses on atmospheric exploration, topology-aware terrain, modular architecture, procedural generation, and lightweight sandbox gameplay systems.


theme


Current Focus

TinyBlox is currently focused on:

  • Sandbox interaction systems
  • Terrain/topology experimentation
  • Atmospheric pseudo-3D rendering
  • Procedural terrain generation
  • Lightweight gameplay architecture
  • Exploration and progression systems

What Makes TinyBlox Different?

TinyBlox is built around layered terrain instead of voxels.

The world is composed of TileStacks that create pseudo-3D traversal, allowing caves, cliffs, ladders, elevation changes, and terrain-driven exploration without using a traditional voxel engine.

The focus is on:

  • Exploration
  • Traversal
  • Atmosphere
  • Terrain interaction
  • Lightweight architecture

Features

  • Layered pseudo-3D terrain system
  • Chunk-based world architecture
  • Procedural terrain generation
  • Terrain depth/topology rendering
  • Procedural tree generation
  • Player and enemy entities
  • Health and stamina systems
  • Inventory and item systems
  • Item drops and pickups
  • Tool progression system
  • Basic crafting system
  • Ore generation
  • Camera follow system
  • Keyboard and mouse input handling
  • Audio playback system
  • Block placing and destroying
  • Directional selector system
  • Day/night cycle
  • Atmospheric ambient/local lighting
  • Modular engine structure

Screenshots

Terrain Exploration

Terrain Exploration

Building and Crafting

Building and Crafting

Combat

Combat


Architecture

TinyBlox is structured into modular systems including:

  • Engine
  • Renderer
  • Camera
  • Terrain
  • Chunk
  • Tile
  • TileStack
  • Controller
  • Entity
  • MobEntity
  • Player
  • Enemy
  • Inventory

TinyBlox is an actively developed sandbox survival game focused on exploration, traversal, atmosphere, and terrain interaction.

The world uses lightweight layered terrain instead of voxel rendering, focusing on topology, traversal, silhouettes, and atmospheric exploration.


Important

TinyBlox is currently in active development.

This is NOT a finished game.

Systems, mechanics, rendering, terrain generation, saves, and architecture may change frequently between versions.


Game Mechanics

  • Player movement
  • Terrain system
  • Chunk system
  • Layered TileStack terrain
  • Procedural terrain generation
  • Procedural tree generation
  • Inventory system
  • Item entities and pickups
  • Tool progression
  • Basic crafting
  • Ore generation
  • Block placing
  • Block destroying
  • Basic enemy AI
  • Combat system
  • Menu system
  • Sound system
  • Camera follow
  • Entity system
  • Day/night cycle
  • Ladder (partial)
  • Lighting (simple)
  • Cave generation (Prototype)
  • RNG improvements
  • Stats system
  • Dialogues
  • Helper NPCs
  • Biomes
  • World saving/loading
  • Boss fights

Requirements

  • Java 17+
  • Gradle 9.3.1+
  • Desktop OS (Windows/Linux/macOS)

Setup Instructions

Clone Repository

git clone https://github.com/Kyrixen/TinyBlox.git
cd TinyBloxJava

Build Project

./gradlew build

Run Project

./gradlew run

Controls

Key Action
W Move Up
A Move Left
S Move Down
D Move Right
I Show / Hide Inventory
C Toggle Crafting Menu
Q Drop Item
Left Control Sprint
Space + WASD Step Up
Left Shift + WASD Step Down
Space Climb Up
Left Shift Climb Down
Left Mouse Button Destroy Block / Hit Entity
Right Mouse Button Place Block
Scroll Up Previous Inventory Slot
Scroll Down Next Inventory Slot

Notes

  • The world uses layered TileStacks for pseudo-3D topology rendering.
  • Textures currently use a 16x16 pixel-art style.
  • Systems are still experimental and may evolve significantly.
  • Performance optimization is ongoing.
  • Terrain/world generation is under active development.
  • Some systems currently use temporary or debug implementations.

Future Improvements

  • Cave expansion
  • Underground progression
  • More structures
  • More enemies
  • Save/load system
  • World persistence
  • Biome expansion
  • Better UI

Contributing

Contributions, suggestions, bug reports, and experiments are welcome.

You may:

  • Fork the repository
  • Modify the source code
  • Submit pull requests
  • Create experimental branches
  • Improve systems and architecture

Please keep contributions clean, documented, and compatible with the existing project structure when possible.


License

TinyBlox uses a custom non-commercial source-available license.

Source Code

The source code of this project is licensed under the TinyBlox Source License.

You are allowed to:

  • View and study the source code
  • Modify the project
  • Create forks and derivative works
  • Redistribute modified or unmodified versions

You are NOT allowed to:

  • Use the project commercially
  • Sell the project or derivative works
  • Monetize forks or distributions
  • Use TinyBlox code inside commercial products or services

All redistributed versions must include the original license and copyright notices.

See the LICENSE file for full terms.


Assets

All assets inside the assets/ directory are proprietary unless stated otherwise.

This includes, but is not limited to:

  • Textures
  • Sprites
  • Audio
  • Music
  • UI elements
  • Logos
  • Artwork

Assets may NOT be:

  • Reused in other projects
  • Redistributed separately
  • Sold or monetized
  • Claimed as original work

without explicit permission from the author.

See ASSET_LICENSE.md for full terms.


Contributions

By contributing code or assets to TinyBlox, you agree that your contributions may be used, modified, and distributed as part of the project under its licensing terms.


Credits

Created by Kyrixen

Built using:

  • LibGDX
  • FastNoiseLite
  • Java
  • Gradle

Copyright (c) 2026 Kyrixen