Constraint Based Design
Written for #AltDevBlog
In some cases the most destructive action one can perform on the creative psyche is to give it absolute freedom. The blank page, blue sky, and empty word document are among the most terrifying monsters in the creative world.
- Apply artificial Constraint
- Design within Constraint
- Remove Contraint
- Analyze
That sums up a little bit of advice I’m going impart as to how I defeat these monsters. I’ve used this model in various ways and below I’ll give some examples of this simple piece of advice.
One Button
The modern gamepad (or keyboard/mouse) provides a massive subset of control options. Too many in most cases. As a programmer I often just find myself going “bind” crazy because its easy to bind to a key. This leads to terrible interfaces; original Blender UI anyone
As a designer I often force myself to only have one button and one stick on a gamepad, or maybe just mouse interaction. I force myself to use less buttons than I think I need. Then I will often find ways to contextualize or simplify a mechanic or control. Leading to a more elegant control solution.
This also means I can often later in a project arbitrarily say something like, “Okay we will map that Global button to Shoulder button, they aren’t used anywhere”. Which is great when in crunch or a great feature occurs late in development.
Box It
Often when doodling an idea I will just draw a box on the page. Then draw only inside that box. This only really works for visual designs but I find it works really well to focus once I have a set boundary.
Coin Toss
Have two options?
Do a blind coin toss, and then before revealing the coin if you find yourself wishing for heads or tails you know your answer.
Three Point System
When constructing a narrative it’s easy to lose sight of the overall structure or lose detail. One trick I use is what I call the Bullet Point System. The system that forces groups of three means your always forced to find that third thing but also that you often self prune. Some of my best ideas come while reaching for that third point to fit. I also find that often something sounds great but then I can’t flesh it out to three points so I discard it.
Rules
- Write 3 lines
- No line can go onto the next line
- Always write 3 lines
- You can expand a point with exactly 3 sub lines
Story of Lost Boy
- Boy Gets Lost
- Follows Butterfly
- Goes into Cave
- Can’t See Butterfly
- Boy Wanders
- Boy Finds Way Home
- Mother Asks where he has been
- Boy Gives Silly Answer
- Don’t Retell Story
- Child’s Vision
- Doubt the Experience
- Butterfly Lands on Boy
Pick It
Alternatively called the F it system this is for when often I’m uncertain or given too many options. If there are 6 different ways we can go and we can’t be sure which to go well then just throw hands in the air, F-it, and pick one.
Most importantly I document the choice!
I will force myself to finish the design or complete going down the path, no regrets. Then if possible when we have more time I go back to that fork in the road and re-examine the choice. Though to be frank it’s rare that you find yourself going back and re-evaulting.
Conclusion
Keep It Simple Stupid! This is all very basic advice that I was hesitant to post but then I recall watching a 30 minute cooking show on cooking Potatoes and thought well sometimes simple advice is very useful.
Tips for Reading Academic Texts
Original written for AltDevBlogADay
Do you ever open an academic text or scary PDF, scan for code snippets, pretty pictures, maybe read a bit then run for the hills?
One of the most important skills you learn in university, or rather you should learn but many don't, is the ability to read and write academic texts. Often when tackling a topic, someone more knowledgeable than you has spent a great deal of time on the topic, possibly with peers to research the topic. If not your exact topic then I guarantee the supporting topics have been researched. So why not stand on the shoulder of giants? These are a few little tips I often give for tackling the wild white paper.
Tip #1: Notebook or Note Taking tools are critical
First you will need a note taking method, I recommend paper if you're reading on the computer. You will need a text either printed or digital. If you're on a computer, Google Scholar is your friend. Most university computers have IP access to the PDF in the search results, some employers have paid for it, as well as libraries. Your home computer will not have free access to most papers and you will need to hand over cash.
Tip #2: Google Scholar rocks, if your employer hasn't got access check a library computer
When looking at a paper in the search results the number of citations is a good quick reference for the authority of a paper. Also if you know a well known person in the field or university known for the field you can track down papers that way.
The title is often the first stumbling block, an undecipherable mess of words which seem to obfuscate rather than initiate. This is not intentional, the academic world is about concise precision trying to eliminate the ambiguity of natural evolving language. I would mention standards but that is more a dream than reality.
Tip #3: Build a list of common terms or words and their meaning
So process the title and write down every word you don't understand. Find the meaning of those words. You will want to build notes on the subject matter and commonly used words. Both to help understand the paper but also to help find other papers on the topic. Remember some words change their meaning based on context.
Tip #4: Abstract: if you don't understand it, read it
An Abstract is mostly there to tell you if you need to read the paper. If you are familiar with the field the abstract should have enough information in it to summarize the ENTIRE paper and tell someone if they should read it. If you do not understand the abstract or are unfamiliar with anything mentioned in it then chances are the paper has new information for you. In terms of the abstract readability, well, you try compressing a year of study into one paragraph
Tip #5: Intro, Expansion, Summary
In an academic paper the introduction comes first and tells them what you're going to tell them. Secondly a body which tells them, then a summary repeating what you told them. The body or sections can have this structure recursively depending on the size of the paper. As my old supervisor told me, academic papers are NOT mystery novels, there are no twists.
Tip #6: Note it, Stop, Search it
Read every sentence, do NOT skip over. If there is a single word or phrase you don't understand then WRITE IT DOWN. Stop reading, then go search it. Find the meaning as relating to the field. Sometimes there can be a rabbit hole effect. They might mention a mathematical term which leads you into a deep hole as you try understand it and process it.
Tip #7: Make note of all references, websites and sources
This is a GOOD thing. You are plugging a hole in your understanding. Academic papers should not have any throw away terms, unless a sentence says: "we dismissed the pink peanut method". Make note of any place which has useful information and make your own notes. The process of writing things down will often anchor them in your mind. If you go down a deep rabbit hole then always take a break before returning to the paper.
Tip #8: Look for alternative explanations
Sometimes a concept just won't stick in your head. Often there is a basic concept or well known crux which many people learned in high-school or university and they just take it for granted. Sometimes you've just developed a brick wall in your mind which you need to circumnavigate. Looking for alternative sources such as lecture slides, podcast, blog posts or just asking someone to explain it to you will help.
Tip #9: The deeper the rabbit hole, the more important it is to YOU, not the paper
This is going to sound strange but a really deep rabbit hole of understanding does not mean that a concept or term is important to the paper. It does mean it is important to you however. Your knowledge and mind are critical to your growth and the deeper the hole, the more there is to fill on the topic. The harder that hole in your knowledge is to fill, the more important it is to fill it. Once you're done not only will you have learnt something but you will have often solved a lot of other related problems.
In my 3rd year of physics I was trying to understand a field problem, which I couldn't get. Finally my tutor helped me with it, but it took a long time and we found out that some of my basic high school level understanding of vectors and matrices was just wrong. In the process of re-educating myself on that topic all the sudden a bunch of other things I had struggled with over the last 5+ years started making sense.
Tip #10: After trying, ask for Help.
Which leads to my final tip, always be willing to ask for help after trying. Do not be lazy and immediately ask for help as that will irritate and annoy. Though once you've done some leg work, ask for help. Most of us love our fields and love talking about them and sharing our love for our personal pursuit of knowledge.
I hope that this will help transform those white and black walls of text into the amazing resource and works of love they are.
Design Cheat Codes
Disclaimer: I’m not claiming games which use these mechanics are in any way lesser. I’m merely highlighting these as easy ways to sauce up a game. Think of it like add ketchup / mayo / vinegar to your chips
Originally Posted on AltDevBlogADay
Working on several projects which have been technically limited, or constrained by some unbreakable conditions I’ve come to appreciate these quick and simple ways to sauce up your game. Note that not all sauces work with all games.
Make it Kinematic
Movement is fun, controlling a kinetic object is juicy. Give items in your game mass and direct control.
Compare these two situations.
- Player selects a unit, then selects a destination, then confirms selection. Unit then moves along path.
- Player directly controls unit with key controls
- Player controls the unit acceleration and the unit has mass and inertia
I guarantee if you prototype those three cases in a sandbox and give 10 people controllers then 3 will get the most play time, followed by 2 then 1. The simple truth is players like the feeling of weight and kineticism. A simpler real world example is give a child 3 objects: a light foam ball, a baseball and a jelly ball.
Secondary Motion
Do all player actions cause secondary actions? So menu buttons have not only a hover and click state but an animation or action. When the player jumps, shoots or activates something in game they cause an action, then ensure that secondary actions happen around that action. For example if a gun fires, get some smoke, or bullet trail. A jump can have a nice animation on the avatar, dust at push off and landing. The activation of a button can press in then light up, the simple act of separating these makes the player more satisfied.
Particles and Shaders
Yes we have all seen particles, bloom and cheap shader effects done to death, the reason? They work! Do you have a well balanced aesthetic in a gorgeous game? Then do not heap it on top, it will bury your work. But feeling bit lack lustre? Well then particles and a few cheap effects like rim lighting will help.
Physics
Does your game need physics, no? That’s great news you can use physics to add secondary motion and sparkles. You don’t need to worry about syncing it up over a network or worries about minor glitches because all it’s doing is making things look better.
Leaderboards & Awards
Will they make your game better, probably not? Will they mean player’s play longer or are more likely to make a purchase, challenge friends or talk about your game... YES!
Read this article here about implementing leaderboards (thanks to David Czarnecki).
Brighter Colours
Well yes we like shiny things. Unless you’re producing a high quality well polished art style well then going for brighter bold colours, with clean lines will almost always increase eyeballs to player conversion.
Also bright bold, friendly cartoon colours have the broadest reach and appeal.
Remove Options
Okay this one is not so much sauce as just general good advice. I’m adding it here because it’s easy to do and almost always helps. Make a list of all you features, options, abilities ect... Measure the usage in play tests. Remove the bottom third of the options. A simple thing, and it feels like your subtracting, which you are, but your adding value.
Local Multiplayer
Okay if you planned it from day 1 and are confident you can deliver online multiplayer, then do it. It’s a great option but it’s not something you add to a project as sauce. Local Multiplayer however has none of those headaches. Whether hot-seat, simultaneous or asynchronous its’ all good.
If your AI is flaxy or your balance is weak, well the meta-game that evolves from multiplayer can often save you from that.
Conclusion
These are just some of the cheap sauces you can add to a game which will spice it up. They are not a substitute for a quality product which is well designed. They are good trusted spices and sauces to spike the dish with. Don’t believe me; look at PopCap, Zynga, Mini-Clip and all the other casual games performing well.





