Tag Archives: terraria

Stargazing

I have mentioned Terraria on several occasions here. One thing I have neglected to mention is that a month ago Redigit, one of the developers, announced that Terraria’s development has ceased. The other developer of Terraria, Tiy, has gone on to work on a spiritual successor to Terraria, Starbound.  One the surface Starbound looks familiar to Terraria, but once you start digging it becomes apparent that the design direction is quite different. Nearly everything is going to be procedurally generated as hinted at in this indiegamemag.com article. In Terraria only the world is generated and all other content is predefined. In Starbound, weapons, monsters, worlds and I’m sure basically everything else is going to be generated on the fly.

I wonder if monsters attacks will be randomly generated. One attack would be the creeper attack, which is a Minecraft monster that gets next to you and explodes. Just imagine you’re walking through a forest and then you spot a deer-like creature grazing. You really want to pet it so you slowly walk up behind it. Just as you extend your hand to touch its side, it turns its head toward you, glares for a second and then begins to flash. BOOM! The deer explodes and leaves a nice crater in it’s place. I’d buy that.

Starbound Arctic Planet

This design approach is not all too surprising. Sandbox games lend themselves quite well to generated content. I think this is mostly because sandbox games are all about exploration of the world and your imagination. When the world is generated with lots of parameters the sheer number of possibilities becomes nearly limitless.

There is one problem with this though. Because Starbound is putting so much focus into the randomly generated content it limits the exploration of your imagination. I am of course talking about modding. It does sound like there will be some support for mods but it seems to be more of an afterthought. Regardless, this game is going to be legendary.

Terraforming in Crea

Randomly generated content can be great and sometimes not so much. If the input is too constrained, then the result is something that is different and yet all too familiar. I think this can be seen in the Terraria world generation. Terraria has a fairly limited number of biomes and how they are used is restricted. Such as a large world will always have 6 floating islands and there is always one dungeon. After a few worlds patterns quickly become apparent. Don’t get me wrong though. Terraria can provide dozens of hours of exciting exploration, but the novelty does eventually wear off.

World images created with MoreTerra

When I set out designing the world generation for Crea, I knew I wanted to enable players to be able to have unique experiences with every world. The answer was quite obvious – moddable biomes. If players could easily create their own biomes or play with other player’s biomes then the possibilities are endless. Here is an example of what a biome content looks like.

biome.name = "Plains"
#How often this biome should be used
biome.frequency = 50

#The minimum and maximum dimensions of the biome
biome.minWidth = 80
biome.maxWidth = 300
biome.minHeight = 80
biome.maxHeight = 300

#Specifies that this biome only occurs on the surface
biome.surface = True

#The elevation of the biome
biome.elevation = 100

#The amount of elevation changes (hills) in the biome
biome.hilly = 10.0

#How much the lowest and highest elevation can differ
biome.relief = 2.0

#A list of biomes that cannot neighbor this biome
biome.blacklist = ['Volcano']

#List of actions to apply to the world
#This part is still being worked on.
biome.placeTiles('stone', frequency=20, pattern)
biome.placeTiles('mud', frequency=10, pattern)
biome.plant('grass', frequency=40)
biome.plant('tree', frequency=5)

Some of these details will change but this gives a good idea of what a biome looks like. Most of the contents are explained. You can do simple things like increase the ‘hilly’ and ‘relief’ properties and have mountains. For the real power we have the actions section at the bottom.

After the basic terrain has been generated, each biome has it’s list of actions applied to it. In this case all Plains biomes will have stone randomly placed, then some mud, then lots of grass will be planted, and finally a few trees. I plan to include several basic actions that players can use to make creating biomes as simple as possible, but what if you want to do something completely different? Lets say you want to build a crazy dungeon. For advanced modders, I have added a special action that takes a callback function which provides you ample power to twist the world to your desires.

Now that we know how biomes are made, the next logical question is “How are they used”? Players will have the option to create a world with simple or advanced options. With simple the player chooses a name and the world size and is good to go. From the advanced options the player is also able to adjust the frequency of biomes. Want a world consisting purely of bunny warrens? Kelley, our artist, does!

Not only will players never have to see the same world twice, but they will be able to explore the worlds that they want.

Sandbox Modding

My last post I introduced this idea of building a sandbox game that is mod friendly. What does this “mod friendly” actually mean? Isn’t decompiling the game’s executable and editing the source code considered as supporting mods? Not quite. Decompiling is obviously a way to mod games, as Minecraft and Terraria have proven, but it is still far from being truly mod friendly. To be fair, these games were built by very small teams (1 and 2 people respectively) and being mod friendly can be a lofty goal. To me, mod friendly means to make creating, sharing, and managing mods as simple as possible for the average player.

Creating mods will be simple and fast but still provide much flexibility for those with big plans. Tools will be provided to help perform the more basic tasks such as setting up a mod. Adding content will be as simple as creating a new file, typing in a few lines, saving the file, and then loading it up in the game. No compiling will be required. One goal I have is to make it possible to reload content in game to help streamline the creation process. No restarting necessary!

The provided mod tools will help with packaging up a mod as well. Once packaged a player simply has to drop the mod package into their directory and the game will take care of the rest. We are also considering providing an official hub to upload mods to. Eventually, if the game gets onto Steam, we would love to support Steam Workshop. This is a service provided by Steam that allows players to easily share, search, and subscribe to game mods.

Players will be given the ability to enable/disable mods and even completely remove the mods all in game. The goal is to minimize the amount the player has to manage mods externally. We even have plans to make the multiplayer host (aka server) provide any missing mods to joining players.

The way that we will ensure that this game is truly mod friendly is by dogfooding it. All of the game content will actually be a mod to the game. With this philosophy we will be able to ensure that nothing is hardcoded and nearly every single aspect of the game can be modified. This won’t just include the basics such as items, monsters and tiles. It will include much more such as biomes, NPCs, character customization, and eventually the ability to add entirely new systems to the game.

In my next post I will go into the more technical side of how the game will be made mod friendly.

Sandbox Concept

I am almost ashamed to admit it, but I have never played Minecraft - “Minecraft is a game about placing blocks to build anything you can imagine.” I remember first hearing about it when it started to really pick up momentum about a year and a half ago. I watched videos of all of the amazing things that people would make in it but I never caved in. Due to Minecraft’s popularity, several Minecraft knock-offs have been done to only mimic the core basics, not add anything substantial to the formula, and then profit like mad. The first true exception I saw was Terraria, which actually builds onto the core mechanics of Minecraft and its inspirations. Terraria adds NPCs, much more in-depth fighting (bosses included!), and some more RPG elements.

Back in November Aaron, my brother and Siege Games designer, picked up Terraria and before too long I was sucked into it as well. We played an alarming number of hours before we even started to slow down. To revitalize the game some, Aaron began looking into the mods for the game and even tried making his own. I watched and cringed as he fumbled around trying to decompile the executable just in order to add a mod to the game. After much hackery he was able to get the game recompiled but broken. It wasn’t much longer when we decided that the game had ran its course.

Fast forward a few months, I had been struggling to get the movement down for Crazy Old Me for a few weeks. I knew its importance but it was really starting to take its toll on both the project and me. So much so that I began an innocent brainstorming of “If I were to make a game like Terraria, what would I do differently?” The answer was clear – “Easily moddable”. My excitement grew exponentially as I began to realize the implications that this could have. Many people describe Minecraft as a virtual Lego set. My envisioning is to not only let players play with the Legos but make it easy for them to build the Lego blocks as well. I’m sure Aaron and I could still be playing Terraria if we had at least some freedom in modding it. Of course, the core game has to be enjoyable enough to warrant mods and so Aaron and I had a more official brainstorming session. We came up with some more answers to my original question that could help set us apart.

We were thoroughly seduced by this sandbox idea. So much so that we knew we had to at the very least play around with the idea. Crazy Old Me had not been forgotten but and it did slow us down some but “we can come back to it in 2 weeks” was enough to convince us. So for the last two weeks we have been working adamantly on fleshing out this concept and working on an early alpha. The likelihood of us returning to Crazy Old Me dwindles everyday as we march forth to the holy procedurally generated land. Here are some (random) main points planned for the game. I will go into them in greater detail soon.

  • 2D platformer with building (somewhat given)
  • Easily moddable but with extreme flexibility
  • Unique crafting system
  • Core RPG elements (such as leveling)
  • Colorful and stylized art from Kelley McMorris
  • Multiplayer