Trapped between Eye Candy and Motivation

There’s this really big problem when it comes to working on games (or really any sort of project that lies at the intersection of engineering and design). It has nothing to do with programming or design or testing or art or sound or anything else like that.

The problem is staying motivated. This is especially bad when you are working alone, but it can even happen in groups of 2 or 3 people. Beyond that, you can always find motivation in the stuff that other people are doing, because it comes from outside of your personal drive and creativity. But in small groups or solo projects, the game becomes your baby, and then you get tired of your baby.

Sometimes this happens when you work so long on one subset of features that they sort of blur together and become the totality of the project to you. You quickly get tired of this smaller sub-problem (especially tweaking and tweaking and tweaking), then get tired of the game without realizing there is other interesting work to be done.

Or maybe you realize that there is a lot of stuff to do on the project, but you’ve been working on it so long without much visible or marked improvement that you begin to despair. Maybe the project will never flower, you think. Maybe your efforts will never be used to the full extent they were designed for.

Wherever this loss of motivation comes from, there is one piece of advice I heard that really helps me. It boils down to this: if you keep wishing your game was awesome, make it awesome. Add in that feature you keep thinking about, but keep putting off because there is more important framework-laying to do. Or take some time off and mess around with that one technical gimmick (shader, hardware stuff, multi-threading, proc-gen, or what have you). When you feel yourself losing motivation, give yourself permission to go off and get it back. Don’t soldier on, because your project will inevitably end up on the dump heap with all the other projects you abandoned.

The only problem is, everyone (including myself) always says that adding eye-candy and little trinkets to your project prematurely is a Bad Idea. If you make your game cool by adding eye-candy, the wisdom goes, then your game is no longer cool because of the gameplay (you know, the point of a game). Arguments about whether gameplay is important not-withstanding, if adding a few bits of visual indulgence saves your game from succumbing to ennui, then by all means, add the cool things!

Advertisements

Code Trinkets are a Bad Idea

Often when engaged in the construction of some piece of software, be it a web application or a native computer game, we get the Feature Fever. Our brains are trained by years of computer use to judge software by its polish. The tendency is misguided at best, and we try to think past it when fairly evaluating a prototype. But the fact of the matter is that even one or two polished aspects of a website makes it look better.

THIS IS A TRAP!

When you imbed a YouTube video or add rounded corners to your buttons, you are deceiving yourself. When you look at the screen, your eye is drawn to these familiar, visually impressive elements. Consequently, you subconsciously ignore or undervalue the unfinished parts of your project.

This leads to two things. First, you think you are farther along than you are. But more importantly, it makes you hungry for more features. Since one or two polished aspects look good, why not add more? Now you are on the hunt for short-term fixes that give big rewards in terms of visual polish, rather than working on the code that actually makes your program work.

If you start polishing before your core functionality is complete, you can get pigeonholed. When an interface element is polished, or some other unique feature looks amazing, you reflexively want to protect it. Even if the rational decision is to get rid of it and integrate the functionality somewhere else, you will keep the feature there. Letting form overpower function is a deadly trap.

The easiest way to add a polished feature is to search on the internet for code trinkets. Code trinkets are little snippets or blocks of code that you stick into your programs. Code trinkets are encapsulated, so all you have to do is paste and reload. Suddenly a beautiful new feature is completely finished.

Unfortunately, code trinkets have two downsides: they restrict your feature to exactly what is written, and they don’t leave you any smarter. Unless you take the time to figure out what ever line of the trinket does, and would be able to write it yourself (at which point it stops being a trinket), don’t use it!

Tekkit Sucks

There is a set of Minecraft mod packs that includes Tekkit and Technic. You may have seen these showcased in a number of venues, including a popular Yogscast series. Let me just get this straight. Tekkit is stupid. It was obviously designed by someone who looked at Minecraft and said, “I’m going to make this the best game ever.” Unfortunately, they merely succeeded in creating a hodge-podge of mods which take away from the core of Minecraft.

The gluttony of blocks in Tekkit.

The gluttony of blocks in Tekkit.



But what is the core of Minecraft, really? Ultimately, Minecraft is what you make it. I say that unironically, even though I’m about to tell you how it should be. Minecraft has always been a great source of surprise. Legions of Youtube videos outline hundreds of crazy contraptions and structures that use the basic mechanics of the Minecraft universe to form impressive and surprising constructions.

Nearly every feature in Minecraft has a way of being exploited to perform tasks that the creators never even fathomed. Beyond the basic mechanics such as crafting and smelting, the use of a feature is mostly left up to the user. Fluids, redstone, minecarts, TNT, signs- must I go on? But really that was the appeal to begin with. You can create completely new contraptions within a very simple set of game rules.

This is why I think many of the features Notch added in later updates- wolves, potions, dragons, the End- run contrary to the spirit of the game. It’s OK to add elements to expand the exploratory, adventuring parts of the game. But when that threatens to push the creative, inventive part of the game into the shadows, I think the developers need to re-evaluate their priorities. Minecraft was never prized for its combat, or adventure. It became popular because the game allowed players to invent their own set of rules and develop the world how they liked. When the developer takes the reigns and decides the end-goal FOR the player, something has gone awry.

For the same reasons, I absolutely despise Tekkit. I can see the good intentions behind it, but it completely fails at its mission. A group of people, perhaps, with no sense for the game, were intrigued by how much could be done in Minecraft. But they thirsted for more. So they set out and gathered mods which let them do what they wanted. Pipes let them transport items, tanks let them store fluid, pumps let them suck it up, engines and solar panels gave them electricity, quarries let them automate mining, and energy condensers let them get any material they needed. To make it more “balanced”, they added a larger set of materials needed to build these contraptions, including rubber, and tons of new ores. Furthermore, a control system was needed, so they put a programmable computer in. A computer that ran Lisp scripts. And you loaded the scripts from outside Minecraft. They needed more power, so they added uranium and a nuclear reactor.

Suddenly, it wasn’t Minecraft anymore. It was a horrifying maze of features that was no longer surprising. Sure, people could build fascinating things that were intricate and took enormous amounts of time. But it wasn’t really surprising anymore. A nerd with a computer and a huge set of physical actuators can obviously accomplish a lot, whether the computer is in a videogame or not. The appeal of Minecraft was that nobody thought building a ALU was really possible when it started out. Half the crazy contraptions were for accumulating resources: automated farms ranging from chickens to monsters to reeds to cobblestone to snow. With the energy condenser, nobody needed ice pipelines or chicken friers. Sure, you could still build them. But there was no point. Oh, you built an automated oil refinery? All it takes is pipes, pumps, and refineries. The blocks are all there. That’s the only thing a refinery is used for.

Blocks only have one purpose, even if that is a broad purpose. Engines power pipes and quarries and pumps. Fuel goes into combustion engines. Refineries make fuel. Pumps suck up liquid. Quarries dig. Seriously, you make a single block, which then automatically digs. You can also add a pump to it if you want it to suck up water and lava. But there is no design for you to modify. You can’t make it more efficient, or irregular, or spray water on lava. You can’t build a giant engine room which is twice as efficient due to interlocking designs. You can’t build a computer, since there is already one built. Want to spray some construction foam over everything to make it blast-resistant? Boom, done. Need a nuclear reactor? There’s a block for that. Want to make it bigger? Sorry, you can add on extra chambers, but only up to six. It outputs a high-voltage. You need to make a very specific set of blocks, each of which steps the voltage down one level.

Again, this violates the very essence of Minecraft. That’s why I developed a plan for a comprehensive mod that allows most of the same functionality of Tekkit, but goes much, much further. I will cover this mod in a future post, or probably multiple posts.

%d bloggers like this: