A downloadable game/game engine for Windows, macOS, and Linux

Download NowName your own price

Big Block Engine is a 2D, side-view block-based game engine with some simple physics rules, including cell-based fluid motion and blocks that can tumble.

Currently, it can be played like a simple sandbox game, allowing you to draw with blocks, block masks (blocks that modify the appearance of other blocks, like grass on dirt), fluids and furniture (multi-block placeable objects).  When un-paused, any unsupported tumbling blocks (like sand) will fall/roll, fluids will flow and contact conditions will occur (lava+water turns to lava rock, for example).

Current Features

  • Variable Resolution Tile Engine
    • Can make blocks as detailed as you wish
      • On a block-by-block basis
      • Within the limits of OpenGL and the used block renderer, of course
    • Foreground and background blocks
    • Starbound-style overlapping block edges
  • Furniture
    • These are multi-block objects that don't move
  • Full RGBA Block Paint
    • With the exception of pure black
      • Internally used for unpainted blocks
  • Physics Simulation
    • Tumbling sand
    • Fluid Motion
      • This is Terraria-style fluid at the moment
  • World Features
    • Can optionally loop horizontally and/or vertically
    • Active worlds are held in RAM
      • Similar to Terraria
      • Unlike Starbound, which constantly loads and unloads world sections as a player moves around
    • Can be any size desired, within the limits of Java heap space
      • With a 64-bit Java Virtual Machine and sufficient RAM, this can get exceptionally large
  • World Save/Load
    • This uses a very flexible zip-archive-based format
      • Most files in the archive are a single type of data
        • For example, all block masks for a single BlockPlane (either the foreground or background plane of a game world) are stored in a single file as raw numbers
      • This makes parsing and debugging  very easy
  • Modding Support
    • Add new blocks, block masks and fluids
      • Customizable rendering of these, as well

Future Plans

  • Full Terraria/Starbound-like game engine
    • Crafting
    • Mining
    • Lighting
      • Using a texture-based light-mapping approach
    • Audio
      • SFX
      • Music
    • Sprites
      • PCs, NPCs, monsters, projectiles, etc.
    • Background parallax images

Requirements

  • Java 8 or higher
    • This is not a browser-based game
  • OpenGL-capable graphics card

Credits

I've used a number of Liberated Pixel Cup and other opengameart.org assets to build the bootstrap mod.  The credits and licensing information are too long to include here, but please have a look at the in-game credits, as available from the help menu.  Alternatively, if you download the source archive, you can view the credits directly from the file 'bigblockengine/src/bootstrap/credits.txt'.

Donations

Donations will be used for/will accomplish the following:

  • Getting me a car
    • I'm without one at the moment
  • Encouraging me to work on this more
    • Currently this is largely a weekends only project
    • I would like to work less at my job and more on this
  • Commissioning new open game artwork

Notes for Developers/Modders

The source archive is intended to be used along with the binary archive.  Download and unpack the binary and then unpack the sources over that and you'll have all files you need.  The big thing not included in the source archive is the libraries required to compile it.

This open-source project is in a very early Alpha state and has been in development since February of 2016.  Making use of this game engine to develop a proper game will require significant work and I'd hold off at least until I've got sprites working.  At that point, it should be an excellent starting point for making side-scrolling platform games and the current editing mode should be useful for level design.

Until then, it will still work as a simple, moddable sandbox game.

All APIs are subject to change without notice, because this is bleeding-edge Alpha work.  I will not set the APIs in stone until I consider this project to be stable.  That will require all the final APIs to actually exist and that is at least a year out, if not longer.

I will probably write up something on how to mod this game soon; for now, you'll have to learn by example.  Have a look at the bootstrap mod's source files (from the source archive: 'bigblockengine/src/bootstrap').  They're mostly self-documented in the XML files.  The layout of the XML files will be backwards compatible insofar as I am able, so modding this is supported now.  This will allow you to add new blocks, block masks, fluids, furniture and new contact rules (these are fairly limited at the moment, however).

Milestones

Edition Code NameMeaning
BiscuitInitial Release Milestone
In memory of Ryan Johnson's Terraria character, may she rest in peace.  I cannot believe how many grave markers for her I found...
Buttered BiscuitCurrent Milestone
Includes block painting capability, allowing for much greater decorative capacity.  Full RGBA coloration of blocks is supported., except for pure black, which currently has special, internal meaning. 
SodaUpcoming Milestone
Sprite support, complete with physics, as provided by JBox2D.


Known Bugs/Issuses

  • Oil/water interactions can behave strangely at times.
  • Left/right fluid motion is very slow.
  • Running under Linux is subject to some heavy pauses in rendering any time the OpenGL context is invalidated.
    • This can be caused by moving the window from one screen to another.
    • May also happen when altering the screen resolution with the game running.
  • Entering/exiting full-screen mode may leave any open dialog boxes on screen in strange positions.
    • The dialog boxes stay where they are in window coordinates while the size of the window changes around them.
    • This cannot easily be fixed, but should be a relatively minor problem.
      • One can always switch back to the previous mode and re-position the dialog box.

Download

Download NowName your own price

Click download now to get access to the following files:

bigblockengine-0.2.2-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.2.2-Alpha-src.tar.bz2 1,004 kB
bigblockengine-0.2.1-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.2.1-Alpha-src.tar.bz2 964 kB
bigblockengine-0.2.0-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.2.0-Alpha-src.tar.bz2 964 kB
bigblockengine-0.1.4-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.1.4-Alpha-src.tar.bz2 934 kB
bigblockengine-0.1.3-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.1.3-Alpha-src.tar.bz2 933 kB
bigblockengine-0.1.2-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.1.2-Alpha-src.tar.bz2 933 kB
bigblockengine-0.1.1-Alpha-bin.tar.bz2 7 MB
bigblockengine-0.1.1-Alpha-src.tar.bz2 933 kB

Development log