video games, programming, the internet, and stuff

Tag: Ludum Dare

Ludum Dare 41 results

Ratings have been posted for Ludum Dare 41.  InvadTris received these scores:

Overall: 761st (3.298 average from 54 ratings)
Fun: 537th (3.346 average from 54 ratings)
Innovation: 659th (3.265 average from 53 ratings)
Theme: 554th (3.647 average from 53 ratings)
Graphics: 930th (2.817 average from 54 ratings)
Audio: 755th (1.894 average from 35 ratings)
Humor: 935th (2.162 average from 39 ratings)
Mood: 1002nd (2.689 average from 47 ratings)

The rankings may not look very high, but the numbers I earned in Overall, Fun, Innovation, and Theme are all solidly above a 3, which I am proud of.  I think I might have done even better in the ratings had I completed the project in the window of the jam weekend.  Due to my schedule, I was only able to put in 17 hours during the Jam, and submitted a game after deadline, which was playable but lacked considerable polish that I added over the next week+.   A lot of people rated the 1.0 release, which according to the rules is proper, but I can infer from the score I received in the Audio category that at least some reviewers rated one of the later builds.

InvadTris 1.0

InvadTris 1.0

InvadTris 1.8

InvadTris 1.8

Considering I wasn’t necessarily planning on completing anything more than a design document this time around, I think this is more than OK.  I received ratings from as many as 54 peers this time, which I think might be a record.

Importantly, I took away from the weekend a renewed enthusiasm for game development and took great joy in the work.  This project was very fun to work on, and progress was steady and came more easily than in many of my other Ludum Dare projects.

I have still more planned for InvadTris, and will continue to develop it in the days ahead.

InvadTris: A Ludum Dare 41 Game

Over the weekend, I participated in Ludum Dare 41. The theme for this Ludum Dare was “Combine 2 incompatible genres”.  The game I produced, InvadTris, is a mashup of Space Invaders and Tetris, combining the static shooter with a block puzzle game.  I’m very happy with it, and am continuing to develop it. It’s already a lot of fun to play.InvadTris

Play and Rate InvadTris

Post-mortem article


Great Plays from Ludum Dare 38

Planet Desumaton – siegfriedcroes

Planet Desumation

The gif speaks for itself… Control a small small planet, picking up Asteroids into orbit, and smash them into a large “boss” planet.

Path of the Rabbit – Managore

Path of the Rabbit

A turn based tile strategy game similar to Pipe Dreams. Managore’s games are always top notch, and this is no exception.

Sticky Keys – thevaber

Sticky Keys

A really well polished typing game, with a twist. The keys keep popping off, due to some nasty creepy crawly insects that have infested the keyboard. You have to interrupt yourself and pop the key caps back on in order to keep typing.

Monolith – samlo and david-carney

A rail shooter bullet hell game where you have to lock on to your target by holding still, leaving you vulnerable to enemy fire. It’s high speed and frenetic. The art style is b/w, with what looks to be a procedurally generated fractal landscape, and a monolith that looms over the horizon, and seems to never get any closer.


Tarjectories by csanyk for LD48-38: A Small World

Yes that’s right! My own game, this time I think is good enough to qualify as a recommended play. It’s a casual target shooting game played on tiny planetoids that rotate, with procedurally generated levels for added replayability. Patience and accuracy are the keys to doing well. Learn to estimate the gravity and rotation speed of the planet so you can aim your shots correctly. I plan to develop this one a bit further, so stay tuned.

Antivirus – kappaixAntivirus

A nicely designed 2D top down shooter, reminiscent of classics like Gauntlet, 2D Wolfenstein, Berzerk, and Frenzy. When you die you get a fake BSOD game over screen, which adds to the fun. Battle through an area and the size scale changes, making for an interesting and novel transition mechanic.

Plutus – jason-varnell, nathan-hicks, and Apostate Games


Hilariously written backstory makes this charming katamari-like feel special. Control the jealous planet (let’s not quibble) Pluto on a quest for revenge and ever greater mass.

Space Mailman – kepons

Space Mailman

Gorgeous but bare-bones wireframe graphics and hard core difficulty make this game tough to play. Deliver mail between planets to make money.

Flight of Claude – lyxil and colm-eccles

Flight of Claude

A beautiful, touching visual story about a baby bird and his nest mates.

Aphosis – urban-logic-games


Divert a doomsday rock on a collision course with Earth by attaching thrusters to stabilize its spin, then attaching a main thruster to push it away. Beautiful graphics, a fantastic musical backing, and extremely challenging game play make this one to try.

That Tiny Pea – thendash

That Tiny Pea

A fairly realistic update of the classic Lunar Lander. Land safely and you are rewarded by being able to step outside and take in the view. It’s hard!

The Life Amoebic – baby-dino-herd

The Life Amoebic

A convincing simulation of an amoeba. Control your amoeba by extending pseudopods with the mouse, and try to grab food to survive, grow, and divide. It’s pretty challenging.

Vixa – spav


Spin the world around to dump balls into the green-lit sections and away from the red-lit sections. Green multiplies your balls, red destroys them. Lose all your balls and you’re done. Great graphics and sound, and solid game play make this one a trip to play.

Tiny World Defense – ianmorrison

Tiny World Defense

Fly your spaceship over the surface of the planet, defending it from enemies who want to shrink the planet into nothingness. There were a number of other entries in LD38 with a similar look and feel, a 3D orb-based shooter, where your shots skim over the surface of the planet. Almost like it were a newly-invented genre or something. But out of them all I think this one is probably my favorite of them.

Super Kaiju Dunk City – radmars, emarcotte, steakzzz, ninjavitis

Super Kaiju Dunk City

This is an amazing entry in the Jam category. Super polished, it’s a cross between an infinite runner and a rhythm game, where you control a basketball-dribbling Godzilla-like Kaiju creature, as you relentlessly smash through level after level of targets. I had a blast playing this, and would love to see it as a full-fledged title. There’s not much more to ask for, except maybe an epic boss battle against another Kaiju or super robot, and some kind of breath attack.

That’s all for now… I still have a lot more games left to play. As I find more “great plays” I’ll be adding them here. If you have played something that you think deserves a larger audience, post a comment below.

Until next time!

Ludum Dare 38: A Small World (TARJECTORIES)

Tarjectories by csanyk for LD48-38: A Small WorldMy latest release is called TARJECTORIES, and it’s my entry for Ludum Dare 38, A Small World.

Play and Rate TARJECTORIES at Ludum Dare

The title is a mashup of “target” and “trajectory”. It’s also an easy misspelling of “trajectory”.

You control a little gun turret on a little world, shooting little projectiles at little targets. Use the planet’s spin, and your shot power and gun elevation to put shells on the target.

Destroy all targets on the planet to advance to the next level.

You will need to use your judgment and instincts to know how much power to give the shot, and what angle to fire at. Most targets can only be hit by indirect fire, relying on the trajectory of the shot as its path curves due to gravity. Here’s an early work-in-progress screen capture:

TARJECTORIES - Early work-in-progress


Adjust your turret’s gun elevation by the left/right arrow keys, or A and D keys.

Adjust gun power by using up/down arrow keys, or W and S keys.

Fire using the Space bar or Enter keys.


  • Direct hit: If you hit a target directly with the shot, you will score a base amount of 1000 points. This is doubled for each consecutive hit you make: 2000, 4000, 8000, 16000, 32000, etc.
  • Indirect hit: If you hit the ground near a target, the explosion from your shot may destroy the target anyway. But you will lose your consecutive hit score multiplier, since when your shot hit the ground, technically that was a miss. This will score you 1000 points, and count as your first hit on your next consecutive hit multiplier.
  • Bonus timer: There is a timer in each level, and if you manage to destroy all the targets before it expires, you’ll get bonus points.
  • Perfection bonus: If you mange to hit all the targets in a level without missing (all direct hits), you will earn a perfection bonus. The base perfection bonus is 10000 points * the number of hits scored in the level, raised to an exponent equal to the number of Planets in the level. This is how you get the truly astronomical scores. If you get a perfect bonus on a multi-planet level, you deserve it.

Winning and Losing

The only way to lose in TARJECTORIES is to accidentally shoot yourself. This can happen if your shot orbits your planet and comes back around to hit you, or if your planet is rotating fast enough that it puts you in the path of your shot as it falls back to the ground. Don’t do that.

To win, you must complete every level of the game. You can play again; the game will be re-randomized on your subsequent re-plays.


TARJECTORIES is currently able to run on Windows.

The source code is also available for you to download, if you wish.

TARJECTORIES was built using GameMaker Studio 1.4, Bfxr, and Audacity. It took about 22.5 hours of development time for me to built. Everything was built from scratch, by me.

Version History

Initial release

Bug reports:

  1. One user has reported a bug whereby two worlds appear on level 1. Unable to replicate. There should be no way for more than one world to be created on level 1, and even if there were, the oPlanet object has collision detection with other oPlanets, and re-positions them in the event of a collision until they are no longer in collision.
    action number 1
    of Step Event0
    for object oGround_explosion:Push :: Execution Error – Variable Get -2.t_angle(100033, -2147483648)
    at gml_Object_oGround_explosion_StepNormalEvent_1 (line 11) – ex.t_angle = other.t_angle;
  3. Stats tracker fails to count a miss when a shot destroys itself due to timeout. Bug fixes:

  1. Stats tracker fails to count a miss when a shot destroys itself due to timeout. FIXED.
  2. oGround_explosion error referencing non-existent other in Step Event when a collision is detected with a target. Replaced other with the id of the target instance. Numerous tweaks, mostly to the level_timer, minor bug fixes, and polish.

“GE” edition released. Feature complete. Fixes the graphical bug some users were reporting where on the first level it looks like there’s two worlds overlapping each other. The bug was the result of using surface and draw functions in the Create event, rather than in the Draw event where they belong. I guess it affects certain users who have certain video cards, because I was not able to replicate the problem on my machine, but a user who did experience the bug confirmed that it was fixed by this release. Final build for Compo entry.

Ludum Dare 36 is at an end

Ludum Dare 36 is officially over with the close of the feedback phase tonight — a bit anti-climactically, as there was no ratings given this time around. Only comments were given, through the new Feedback Friends site.

The ratings system was given a rest as it’s been decided by the powers-that-be that it isn’t working any more, and has more problems than it was worth. But I really liked to have a quantifiable method of comparing my games to others, and seeing my progress from compo to compo. Of course, I fully understand that the numbers are highly subjective and that the ratings shouldn’t be taken seriously, for many reasons (judges being biased, judges not being able to cover the entire competition, etc.) but none of that really mattered to me.

I would have really loved to have known how Ancient Technologies would have done in the rankings if they had done them this time. While I think the lack of originality in creating a simulation in homage to Atari 2600 Asteroids likely would have hurt it overall, I think it would still have fared decently as a well-crafted interactive experience, and done considerably better than my previous submissions in many categories.

I hope they have a new and improve rate and rank system in place by LD37. The most important thing about the rankings system was that it made it easier to find good games. No matter how many times I sift through the submissions, I always miss some great games. I know because I always find out when the rankings come out and I look through the top 10 or 20 games, find some titles that I never spotted even when I looked through every page of submitted games, and invariably these are pretty well done, the 48 or 72 hour creation time notwithstanding. I did find a few games that I felt were well worth playing, some of them truly great, but I’m sure I missed many others, and that’s too bad because without the ranking system, I don’t know how else I’ll find them.

As for the comments, I gave 85 comments, earning me 163 “coolness” points, and an overall balance of 105 coolness; the top-ranked coolness game on the Feedback Friends site had 121 net coolness, so I feel like I was pretty cool this time around.

I figured out that a comment’s point value basically varies by 1-3 points, depending on its length. Follow-up comments on an entry where you’ve commented already earn you 0 points, no matter how long they are, so they’re encouraging you to review as many games as you can, but not to have lengthy conversations with any one creator. To get the most credit for your feedback, then, your first comment should be a long-ish, multi-paragraph length. A quick one liner will only get you 1 point; a few sentences will give you 2 points.

My game Ancient Technologies received 37 comments, all of which were very favorable, and I think objectively speaking this game was my best-made effort I’ve created to date. I think a lot of LD48 reviewers are just naturally friendly, encouraging, and generous when leaving comments, and are reluctant to say that they don’t like a game. Even when I’ve played a game that was just terrible, I often see many positive comments and compliments. But I, for one, think that if there’s a problem with a game that it should be talked about honestly. Otherwise, feedback only serves to stroke the ego and doesn’t help you get better where you need to.

I get bug reports pretty reliably, which is very good; but if something sucks, people don’t seem to be willing to say that. If there’s serious design or implementation problems beyond a simple bug, people don’t seem to be forthcoming with that kind of criticism. If the game crashes, or if some feature described in the game description doesn’t work, or if there’s an obvious glitch with the sound or visuals, I’m sure to hear it; if I just made a game that sucks, wasn’t well designed or implemented, or wasn’t very fun, people don’t want to say that.

I guess that it’s refreshing in a way, considering how oftentimes comment sections are cesspools of abuse, and I’m not saying that I want to see abusive comments on my games; but I would definitely appreciate if players who give feedback on my games cared about them enough to offer suggestions on how to make them more fun, and to do that by pointing out a problem with the game and a proposal for how to fix it, wouldn’t be bad. Even if the suggestion isn’t one that I agree with, I’d rather hear that. Better some negative points than all positive encouragement, yet empty of criticism.


Top plays from Ludum Dare 36

In no particular order, here are the best-made games that I’ve played from Ludum Dare 36 so far…

Anachroma by Zillix

Anachroma by Zillix

Anachroma is a delightful puzzle platformer where the puzzles are defined by the topology of the level and the rewards are color-based, and unlock more new puzzles. I really got into this one.

Cognizance by Managore

Cognizance by Managore

Daniel Linnsen’s done it again, with a fantastic platformer mechanic involving a rotating gear wheel that can climb walls and interact with its environment to power treadmills and other cog wheels in order to move platforms and solve puzzles.

Canoe and Spear by BluShine

Canoe and Spear by BluShine

This is a fantastic single-screen death match, basically a tiny Towerfall: Ascention with a unique canoe paddling mechanic. Toggle left/right arrows to paddle/steer, and fire a spear with the Z or X button. Up to 4 players can play head to head, or you can play vs. AI. Built in PICO-8.

Invent the Wheel by Delicious Code

Invent the Wheel by Delicious Code

This simple game is surprisingly fun and addictive. All you have to do is draw a circle, and the resulting shape will roll down a hill. The faster it rolls down the course, the better your time. The more round the shape is that you draw, the better it will roll. It also seems to help to draw as large as you can.

Supercontinent LTD

Supercontinent LTD

A point and click mystery that you solve with a little hacking and social engineering via telephone. Great atmosphere and mood created by the graphics and sound, and the dialog system is fantastic as well.

The Leak by cabbage_

The Leak by cabbage_

A little adventure/RPG that you can play on a real Game Boy(!!)

Old Man’s Sky by Geared Games

Old Man's Sky

A parody of No Man’s Sky, or a de-make in the style of the Atari 2600, Old Man’s Sky pretty well skewers No Man’s Sky for being a pointless game about infinite sameness, as you go from world to pointless world, exploring and finding only differently colored versions of the same old stuff, over and over again. Never do you encounter anything truly interesting, nor does anything really happen. Still, it’s oddly beautiful, in its own way.

Kites by VitasaMode


A beautiful homage to Missile Command, set in ancient China. Fire rockets to stop a never ending flock of kites. The kites don’t seem to do any harm, other than if you let the blue ones fly over your city, you lose points. And if you accidentally hit a red one, you also lose points. The art direction is very nicely done.

Ludum Dare 35

Ludum Dare 35 happened a weekend ago, and although I published a postmortem on my LD48 blog, I haven’t posted here about it.

The theme for this one was Shapeshift. The first idea I had was to do a game that played like the arcade classic Asteroids, but where your ship’s shape would shift according to its state. I did a quick proof of concept Friday night, where the ship stretched under acceleration, and while it was a pretty cool effect, it wasn’t really something that made the game better or more interesting than the original. By late Friday I was convinced I was on the wrong track, and should start over with something else, but wasn’t sure what.

Saturday morning, I woke up and briefly considered just giving up my efforts for the weekend, and working on other stuff with my weekend time. In the afternoon I attended a Cleveland Game Developers “Excuse to Create” event, and started over with a new project. In the morning, I’d thought about another arcade classic, Robotron 2084, and I started getting interested in making a twin-stick arena shooter. In part I was spurred by the discovery that the keyboard for my new Lenovo ThinkPad P50 laptop has poor rollover characteristics, which make playing games on it all but impossible. I started building it at Excuse to Create and by the end of the 3 hour session I knew that I was on the right track. What I ended up with was much closer to a Geometry Wars clone than I had originally wanted, but it plays pretty well and I had fun making it.

I would have preferred to come up with a more original concept than that, but oh well. It’s not an attempt at a straight up clone of Geometry Wars, but more of a knock-off. The shape-shift theme comes into play with the target shapes, which “lose a side” when shot and shift into the (N-1)th sided polygon. This gives the larger shapes a kind of “hit points” which makes them take several hits to completely destroy. I thought that would be a novel enough twist, but in practice it plays feels about the same as the original Geometry Wars.

Along the way I learned a few things, all of which are game design rather than programming lessons.

  1. At one point in my development, I had the power-up items be vulnerable to the player’s shots, and also if the player shot a power-up item, they would lose one level of that power-up. This would have made the game a lot different from Geometry Wars, where it’s safe to shoot indiscriminately because your shot has no bad effects in that game. I had hoped that this change would make my game more about aiming and looking where you are shooting, and being careful. But in testing, it just made the game too difficult. As the difficulty of the game ramps up, it becomes a frenetic twitch game where you mostly dodge and run away from a swarm of shapes that are following you, and there’s not really any opportunity to be selective about when you’re shooting or where you’re aiming, and if you do lose a level of power-up, it’s pretty much instantly lethal.
  2. Spawn location matters. I knew that I needed to spawn enemies far enough away from the player that they would not be prone to crashing into a newly spawned instance that appeared directly in their path, leading to unfair death. But I also learned that spawning near the edge of the view makes the game seem more active, and puts more instances in view especially in the opening seconds of the game, when there are few objects and the pace of the game is slow. The compo release has enemies spawning randomly anywhere in the room, and as a result feels much more sparse and too slow during the opening.
  3. Code mistakes can be fun! My original code for spawning a swarm of enemies accidentally placed them all in the exact same location. Since the movement of the enemies is purely deterministic, this resulted in a “stack” of enemies all piled up on top of each other, looking like a single instance. When shot, instead of destroying the entire stack, the bullet would only destroy the first instance in the stack, and the rest of the stack would continue to advance, looking to the player as though a early-invincible “super shape” that took a great many shots to destroy was inexorably running the player down, and the player’s shots merely chipped off lesser shapes, which then joined in the attack. I liked the effect so much that after fixing the swarm spawn code in the compo release, re-added a toned-down version of this to the post-compo branch.

In looking back over my Ludum Dare games, I’ve come to realize that I’ve felt overly negative about my performance in LD48. I do have high standards for what I think makes a good game, and so naturally I feel disappointed if my efforts fall short of that mark. In my first few events, I was happy just to have proven to myself that I could build something playable in under 48 hours. In later events, I became disappointed that my abilities didn’t improve as fast as I wished they would. And, really, unless I take game development as a full-time occupation, it’d be hard to improve as fast as I would like. But perhaps an even greater sense of frustration has come from my inability to come up with a good idea for a game — or rather, a good idea that I could complete with my abilities in 48 hours that fit the announced theme. Particularly after the submission deadline, when I’d see so many good games produced by others. But if I focus on the 8 games that I did complete, rather than the 6 LD48 events I didn’t submit for, I’m able to view my work more positively. In the immediate aftermath of the event, I would always feel a certain amount of frustration and disappointment in some aspect of the game I’d made — some feature I struggled too much with implementing, some stupid bug that I got stuck on that took too much time to fix, some feature I had to drop for lack of time, something that was missing, but I couldn’t figure out what it was that the game needed, or something that just wasn’t quite right. But looking at what I have produced, there are some good ideas in six of the projects, and I’m happy about that.

>>> Play Shape Struggle <<<

What I love and hate about game jams

This weekend was the weekend of Global Game Jam 2015. All over the planet, more than 10,000 participants got to try their hand at making a game in 48 hours, on the theme “What do we do now?”

I thought about the theme, and tried to imagine a situation that would lead someone to say, “What do we do now?” and the first think that came to mind was being stranded. Quickly, I envisioned a space ship that encounters a systems failure while in transit, and becomes disabled in deep space, with the crew left to figure out what to do to get things back working again. (more…)

Color Is Everything: a Ludum Dare 31 Post-Mortem

Originally published here.

Play Color Is Everything

Preconceived notions

Going into this weekend, I knew I wanted to make a game that would serve as a statement about the intolerable state of civil rights in the present-day United States. It seems like almost every day there’s another story about police using excessive and all too often deadly force, often unnecessarily or for very little provocation. We live today in a police state where citizens rights are routinely denied, due process and the right to a fair and speedy trial have been forgotten, and out government doesn’t merely seem unwilling or incapable of doing anything about it, it refuses to do anything about and then punishes those who speak out and demand it — as evidenced by a mockery of a Grand Jury investigation into the police shooting of an unarmed 18 year old named Michael Brown in Ferguson, Missouri, last month, and a 12 year old boy in my home town of Cleveland, Ohio that happened just as the news hit that there would be no trial in the Michael Brown shooting incident. No trial, and then force used to break up peaceful demonstrations which turned them into riots.

One of the finalist themes was Color Is Everything, and I thought that would work perfectly if it was chosen, but for some reason I didn’t expect it to — I just never feel that lucky, I guess. So I looked at the other themes and considered how I might fit my protest statement into a game that satisfied the other themes, and I thought that I could use “Entire game on one screen” if it came up, but I never expected that it would. When it did, I was surprised, but happy because out of all the other themes it was the one that afforded the most freedom of game concept, so long as I could fit everything on one screen.


In designing the game, I focused almost exclusively on the message that I wanted to send, and the actual game play was secondary. I wish I could have spent more time on refining the game, because as it is I don’t feel that it plays very well. But I needed to be very careful about the content of the message. I’m not sure if I got it right or not, but I tried as best I could to come up with a statement that I could put into a game that I could create in under 48 hours.

Early on I choose to sacrifice graphics, and go with a purely abstract game. I did not want to sensationalize with blood splatter, and after briefly considering creating animated anthropomorphic figures, but worried that whatever I might create in a short timeframe would be insufficient and might resemble offensive stereotypes. I decided to go fully abstract and use simple squares of symbolic, literal black and white to represent my people. While it was very easy to make, it afforded me time to consider how to put the message I wanted into the game. I wanted to drive home the point that you can’t tell whether a person is a criminal based on their appearance, that it is their actions that make a person a criminal. Although, really, crime is almost incidental to the reality I’m depicting — the game is really about a dystopian society where police who are sworn to protect and serve the public are allowed to get away with killing people because a corrupt system looks for any excuse to look the other way when they happen to be black.

I had a basic idea that you’d be a policeman, and you’d just patrol around on the screen while people stood about or walked around, and you’d have to figure out who among them is a criminal, and then try to arrest them or, if you wanted, you could shoot them. I gave the game three ending conditions: if you run out of bullets, if you are killed, or if you kill an innocent (white) person. And I implemented a scoring system which I felt reflects the real-world valuation we place on white and black citizens. Arresting or killing a black innocent has no consequences in the game. But arresting an innocent white person deducts points, while killing an innocent white person ends your career in an instant.

Keeping score

I struggled quite a bit with figuring out how to value the arrest and kill scores for black and white criminals. In the end, I took a base value of 100 points, because it’s a nice, round number, and then I adjusted it to reflect the bias in the legal system. I don’t know how well I did, there, but here’s how I came up with the point values: Using wikipedia, I found an article dealing with race and crime in the united states. In it, I found that the data presented in the article was fairly messy, taking numbers from different years, etc. but it said that the incarceration rate for black males is 4749 per 100,000 — about 4.8% of all black men in this country are in prison — while the incarceration rate for white males is only 487 per 100,000, or about 0.5%. I also needed to adjust for the proportion of the population that these groups represent. According to the 2010 US Census, the population classified as white represents about 63% of the total population, while blacks represent about 12%. Multiplying these percentages together, I got 0.63*0.05 = 0.00315, and 0.12*0.048 = 0.00576. Dividing these two numbers into each other, I got 0.00315/0.00576 = 0.546875, and 0.00576/0.00315 = 1.828571428571429, which I rounded to 0.5 and 1.8, respectively. I took those numbers and multiplied them by the base point value of 100, to make a black arrest worth 180 points, and a white arrest to be worth 50 points. Coming up with these numbers gave me a sick feeling.

Killing a person scores much 100x as much points as arresting them, to reflect that ending a person’s life is a higher stakes proposition than simply arresting them. Perversely, this creates incentive to shoot people, if you’re going for a high score, and for the highest score, to preferentially seek out black targets.

I never tell the player that they ought to try for a high score, but I allow the structure of the game to suggest to the player that this is what they ought to do. I expect that most people will try to play this way at first, and perhaps if they think about what the game is telling them, they might try not to shoot as much. It’s possible to play with a strategy of only arresting people, although you will score much slower, you can play longer as long as you manage to avoid being shot yourself by criminals. If you don’t care about arresting the wrong people, you can probably survive indefinitely, and in the long run the extra points you get for arresting black criminals will outweigh the penalty incurred for arresting innocent white people. In thinking about this more, it makes me question why I gave the population equal proportions of black and white people, and criminals and innocents. It might have been a more accurate simulation to give these populations the same proportions as the census and crime statistics show. But while the census figures are less likely to contain institutional bias, the crime numbers really only track incarceration, not criminality, and I don’t know where to find numbers that would reliably measure the proportion of a population that are criminals, broken down by race. So, it’s a limitation of the design, I suppose, but I’m not sure how to do better there. If I had done this, though, it would have pushed the bias toward targeting blacks much higher, because white criminals would be very rare, white innocents would be very common, and blacks would be the only safe targets for arrest and/or extra-judicial killing. This might need to go into the post-compo update, if I continue developing the game.

To provide the player with a bit of incentive to use their gun, I gave the criminals guns as well, with which they can commit murder, and some of them will try to shoot you, so there is some of the self-defense and defending the lives of others in the game, just as it is talked about in the real world whenever one of these shootings takes place. If I had to do it over again, I’d probably use the crime statistics tracked in the game to penalize your score, so that you would have a bit more direct reason to try to identify and stop the criminals. This will probably be addressed in a post-compo version as well.

The Play Experience

My process in coming up with this design was slow and meditative, so I probably spent more time thinking about the design, what it implied in terms of the message it would send, and then carefully creating a design that imparted the right message. Comparatively speaking, I spent very little time actually playing the game, and I think that shows in the play experience. I’m not really satisfied with how the game plays. The AI is extremely rudimentary, and if you allow the game to continue spawning people and don’t wipe them all up by constantly arresting or killing them, very quickly it gets to the point where there’s too much happening on the screen, and you can’t take it all in, which makes your decisions and actions less meaningful. As well, when the screen fills up, very quickly you end up accidentally colliding with people who are walking around oblivious to you, and obviously that removes the aspect of intentionality from the act of arresting them, detracting from the game’s message.

I think, if I did the design over again, I’d try to make the game slower, so that the player would be able to think about their actions and decide to do them, rather than react in a twitchy manner. Perhaps I’d reduce the number of people that can be on screen at one time (there’s currently no limit, which is bad), and I might also slow down the action so that only a smaller number of people are actively doing anything — I considered making the AI’s move in a turn-based fashion, so you could have time to monitor each individuals actions and try to figure out if they’re a criminal or not, which would give the game more of a detective-y feel to it. I’d definitely like to improve the AI a bit more so that it would make the game less random.

Overall, I’m not all that satisfied with the game as a play experience, I think it could be much better — but working on the project allowed me to work through my feelings on the current events. And, working through those thoughts was a more necessary thing for me this weekend. There’s a lot that is wrong with our country right now, especially in government and law enforcement. Reform is badly needed, and seems like a remote possibility at best. It seems like the system of checks and balances, and the rights that we are all guaranteed exist only on paper right now.

csanyk.com © 2016
%d bloggers like this: