Vacuous (quickly derived placeholder title) delivers balls-to-the-wall hard, twitchy action game play based around guiding a space-bomb-ship through obstacle courses.

Report RSS Vacuous Dev-Log #3

Tilesets are neat and cool and then I make some and talk about it.

Posted by on

After two days of screwing around with ideas and what not, I have developed a tileset system for Vacuous. While creating a tileset that can be used to construct more artificial environments is usually easy, building one which supports more natural spaces is challenging. The best solution, as can be seen used in some modern 2D platformers, is to use a dynamic node based system which allows for any sort of curves and angles to be implemented. However, for me to properly implement this would require the creation of my own custom level design tools, a task which does not fit my limited time schedule. Instead, I took inspiration for a solution from an obvious source: Super Mario Bros. 3. In that title, Nintendo was able to create rolling grassland hills and curvy cavernous interiors using square and sloped tiles exclusively. I could do the same; the question was, what tiles did I need to draw?

In previous projects my tilesets would be incredibly large for a single wall type (even excluding slopes) since every single permutation of edge and corner combination quickly added up. Below is an example from a fan game I developed called The Pac-Man:


Of course, these tiles themselves, depending on the nature of the wall pattern, can be derived from smaller tiles each representing edges and corners. For previous games, both creating and using these tilesets was incredibly time consuming. Since for Vacuous I intend to use hand-drawn 1080p quality assets, this method for creating stages was infeasible. Thankfully, Game Maker Studio seems to have added more features to room editor since 8.1, now allowing developers to set the rotation and scaling of placed objects in a room. Considering this I devised a method for crafting levels with the below tiles (shown in the original sketches):


Three different lengths and types of rock edges, an inner corner, an outer corner, 1:1 slopes, and 1:2 slopes (each with an upper and lower portion) make up the outer edging of a stage's walls. Then, in the space behind the edging, I use a large, tiled texture fill in the walls. Each of the edging elements are rotated in the room editor, meaning they only need to be placed in memory for one orientation. The only hazard this brings is in regards to the addition of coloring and lighting, but careful thought allows that problem to be resolved (or so I think). Using this method I am able to create the rocky, floating mountains of the first environment in the game.

Besides this stuff, I added a whole bunch of other features into the game such as parallax scrolling backgrounds and stage completion. Though day by day development feels a tad slow (especially when I am doing art, a task I am certainly not a master at), I already have a semi-polished, playable demo with several levels after only two weeks of official development. Next week, I am going to start implementing the interface and overall menu structure.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: