Minecraft: Automating creation with WorldEdit


Possible future candidate for an adventure map

From my point of view, creating a tool, that would perform your desired action efficiently, is often better than just doing mentioned thing.
In last few days I've developed a small tool that translates given commands into series of WorldEdit plugin commands, and provides simple interface for writing dynamic scripts that modify world contents, even without having access to server to be able to import JS scripts.
Since game handles input nicely, a single message can be sent every 200..300ms, meaning that subset of commands needed to change selection bounds and perform desired operation over it often takes less than a second to perform, in comparison to minute-measured time needed to do same manually.
This opens rather interesting perspectives of automating creation of typical structures, as well as making it possible to push procedurally generated content into game easily.
Yesterday I've spent some time to port part of RPG05's dungeon generator for use with this, and this is the result.

Continue reading

Love2d: Platformer engine


Looks nice enough, right?

In free time of last days I've been developing earlier mentioned thing in Love2d, which is platformer engine.
One provides a simple framework for games that use combination of aligned tiles and dynamic objects.
As well it adds a easily modifiable system to load levels from strings, giving freedom for implementing level editors.

You can download a compiled version here or watch discussion thread on official forum here.

GameMaker: collision versus 3d array


Can be seen as a part of those block-building games

So, today comes with an example of collision between point, box, and line versus a 3d array.

3d array is presented as ds_list (z) with ds_grid's (xy).

Functions include management of this 3d array (creation, destruction, modification - no memory leaks included) and actual functions to check for different collisions.

All of these also include error handling, so attempting to check for collision outside the 'map' will threat area as 'air' (0) and not crash the game.

Also note that no optimization was applied to process of block rendering - you'd likely have to change that if basing game with large level on this example.

Download GMK

GameMaker: alpha mask on isometric tiles

As you might have noticed, process of making nice-looking isometric games can be tricky.
Especially that part when you want your terrain look like actual terrain rather than arrangement of isometric images.
Common approach to this is to use alpha channel mask(s) to smooth edges of tiles.
Here I've made a script that applies such mask to given sprite, handling all additional actions needed.

Continue reading