Blog Archives

Make No Wonder – Canoes, Ziplines, and other things

Finally, after almost a year of development, I’m launching Make No Wonder. It’s fully playable and pretty much finished, although I plan to keep adding things to the game, streamlining the code, and working on an app version. You can play the game at makenowonder.com.

I didn’t blog as much during the development as I’d planned, as I’ve been busy teaching. Here are some of the changes since I last posted a demo:

I completely reworked the way the game is drawn on the screen, using HTML5 Canvas instead of DOM elements and CSS. This version also draws only the area which is near the player. This became necessary because previous versions simply drew everything on the map all the time, which meant that the browser spent tons of time drawing things that weren’t even in view, causing obvious performance issues (especially on larger maps). Over the past few months I’ve also spent a lot of time optimizing the way things are drawn, making the game load faster and reducing memory usage. I’m using sprite sheets for most of the graphics. There’s still some progress to be made here, but for the most part it’s working quite well now. DOM elements are still used for the cursor, the inventory, and other interface elements.

The game interface has changed a lot, as previous versions were full-screen. Now the game is played in a smaller window, with space on the right for a mini-map, energy bar, actions list, and inventory. The game area can be resized using a control in the top-right corner, so you can make it fit better if you have a smaller or larger browser window.

The energy bar is new. I initially wanted to avoid videogame conventions like an ‘energy meter’ and just let the player explore, but the game needed a mechanism to encourage the player to think about the most efficient way to do things, and add a little bit of tension. You can keep playing if you run out of energy, you just start fainting occasionally. You can also fall in the water now, which makes you cold. When you are cold your energy depletes more quickly.

The player chooses what they want to build from a menu on the right side of the screen. In previous versions of the game, you would choose what to build by simply hovering the mouse over the map, since each buildable item was built on a different kind of tile anyway. This kept the interface simple, but also restricted how many things I could add to the game. I also wanted to move away from interactions that rely on mouse hover events, as I’d like to eventually make the game playable on touchscreens, which do not have hover events.

The game now uses a grid-based inventory system. Items can be stored at various sites on the map (caves, camps, and so on), and some sites provide an infinite source of certain items. Some special items take up more than one inventory space.

I added forests with larger trees – firs and birches. The game really started to come together when I added these, as they serve as large obstacles (until you build an axe), making exploration more complex. The smaller trees are still around, as a source of wood when you don’t have an axe. The smaller trees drop seedlings and spread as you play. The larger ones don’t, mostly because there are so many of them that it seems unnecessary.

The terrain is more complex, with larger mountains and more variation in land terrain tiles. I animated the waves, and the area outside the map shows larger animated waves instead of empty space. A few other things are animated as well.

The map has a softened effect, with tiles that blend into each other. This was something I always wanted to add, but it was tricky since to keep the game running smoothly it’s necessary to draw as little as possible. In the end, I discovered that I could create a ‘fuzzy’ map by basically enlarging the mini-map in the corner, placing it behind the tiles, and drawing slightly smaller tiles. Since the game was drawing the mini-map anyway, this turned out to be fairly efficient, and I’m really happy with the effect.

There are tons more inventory items to find and build – 20 different kinds of items so far. This is a big difference, as earlier versions only had wood, stone, and a few special items to find. I’ve replaced most of the special items with buildable versions, so (for instance) you can craft an axe instead of finding one randomly on the map. I think this makes the game more fun, and less dependent on chance.

There are lots more structures, vehicles and tools to build, too. You can see a few new ones in the screenshot above – ziplines, canoes and quarries. The ziplines are particularly fun, as it’s possible to build pretty complex transportation networks. Other new stuff includes shovels, which let you dig for items Zelda-style, and snares, which provide a new food source. I haven’t provided any complete list of things you can build, preferring to let players figure things out for themselves. For some hints, see the FAQ and screenshots.

There are a couple of key sites to find, with special items. These are placed randomly and right now their locations are marked on the mini-map when you start, but this will probably change. I would like to hint to the player which direction these are in, without marking their exact locations.

The game has an ‘ending’, which is not so much as an ending as a reward for players who figure things out and pay attention. It is fairly tricky to figure out, and I need to work on the logic of the ‘story’ a little more. I may expand this ending in the future, or add alternate endings.

The game has a home at makenowonder.com, with a newly redesigned logo, a snazzy map size selection menu, frequently asked questions, and so on. Try it out!