Improving Heat Signature

Alright, after playing this game for 27 hours:

And after seeing this unrelated GameMaker’s Toolkit video:

I’ve realised that Heat Signature seems to have conflicting goals that don’t guide the player into interesting things to do.

You have:

  • The main loop of infiltrating spaceships => going back to base with loot.
  • Missions that reward infiltration with cash, loot and liberation progress.
  • A liberation mechanic that unlocks loot to buy from the stores for all characters and frankly seems to be the only actually worthwhile thing to do.
  • A fame mechanic that limits a character’s progress as they do things and at the same time saves their achievements for posterity (poorly in my opinion).
  • A personal mission that offers a difficult mission … and if successful, a basic new line added to your character’s fame epitaph.
  • A retiring mechanic that lets you “save” one item for future characters to discover and record the epitaph for everyone to know who liberated what for some reason.

By themselves, the goals and mechanics I’ve just described seem adequate for player motivation and interesting gameplay loops. The thing is, this all starts to seem kinda off when considering that the heart of the game is getting into and out of hairy situation by the skin of your teeth. Better loot is nice, yes, but nowhere as interesting and entertaining as planning out how to get out of almost impossible situations, MacGyver-style.

The game, as of right now, heavily rewards careful planning and monotonous play styles. Since playing recklessly doesn’t grant any rewards aside from getting things done quicker and maybe some achievements, there’s plenty of reason to play the game as boringly as possible without tapping into what actually makes it great.

Alright, this is all well and good. Pointing out what’s wrong with a game is particularly simple once you’ve spent 27 hours with it. The tricky thing is how to fix it … so this would be my suggestion:

Make the fame mechanic a more prominent, interesting and worthwhile goal. By necessity of what I’ve already described, the fame mechanic needs to be more compelling that getting more loot already is, and that is a mighty challenge.

On how to do this exactly, I’m a little less certain but I’d suggest de-emphasizing the liberation aspect of the fame epitaph since we as players are already inclined to do that for the sake of more loot. I’d replace that with all of the actual things the player got to do during gameplay, either good or bad. How many people they’ve killed, how many people they’ve harmed, how many missions they’ve done, how much time they’ve spent floating in space, how they’ve died, the alarms they’ve triggered, the missions failed, the liberated stations and any other interesting data. On top of that, make the note-worthy achievements visually pop with medals.

Medals like:

  • Pincushion: Got stabbed 5 times and survived the first 4.
  • Almost a saint: Killed only 3 people.
  • Space floater: Nearly suffocated three times in the same mission.
  • Never in a hurry: Timed missions? No thank you.
  • Alarmingly effective: Triggered the alarm on every. Single. Mission.
  • FlusterCuck: Got stabbed, airlocked, sounded the alarm 3 times and STILL managed to steal the (insert MacGuffin name here).
  • Ninja of the future: Never left a *living* witness.
  • You WHAT?: Sometimes, the capture target became meat soup under mysterious circumstances.
  • And he/she was never seen again: floated off into space. Permanently.

And so on and so on.

To make the former epitaph medals more meaningful I’d make them contribute towards liberation progress in a significant way upon death, especially for high fame characters that don’t contribute as much with just plain difficult missions.

Also, replace the retiring mechanic with a “going out with a bang” one: Basically, the more spectacular the character’s death, the greater the multiplier on their epitaph medals.

So, with these two changes you’ve made the character death a big part of the game as well as the main way to remember a character.

On the subject of naming an item and making it available for others … I’d suggest extending the fame mechanic to the items themselves. Every time your character does something epitaph-worthy, the most used item in that mission receives the fame by proxy. At the end of a character’s life, the most famous items of a character become collectively remembered. The thing is, they are only remembered … and that distorts what they actually were. In gameplay terms, the item you find later on is slightly better than the original one (higher use count, better range, armour-piercing, faster recovery, self-charging, etc).

I’d also add some way of buying these famous items. Maybe in the miscellaneous store as one of the overpriced things.

Musings on the future of web tech

I am a web developer. I make my living coding JavaScript stuff and interacting with the DOM to show said stuff in pretty colors with wacky animations. I design visual interfaces for people to interact with and perform some kind of task. Most of the time said task is just showing information in a useful way (this blog mostly shows what I write in a friendly format).

As a result of my career path, I’ve gained some insight into what the web is about and where web technologies are headed. I don’t pretend to be any kind of expert in the matter but I am invested into what this thing is all about and I’d like to talk about it.

Are we cool?

We cool.

Alright, so let me start by saying that the DOM and by extension, CSS, is the worst piece of technology that I’ve ever had the displeasure of working with.

It’s a mess and will continue to be a mess because we don’t like breaking stuff. I mean, I like the web as a user and I’d like it to not break into a pile of garbage all of a sudden. Whole economies would collapse, companies would go bankrupt, etc, etc.

So, we are stuck with the DOM for now and will continue to be stuck with it at least until we develop an alternative. What would that look like? It will probably be very similar but more consistent and designed specifically for the needs of a true interactive application instead of just a markup-based technology directed at showing documents.

In the mean time, JavaScript is going to evolve rapidly in the coming years. ES6 was a welcome change of pace that made javascript development tolerable even though it didn’t fix many of its glaring flaws. Again, can’t fix those without breaking pretty much every web page in existence.

But even though we are rapidly gaining features and new syntactic sugar to play with in JavaScript, that advancement is not going to be enough on its own. JavaScript is going to need to evolve in features more than syntax in order to allow other languages to compile into Javascript. In fact, we are currently creating new supersets and subsets of javascript for different needs at a spectacular rate. Asm, CoffeeScript, PureScript, Flowtype, JSX and Typescript, to name a few.

At the end of the day, JavaScript by itself will not be able to evolve fast enough. The browser is going to need to accept bytecode instead of only a scripting language. JavaScript will continue to evolve but this step is necessary for other languages to truly join the party and accelerate the rate of innovation.

Tons of new languages will appear and old ones will be retrofitted to work with this new bytecode platform.

I suspect that after half a decade of experimentation and rapid evolution we’ll reach a consensus as to the new default language for web development. A language that is probably more functional, with strong typing inference, with a more consice and consistent syntax and with a better number implementation.

At the same time, web browsers will become fully fledged sandboxes through WebAssembly. Meaning, web pages will truly become web applications. They will let the user “install” said applications to the machine (like progressive web apps) and they’ll be as performant as bytecode will allow. They will also be accessible offline and will be geared towards truly replacing the current ecosystem of computer applications and phone apps.

Just like with mp3s and mp4s, new hardware chips will be developed to exclusively handle web apps for dedicated small devices.

The web is dead, long live the web.

Becoming a javascript dev

Alright, so, it has been a year and a half since I last did anything around these parts. You might be wondering what I’ve been up to … or not. I don’t blame you for not caring at all about someone you don’t know and haven’t connected with at any personal level.

You monster.

Anyway, I’ve been programming a whole lot lately. It turns out that it is a lot of fun once you find the stuff that you actually like to do. In my case that’s frontend development in general (mostly web stuff).

The fruit of my labor has been my continued existence as a relatively not poor human being that continues to live inside this capitalist society and its filthy filthy way of life … but more importantly, I’ve been developing a gamepad library in javascript called JoyMap. That’s right! I haven’t forgotten my roots as a game designer and desire some day to develop a game from the ground up … again.

Forgive me for I have nothing to show of actual value to anyone that’s not a js programmer, but my resources are scarce, my will is dwindling and my voice as a writer is all over the place.

In other news, I decided to start writting here in this blog of mine again after so much time has passed since the last time I said or desired such a thing. I cannot promise any schedule or even what themes I’m gonna be writting about, but yeah, more writtey writtey on bloggy bloggy.

Interesting idea space

meta humor is meta


Here’s what I’d like to see more of:

  • Affordance is important and should be treated with the utmost respect. Or in other words: If something looks and feels like it can be done, it should be possible. This rules out invisible walls, mechanic cheats such as making enemies invincible due to narrative reasons, environmental mechanics that only affect the player but don’t affect anybody/anything else, etc.
  • Multiple intersecting mechanics. I think this is the source of almost all unexpected and wonderful interactions that can be possible while playing a game, Spelunky being one game that excels at this (shopkeeper interaction especially) as well as my favorite moment in a game. Unexpected interaction that follows a restricted possibility space and is completely rational in hindsight is the best type of interaction. It is one of the few sources of mechanical comedy that videogames have (though extremely difficult to pull off since timing  or rythm is also required for comedy).
  • The player’s time is precious. If a design choice makes it so that the player must spend time in an undesirable activity in order to reach a desireable one then something’s wrong with the game. Punishment in the form of lost time must be treated as the worst type of punishment possible.
  • All input must correlate to a semantic meaning. Never, ever have a button that does two or more completely different things depending on surrounding context or how the player presses the button or what part of the UI the player is on*.
  • A low skill requirement but a sea of possibilities when the player is skilled enough. Previously plain rooms are in fact loaded with stuff to do and explore and this content/interaction is not gated artificially by locks and keys but readily available to whoever has the knowhow or the curiosity. Avoid situations that result obtuse in hindsight once the player has discovered the secret/s.
  • Just … hidden stuff. If there is one thing that I think I’ll never get tired of is finding secret rooms/items/interactions. They spark curiosity and they trigger (at least for me) a sense of wonder if done correctly. Finding ammo behind a staircase is neat but finding a whole optional section with a corresponding reward is awesome.
  • Cheats. Yeah, just cheats. Cheats are awesome. What happenned to those?

Game Design: love to the maybe

Game design is not easy. But it’s not hard either. It’s a problem that is only solved by cyclic repetition between idea-forming, prototype-making and prototype-playing. It’s weird in that way: Nobody can escape that process.

And I love it.

Anyone can think of an idea for a game but not everyone can discern if their own idea is any good or not. Most of us just merge, combine and in the best of cases extrapolate different individual game components to find something new, something awesome and surely something that has never seen before.

Skyrim with guns! Mario with Guns! Racing with Guns! Football with Guns!

Ok, that last one sounds interesting in a tongue-firmly-planted-in-cheek kind of way, but I digress.

We (as in, people who play videogames and like to think of new game ideas) have a tendency to ground all of our ideas in the things that are tried and true, the things that have already been proven to be fun, engaging, and some other adjective that sounds good but is so non-specific as to be meaningless. We need to ground ourselves because thinking about something that has never been done is not only difficult, but it doesn’t click automagically in the brain by connecting previous experiences together. The possibility space for a new gameplay idea will never be well-defined in our brain unless one of two things happen: Either the owner of said brain gets to play around with at least a prototype of the idea in question or he/she/it needs to spend a tremendous amount of time parsing through every little detail to formulate and bring the possibility space into focus.

Let me give you an example.

Imagine you want to build an arkanoid game, but in 3D space. How would you move in such a situation? Where would the camera be? Should the movement be restricted to a line, a plane or the full 3D space? Should this space be straight or curved?

My first answer for something that has never been done would be …. second person view of the arkanoid ship, looking through the back of the semi-transparent ship (maybe a wire frame?). The movement would be confined to a sphere around a target object/enemy, with the additional option to move closer or farther away from the target. Changing targets would in turn change the sphere in which the arkanoid ship can move. Gameplay would consist of bouncing back enemy projectiles unto themselves, maybe with an ikaruga-inspired mechanic to distinguish bounceable bullets from harmful bullets.

Awesome! Except …. well … yeah, something’s off. That kind of movement would be useful for bullet-bouncing but really annoying for space traversal. Now that I think about it, this kind of movement would work like in the N64 zelda games. Those games would have been horrible with Z-targeting movement 100% of the time but would also suffer if it was missing entirely.

Now, if we implement free 360°movement in 3D for space traversal and then enter Z-targeting mode only for bouncing bullets this could work. Or not. Maybe. I don’t know. Depending on a few little details we could end up in puke city if we’re not careful.


That’s how my brain works when thinking about game ideas. Inevitably, I’ll make a connection to some other game or mechanic that I’ve fully explored and suddenly things become more clear as to what could go wrong and what would be the best course of action. But even then, I’m not able to fully grasp how such a game would play because of the multiple levels of movement that I haven’t experienced before (that is *I* haven’t, there’s probably a game that does this), and so my next step would be to investigate if there exists a game with similar characteristics to what I’m thinking.

After a few rounds of refining and fine-tuning of the idea it should be time to build a prototype of it as fast as possible, because you can do so much with imagination, memories and logic. Sometimes it’s literally impossible to envision which parts of the idea are going to be engaging and which parts are going to be in the way. Maybe the movement feels really great but the bullet-bouncing clashes with it (going fast: yay for movement, boo for precision and vice versa).

That’s where it hurts.

Building something up just to find that it doesn’t work is not the happiest feeling in the world, but with time you get used to it. Some ideas go all over the place and end up spawning several distinct ones. Some others just plain don’t work and must be therefore discarded unceremoniously in the pit of tears and sadness.

And you know what? I love this. I love this creative process. I love exploring possibility spaces and finding new and interesting combinations that I haven’t seen before. I love the mental gymnastics one must go through to find inspiration. I love the infinite possibilities I have as a game designer.

If I didn’t love doing this I guess I wouldn’t be here, almost 7 years after I began writing in this here blog of mine.

So here’s to another 7 years of idea-having game-making blog-posting fun.



Are Videogames About Their Mechanics?

Interesting video is interesting, and I had a comment that I thought deserves to be added to the blog
First of all, excuse my rambling through various attack points to the issue at hand, it’s the way my head works and I’ll be damned if I’m going to translate my thoughts in a more coherent manner (I kid because I love).

I like to think of mechanics as the layer of affordance. The level of interaction we can get out of a game depends entirely on the player input and how that is fed to the mechanics (either directly or through UI (there’s a big difference between these two but let’s not get distracted (oohh a butterfly!))). All first person shooters are about killing, because that’s what you’ll be doing the majority of the time: shooting dudes in the face. That the main protagonist has a kidnapped daughter who likes the smell of pizza in the morning doesn’t matter … because that’s how we build these games.

If someone were to describe a game to me explaining only it’s context and how meaningful it’s themes are, I’ll immediately ask about what type of game it is. Is it a shooter? a puzzle game? an IF? We are so used to having games with stories divorced from game mechanics that we don’t find it odd when a game about objectivism in a post apocalyptic future turns out to be a game about shooting zombies in the face with superpowers and guns.

Story in itself is most of the time used to provide a context to the mechanics and may very well make a big difference in how a player feels about performing or not performing a certain action. But it has to go both ways for it to be effective: The story has to inform the mechanics and the mechanics have to revolve around the story. You can’t have a game about shooting people in the face for 20 hours and expect to touch meaningful themes that don’t have anything to do with the shooting itself. Yes, you shot that guy’s wife and now he’s a little bit upset, but that doesn’t mean that the game is suddenly about loss and grief.

“Show, don’t tell” applies to movies just as much as “Do, don’t show” applies to games. For a game to be about something it has to happen to the player and the player has to be the one acting upon said something. Revenge stories work in games when and only when the player has had a chance to interact with the soon to be excuse for violence. Play a few hours around the house with your family before they are inevitably kidnapped or shot at point-blank range (… in the face).

Flap Flap Flappitty Flap Flap: Why is this thing so popular?

Flappy Bird is a spectacularly easy game to make, it’s monotonous as hell and it doesn’t provide any mechanics worth looking into as a game designer … and yet, it became EXTREMELY popular. To illustrate this point, let me just mention the fact that the ad-revenue (its only source of income and generally one of the worst ways to earn money) was generating $50.000 dollars each day.

This is the type of popularity that one can only dream of.

One could say that these types of events are dictated by luck … and, frankly, that is the truth. There are many many games that are absolutely brilliant but never achieve any kind of significant spike in popularity due to many reasons outside of the game itself. Then again, the games that do become popular do so for many reasons other than luck. One of those reasons may be a good marketing campaign, but most of the time the single most important reason is game design that caters to the masses in some way shape or form.

So, with that in mind, let’s look at this example and analyze what made this game so popular.

A half-chewed piece of lettuce could tell you that some reasons are:

  • It’s Free! (Let’s go viral! Yay!)
  • It’s Cute! (Mass market appeal! Yay!)
  • It’s polished! (Everything it does, it does well! Even if it is not much)
  • It has leaderboards connected to Social Media! (Let’s tap into that sweet sweet feeling of being one-upped by someone in something that doesn’t matter … Yay?)

Oooohhh, such insight!

such meme, much sarcasm, very overuse, wow
such meme, much obvious, very overuse, wow

*clears throat*

Alright, as you can tell by my sarcasm I’m not particularly interested in those attributes and I find it hard to believe that anyone would be. After all, those traits are common to 99.9999% (that’s a scientific percentage! you can tell by all the 9s) of all the games released for mobile platforms.

Cutting to the chase, what makes Flappy Bird interesting is that it became popular for two normally conflicting reasons.

  • The control scheme is so easy that a 2-year-old could learn it in seconds.
  • It’s friggin’ hard.

Yes, this is the novel concept of “Easy to learn, hard to master”. It is quite hard to believe that a game this simple, based on such an old design mantra became so popular. That is until you start thinking about the competition … please try to think of the amount of games you’ve played with absolutely f*cking horrible controls in a mobile device. Then think of the number of games that felt natural in said devices. Arcade games that felt natural, might I add.

Let me state this clearly: In mobile devices, there are almost no games that let the player control the action in a precise and elegant manner. Infinite runners are the only ones that had achieved this level of control and every single one is the same as the next. This is the first infinite runner variation we’ve ever seen (that I’m aware of at least).

Man, we as an industry suck at designing arcade games for mobiles. The only games that ever feel natural take the whole screen as one single giant button. Is this a limitation of the medium or is it the limited imagination of designers (myself not included since I’ve never truly designed mobile games … should I?). It feels like we are wrestling with a new concept, like a 90s website that tries and fails spectacularly at being intuitive.

Also, the creator of Flappy Bird took the game down because he … didn’t want the fame apparently? People were calling bullsh*t, that it was a publicity stunt but he really took the game down. Weird.

Also also, Kotaku said that this game ripped-off mario because it has green pipes </facepalm> Shouldn’t they mention too that it ripped off angry birds because it features a bird? </sarcasm>  I’m not linking to that article because f*ck them and their tabloid-like posts </indignation></novelty closing tags>


UPDATE: Ok, everybody was screaming bloody murder because it’s a ripoff of this:

Go ahead, play that thing, I’ll be waiting here.

I’ve wasted 15 seconds of my life playing that and all I can say is that it’s no wonder it never became popular: The art is ugly and overcomplicated, the sound effects are horrible, the feeling of gravity and impulse is almost non-existent, it insults you when you lose and when you fly out of the screen the game kills you.

And people argue that flappy bird was a ripoff? What the hell?? Flappy bird took the same concept and mechanics and made them shine. It’s not novel in any way shape or form and there was an apparent CONTROVERSY over this sh*t????

</fed up with this world>