Tuesday 30 August 2016

imbroglio notes 8 - score-o

When using a lot of random generation in a game, making things variable enough that you can play over and over again, it's easy to start thinking in terms of making something that you can play forever. Such bold dream, the eternity-game. But nobody's actually going to do it because they die, or even if they dodge that and achieve immortality somehow they can probably find something better to do tbh. The ideal is nevertheless a useful simplification because strategies for it also turn out to be pretty good ideas even if someone's just playing for a while. Aiming for an impossible ideal means trying to make something pretty good. But since it's impossible you do need to forget about it sometimes.

Testing Imbroglio and trying different possibilities there was always a question of whether you could go infinite; maybe some clever combination of weapons would exist that allows you to kill enemies faster than they spawn and heal up faster than they can hurt you. Even if not, you could definitely go quite long. How long did I want the game to potentially be? Of course the game has a finite state space; you can't go on encountering different situations forever; so something less than that seems good? (It is still pretty huge because that's just what happens if you multiply a bunch of times.) So I started thinking about putting in an ending to prevent it ever reaching a boring eternal loop. Simplest ending is just a score target, I'll do the simplest thing unless there's a good reason not to. This stops it looking like a magical "play forever" game because once you get to the maximum score there's no room to improve after that (though you can play it again anyway, same as anything). It is okay to not be for forever.

But then question is where to set this score target. If all I want to do is cut off infinite loops I could set it sufficiently high that nothing else can reach it. But then if that's something you can do, eventually enough people will probably do it and the score tables fill up with infinite loop boards, nothing else is good enough to show up. Plus they'll be pretty boring to play out for so long, maybe spend hours on one board, fully leveled up, just to demonstrate that it can keep going on. Testing endurance more than anything else. Might be more exciting to cut the tail off a bit sooner so more variety is possible. Fast builds that try to grab all the gems before the spawn rate gets too high. Builds that depend on diminishing resources, tenuously trying to stretch them just far enough to reach the target.

I wrote that it's useful to have guiding principles for a design even if they're not necessarily "right". In fact it doesn't even matter if they make sense at all, they can be wild irrational obsessions and still serve the function of pulling things together into a coherent form. So I decided to obsess over the number 4. I had a 4x4 square grid, 4 enemy types corresponding to 4 corners, how far can I take this numerology? Any time I had a question with an unknown numeric value I assumed it was probably 4. How many hit points do you have? How many copies of the same weapon are you allowed? What's the minimum number of steps to the next gem? How many kills does a weapon take to level up? How many characters? How many frames in an animation? I was prepared to use other numbers where necessary, but assuming 4 gave something to start with and see if I could make work. If something was bigger then maybe a multiple of 4 - so I ended up with 4 starting characters and 4 to unlock, 4x4 red weapons and 4x4 blue.

And like obviously this principle is nonsense! By any sensible idea of game balance or whatever, there's no way the right answer for all of these is simultaneously 4, that would be a massive coincidence. I'm not aiming to make the most balanced game, that would be a different guiding principle, instead I'm trying to make the game with the most 4s in it, and with that as my goal all the answers are coincidentally 4.

But the weird thing is that it's ended up no longer being nonsense because now it's a principle that others can use to understand the design, it makes the game readily comprehensible to players because they learn to expect 4s and then never have trouble remembering numeric rules. (Although, I saw one review claiming enemies spawn every 4 turns, which would have been nice but really they need to increase in frequency as you level up. However - the enemy waves are encoded in a 64(=4x4x4)x4 table of 4x4-digit strings so there you go.)

So I took weapons to have 4 levels, each requiring 4 kills. These numbers seemed reasonable playing it out; levels were accessible but not trivial, getting all the way to level four felt like a solid milestone. I tried other numbers, even a super fast-paced version where a single kill was enough to level up (felt inconsequential, they may as well just start at full strength), but these seemed to work well enough so I locked them in and started adjusting the rest of the game around them. So with 4x4 kills per weapon and 4x4 weapons that's 4^4 kills to fully level a board. Each gem heals two hits and each enemy might hit you once, so if we assume two enemies per gem you'll be fully leveled at 4^4/2 = 128 points. (In practice it's usually a bit later but this will do for an estimate.) It seems reasonable to let that be the midpoint, so the maximum score is 4^4=256. I tried to tune the enemy waves around these numbers; making it possible but fairly challenging to level everything / score 128, and tending towards impossibility at the point where you might be approaching 256.

Enemy waves are the least transparent part of the game. A bunch of people suggested showing more information about them, like a timer until the next enemy or whatever. But it seemed important for them to be fairly unpredictable since they're the source of chaos opposing your nice ordered board construction. A lone enemy is usually trivial to deal with so they have to sometimes come close enough together that you're dealing with groups, but if they keep coming that fast you'll quickly be overwhelmed, so they need to spawn at an irregular pace. Also sometimes they'll be an even number of spaces away and get the first hit, it's bad if this happens too often, so the irregular spawn delays need to be sometimes odd and sometimes even. So there can't be a simple display like that imagined "every 4 turns" clock, displaying a spawn forecast would be way too much extra information on the already-packed screen, simpler to keep it hidden. Very common suggestion has been to show the turn count, because regardless of specific details of wave patterns the general principle is that it's getting worse over time so you want to know how much time is passing. I tried it and it was deeply unpleasant. Extra piece of information taking up screen-space and changing every time you act so you're constantly noticing it, creates a sense of pressure, takes up space in your mind when really you don't need to know it, all you need to know is that spending extra turns is bad. Also it just becomes a very large number, I try to avoid large numbers to keep small ones feeling meaningful. Scoring 100 feels like less of a milestone when there's a number in the thousands nearby.

I think a nice thing about having a maximum score is it gives a clear goal to aim for. High score tables can be pretty discouraging for a lot of players, people see that someone got 50000 and think "I'll never get that, might as well not play". This doesn't make sense; nobody thinks they shouldn't go swimming just because they'll never compete in the Olympics; but somehow it is a reaction we are seeing with videogames. Or alternatively if someone's not looking at the top scores they might set a fairly low target for themselves based on what seems plausible within their current understanding of the possibilities, rather than challenging themselves to go deeper. Here I think the 256 goal is low enough not to be discouraging while still being high enough to demand a solid understanding of the game.

I wrote last year some thoughts about putting unlocks in the game; that's mostly still valid. I was having trouble managing the expectation that a game will never give you access to more than you can take in at once. I think as the game started to feel finished people became more willing to accept how it was as being how it was meant to be. There's a line you cross making a thing when it starts to feel self-consistent, then there's a lot more freedom to break conventions because what's there is strong enough there to establish new ones. Good place to be. I think maybe because of the rule complexity or the graphical style Imbroglio took longer to get there than I'm used to, I think the specific point where it really got there was when I put in the animations for damage/restoration/collection. Other games it's different things, never really know in advance what it's going to be just working at it and then one day the thing you're working on happens to be the critical piece and then suddenly it's alive.

I ended up setting 32/64/96/128 as goals to unlock 4 characters each with 4 weapons. This avoided the problem I was having with other unlock systems where people were feeling pressure at having new things before they'd fully understood the old things, because the focus is on the character and that is just one new thing. The new cards are very much de-emphasised, there's not even an announcement screen saying "well done have these new cards", they just quietly show up.

Thursday 4 August 2016

imbroglio notes 7 - black sword black sword

My relationship to game violence is pretty weird, I dunno, I'll say I want us to do better and represent other parts of life but then when I turn around and actually make a game it's just like kill 1000 things. Like I'm not getting excited about super detailed gore but even at the level of symbolic representation, it's weird to spend all this time on murder simulation. I think there's a good argument to make that it serves some positive role in terms of venting violent impulses but it's not clear that it doesn't actually nurture violent impulses instead? Like probably intense physical exercise is probably a better way to vent really. Also I don't feel like I have a whole lot of repressed violence that I need to get out, maybe that's only because I already healthily release it through simulation or exercise but it's not really feasible to stop those and see if something bad builds up. But yeah I tend to think of myself as pretty pacifistic. Although on the other hand if you threaten someone close to me it turns out I will instinctively use force to stop you, I think that's pretty normal? Anyway I think it comes up in games pretty naturally, you have some kind of challenge, it's simplest to frame that as a conflict, it's simplest to frame that as violence. Pieces are being eliminated? Call them dead. Really hard to break out of this pattern when trying to do elegant design.

Anyway yeah I actually really enjoy some pretty generic fantasy settings and for a while I've meant to get around to making an RPG-type game with more like that kind of context, I actually started making lots of games with orcs and swords and it feels like mostly coincidence that those weren't the ones I ended up finishing. Imbroglio really seemed to make sense for that kind of setting, it simplifies some of the rule explanations. But it's a setting where the violence is more explicit, you can't hide behind debugging weird computer glitches or whatever. So I felt a bit unsure about that. Also the RPG mechanic of leveling up by killing things is basically messed up, it directly encourages optimising the number of things you kill, even going out of your way to kill things that you otherwise wouldn't. Even if I'm okay with violence for a nice reason, this doesn't correspond to anything you could have a hope of justifying. Something I was pretty pleased with in Zaga-33 is how the rules strongly discourage getting into fights; you have to kill some aliens because they're obstacles to your progress, but every fight costs you limited resources so the optimal way to play is to minimise the number of kills even if that means going quite far out of your way; just with the game rules it makes a clear statement that violence is sometimes necessary but is best avoided where possible (which really confused some players who just went through blindly clearing every level and then wondering why they couldn't survive past the third). But Imbroglio forces you to kill everything that comes your way, and to think about maximising the value you get out of each kill, wtf.

So I thought okay this game is pretty dark, the hero is not only put in a context where their survival is dependent on ending hundreds of other lives, they're explicitly using those deaths as a resource. Maybe I can play up that darkness, make it clear in the game's context? Make it feel really awful that you're forced to kill or be killed, frame rpg leveling/grinding as a dark compulsion. Thought about Michael Moorcock's Elric stories as a reference, with his demon sword that drinks the souls of anyone it cuts. Vampiric weapons that grow more powerful as they're bathed in innocent blood. A tragic, haunted hero driven by a curse he cannot control, trying to do good but ultimately dooming all he loves. A power that demands a price, helping defeat your enemies but betraying you at the last moment to take the life of your dearest friend.

Those are the ideas I had going into it, but then I made it and it's not exactly what came out! I think there's an edge there of that darkness but overall it's a lot lighter than I'd envisaged, which is probably for the best since I've had to live with it. I could have probably done more with words to make it hurt but I find it dangerous to use many words in a game, people will skim past them and miss essential rules; Imbroglio already had a lot of rule words.

This ties into the graphical style. The main constraint there was functionality. I went for a high resolution style because there needed to be a bunch of text you could read, and identifiable tiles that display information about experience, damage, abilities and are still visible enough when there's something standing on top of them. Thinking about inspirations from 70s and 80s pulp fantasy novels and RPG settings I was trying to get towards the styles of illustrations in those, people like Erol Otus, background the colour of the pages of an old second-hand book (not representative of their original vision but of my relationship to it). But with all the layers of game it didn't work to fit everything into this style, ended up doing the characters more solid and bright to stand out on top of the book-sketch background tiles; functional, contributes to it feeling less dark.

So yeah idk games are weird.

Wednesday 3 August 2016


Whenever I release a game on ios immediately people start demanding it on android. Some of them are polite and friendly but some of them are real dicks about it, like they feel it's their right to have me do work for them, it's really weird. The numbers I've heard from other game developers suggest releasing on android pays quite a bit less than ios, like 5-15% as much; shouting at me "ra ra ra why haven't you done this yet" doesn't really incline me to do what would essentially be charity work. Please don't do that.

Anyway a few years ago I did try porting Glitch Tank to android and gave up for a bunch of reasons. It did turn out to be really a lot of extra technical work, required some major hacks to get it to run at all, and when it did there were problems with the framerate, too much input lag for a quick action game, I completely failed to figure out what the problem was. Seriously I'm here to design games and make art not to do all this technical crap, I'd pay someone else to do it for me if I had money.

I mean it's not like ios has been great either, they've thrown away some of their advantages. When I started on this there were two devices to support - telephone and tablet - with predictable hardware, sensible resolutions / aspect ratio; now they keep changing that so there's no effort saved there. Every major ios version has broken one of my games and it's sometimes quite a lot of work to figure out how. But I'm kind of making enough money to live on now so hey it's still better than a lot of people's work.

Anyway yesterday I tried running Glitch Tank on an android again and it seemed to run fine?? Same device. Maybe an os update fixed the input lag thing somehow? Waiting until the problem goes away is my absolute favourite way to fix things. So I released it. Haven't tested on a bunch of different devices because indie so maybe there'll still be framerate problems or whatever for some people? But someone got it and said it ran fine for them so there you go.

This is not a commitment to android anything else. But of course I will pay attention to numbers when I am working out what to do.

Glitch Tank on android thing
Glitch tank on ios

Tuesday 2 August 2016

imbroglio notes 6 - meditation

In these roguelikes I've been making the trend has been to move away from epic sprawl towards smaller games. Partly this is practical for making them but it's also about valuing "interesting decisions" in games; increasing the decision density by cutting out bits where you're not making decisions or the decisions are easy ("pick the weapon with the highest number"). I've found some effective methods towards this and I think 868-HACK expressed it well. Shrinking the grid minimises time spent navigating from place to place and forces game elements closer together so they interact more often. Directly linking abilities and resources to tile positions adds extra dimension to tactical positioning. Reducing the length of games means each decision carries more weight towards the outcome.

Imbroglio continues some of these trends. Grid is even smaller. Abilities are even more tightly linked to position. But as it started to take shape it became clear that it wanted to be a longer game. This caused me some concern, since one of the principles I'd been working with was basically "shorter is better". I value games being short, it makes them easier to fit into life, they get to the point sooner, it's possible to play them more times, trying out different possibilities, there's a clearer connection between decisions and outcome.

How did it end up being longer? I hadn't imposed an explicit boundary on it (like 868-HACK's 8 sectors), instead leaving it as an open-ended scoring game. This was a deliberate move to create a different structure, to get away from just remaking a previous game. And the system of leveling up weapon tiles required a certain amount of time to separate the levels, tuning those numbers to what felt right was pushing up the overall length.

I value interface simplicity, complicated control schemes with all different modes and menus are clumsy and also I don't like programming them (good justification). You should be able to fit everything on one screen, usually if it doesn't it means people have just shoved in any idea they thought of rather than doing the work of selecting which ones actually fit harmoniously; lazy design. So I really like the classic roguelike system of attacks being triggered by moving towards an enemy, accessing movement and combat with just one set of arrow keys, lovely simplification. And I really don't like the classic roguelike thing of using every key on the keyboard for something different and also having twenty different menus for items and spells and skills and levels and. Zaga-33 and 868-HACK each had movement arrows and just one flat menu of extra abilities; excited about Imbroglio going even simpler by having only weapon effects: you attack with the weapon you're standing on so the movement controls suffice to select a weapon as well as to activate it. Giving these weapons different automatic and passive effects and leveling them up when used packs really a lot into minimal controls. Ended up with one extra button to activate hero abilities, for some heroes at least - Masina/Bob/Johnny's abilities are triggered with the movement controls too and I would have loved to do this with every hero but decided it was too limiting.

But this limited control set ends up working against decision density. Each turn you're only selecting from 1-5 possible inputs, this can still be interesting since they can give quite different outcomes in terms of what options you have available in future turns, but that requires there to be enough of those future turns to make a difference; length. In 868-HACK for comparison, each turn you could run a sequence of progs (up to ten different ones, and you can use the same one repeatedly) without ending the turn, before you move/attack/siphon/wait - potentially hundreds of different combinations; breadth. So there's a direct conflict of values; decision complexity depends on number of decisions made and number of options in each of them; interface simplicity reduces the number of options and so to maintain complexity the number of decisions must increase, increasing game length.

These kinds of values or principles are useful to guide a design towards something new; you do things for a reason rather than just because it's what you've seen done before. Principles don't have to be "right" to be useful, whatever that would even mean. But there are lots of different things we want out of our designs and it's complicated, only a very simple value system is likely to be consistent. Each design is a compromise, as idealised values meet the reality of bringing something into the world. Until two values are tested against each other one doesn't necessarily know which one is valued more; each new design creates fresh opportunities for conflict.

Another value I'm thinking about is holism, feeling like all the parts work together as a coherent entity. This sometimes aligns with simplicity as it is harder to make many different pieces fit together as one, but it is certainly possible to have many parts without any being extraneous, and sometimes carrying through an idea as far as it goes does require adding more, incompleteness is inelegant. When I talk about Imbroglio "taking shape" I am gesturing at this concept; I look at the piece I have made so far and try to envisage the whole it is part of. Not a fully rational process, letting things make themselves through me and justify it afterwards. However much I plan things and make declarations about what I intend to do really I just make a thing and find out what it is along the way.

Thinking about the opening of Imbroglio. I definitely liked that in 868-HACK you could optionally face a serious challenge right from the start, depending what you siphon, here you can't really - or, you kind of can by kiting around while more enemies spawn but it doesn't gain you much. Some suggestions for making it shorter, what if I cut off the opening, like what if some weapons start already leveled up, maybe you choose that as part of your build? But leveling 16x0 to 16x4 is a complete arc, hopping off the start to 12x0+4x1 or whatever feels clearly incomplete. And you are doing stuff and making choices in those early turns even if there is not much risk, it is very fuzzy to try define which is the first turn that matters, if I could say for certain that the first ten turns have no effect on the outcome (or like 0.00001%) but the eleventh turn has 2% then that might be a good argument for starting the game there, but maybe every turn matters because of the subtle effects on where you are and what you can do in subsequent turns, maybe nothing matters at all because it's just a game and we're all going to die. Also it depends which hero, some of the disadvantages are harder to deal with at the start so there are more risks early on, and I was trying to tune the balance for all of them at once; giving the harder ones enough space to survive meant leaving the easier ones unchallenged at first; I could have had different enemy waves for each hero but it felt more coherent to have everything the same apart from the two explicit rules for each hero, no hidden extra rules differentiating them. I eventually concluded that I'm okay with there being a ritual opening to the game before you're really at risk if it keeps it holistic. Different games, different conflicts, different compromises. Like maybe from the perspective of 868-HACK's values it's a worse game but it should be what it is in its own terms.

Also there's the question of board construction, there's a basic challenge in all pre-constructed-deck-type games: the choice of deck has to matter and there's only a limited amount of matter to go around so the decisions made after that matter less. But it doesn't matter! These games can still be really good, it's just something to be aware of that the turn-by-turn decisions are going to carry a bit less weight. Here also there's kind of a third layer with leveling up weapons; it also interacts closely with the turn-by-turn tactics but draws some attention away. I'm pretty satisfied with the balance of these, they do all end up being relevant. Was very excited the first time I found a board where playing it the way that (at the time) seemed obvious performed worse than leveling things up in a different order; makes the choice to share boards along with highscores interesting because the board alone isn't complete information, you can't necessarily replicate someone's score just from their board if you don't also know their strategy and tactics.

All the talk about decisions comes down to valuing play as intellectual challenge, I also value play as meditation. A game can be the object of my apparent attention while my mind processes other thoughts and feelings, regenerates itself. And this kind of requires the game to not be all the most difficult decisions all the time, it needs to leave some space, actions that occupy enough attention to maintain some kind of focus while leaving enough free to wander. So again there's an apparent conflict of values, but on consideration many of the games I meditate best with I've first appreciated as intellectual challenges, then learnt some patterns and heuristics to guide less intellectual play. I think part of what makes this work for me is shifting attention demands, games that sometimes occupy all of my thoughts but then fade back into semi-autopilot until the next critical juncture, guiding the meditation between external and internal focus. And this kind of play I think Imbroglio achieves fairly well; you can zone out for a while - but not disengage completely, a couple of bad spawns can always kill you pretty quickly so you still have to maintain awareness of possibilities - and then you zone back in, ebb and flow of attention. (And this is important for making the game work as constructed deck game! When there is a gap in attention you can think about how to adjust the board for next time using the new information you have from playing it out.) Whereas 868-HACK you couldn't (/shouldn't), it really is full-on all the time, which is great but kind of stressful.

Optimising decision density is sometimes expressed in terms like "don't waste the player's time", but this is very narrow in how it defines certain kinds of activity as being a valuable use of time. Valuing the player's time doesn't necessarily mean making them do the maximum number of things with it, trying to pack in as much game as possible into every moment with no room to breathe. Guiding a meditation isn't a waste of time. Thinking about board games, even when the decisions you make every turn are beyond the computational limits of the human brain, usually there's some downtime between turns, maybe this is important? I had thought they were an intrusion, a problem happily avoided by single-player games because you don't have to wait for anyone else and you can just get back to work straight away, but maybe they could be a valuable part of the game's rhythm. And it is a kind of labour, playing these games, enjoyable though it can be. I've sometimes approached for-money-work the same way, trying optimise my time to do as many things as possible, pressure to succeed, rush rush rush the money's running out. Easy to fall into in our society where you have to work more than you can afford to just so you can afford to sometimes not work, and then we'd better use our free time as efficiently as possible too because it's a limited resource. You burn out that way, have to learn to take things slow.

Anyway all this rambling maybe seems a bit silly because what I ended up with is still fairly short as games go, has hard decisions, doesn't really waste time. But along the way I felt conflict!