A Programmer’s Mind

Programming is a very specific art that involves taking program code and somehow turn it into computer instructions. This presents a challenge to humans because we’re wired very much different from computers; what we think is perfectly natural may be inherently alien to machines and vice versa.

For example, machines have no concept of guilt or forgiveness and thus cannot forgive mistakes. If you break your code, the machine won’t sit down, pat you on the back, and say that you probably did your best. It won’t blame you or mock you. It will cease operations, spew out more or less friendly error messages, and wait for you to improve.

Further, machines are perfect logical beings. There’s a meme about a programmer’s wife asking her husband to bring two liters of milk from the store and if they have fresh eggs, bring a dozen, whereby the programmer brings a dozen liters of milk because they had fresh eggs. Machines think like that, and as programmers, we need to think like that too.

Finally, computers do not try to understand you. You may have programs that try to understand what you are trying to do, but unless someone has instructed the machine to do something, it doesn’t happen. The computers will not prevent anyone from exploiting weaknesses, for example, if you have left open or neglected security holes. Your friend may call the cops when a burglar breaks in even if you haven’t told them to watch the door; a computer will not.

This may lead you to think that computers are inherently stupid and you’d be right if you judge stupidity by standards we normally reserve for humans, but the reality is that computers can teach us a lot about how to interact and behave in society in general.

The absolute adherence to accuracy, for example, can lead a programmer to think more than once about a given answer to a question or an approach to a task. A programmer may be more likely to understand and make logical arguments in a debate and may understand better to explicitly include necessary or exclude unnecessary information or details in a description.

Programming is inherently good for you. Not building software because someone has usually taken the difficulty away form you.

I mean hard core programming where you actually need to write code that in turn converts, through more or less obscure channels, into instructions a machine needs to work. Once you master that, you have mastered not just the training of your computer but also expanded your mind to think in a way that is more logical, less prone to error, and more likely to be efficient.

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

Introducing #Twisto

We’re approaching the first public version of our new puzzle game called Twisto, so I thought I should introduce the game.


Twisto is a 2D puzzle game inspire by Rubik’s Cube. The goal is to recreate a solution board by twisting rows and columns of colored cubes. Once the bottom board matches the top board, you clear the level.

Twisto01 Twisto02

Simple enough, yes? Well, there are 200 levels of increasing difficulty. Towards the end, you’ll face boards like these:


Don’t worry, you’ll have plenty of time to practice before those levels, and if you get stuck, there are ways to get out of a sticky situation too. Also, you can ask for help from your friends, but more on that in a moment.

Game Modes

Twisto has several game modes and more coming. First, you have the standard level mode where you play through varying puzzles of increasing difficulty.

In level mode you also earn achievements such as additional health, unlocking new game modes or game features, and so on. There are 200 levels total, each being unique to you for unique each time you play. In other words, your level 30 is totally different from my level 30 and will be different the next time you try too!

Next, you have Code mode in which you can enter a code word of your choice and get a unique puzzle based on that word. For example, when I enter Furuknap as the code, on Hard difficulty, this is what I get:


This will actually be the same puzzle for everyone, so if you enter the same code on your Twisto you get the same puzzle as anyone else.

Note: The above puzzle isn’t actually the release version of the code Furuknap because I’m currently working on game balance which affects which puzzles get generated. Once we release the first full version, the algorithms get locked in, though, so everyone gets the same puzzles and challenges.

If you get far enough, you can also unlock Endless mode and Lights Out!, the latter being a mode in which you only see which tiles are in the correct position but not the color of each tile!

We have planned additional game modes too, but want to get this version out so you can start playing.

Social Features

Twisto is also a social game, allowing you to share your puzzles, challenges, and solutions with friends.

This is possible because each Twisto puzzle has a particular URL that you can share, and when your friends ask for your help, you can simply click the URL from a device that has Twisto installed, and it will open the exact same puzzle.

This can even include any moves that you make, by using a specific format to describe which rows and columns to move. Here is an explanation of how to read Twisto solutions, but if you click a twis.to URL with a solution included, it will automatically launch a playback of those moves.

The social sharing features open up a range of new game options, including collaborating on solving a huge puzzle. One example may be that you and a friend make five moves each and share the progress with the other. Whoever ends up solving the puzzle wins.

Because puzzles and solutions are URLs, you can also bookmark them in your browser if you want to save a particular puzzle or you can just send them to yourself in an email. If you decide to share your puzzles, the link will take your friends to a URL where they can download the game.

Other Features

I should mentioned immediately that Twisto is free.

The way we intend to make money is that when you’ve run out of moves or lives, you can watch a video ad and get more moves or additional lives. If you’re offline or don’t want us to eat, you can simply wait for health to regenerate.

You can also unlock additional health capacity by playing the game and, although you start out with just three hearts to hold health, you can earn up to six hearts.


There are other things to unlock too. For example, you can unlock Playback, which allows you to “rewind” to any previous move in the same game at the cost of one life.


I’m not going to disclose all the achievements now. It is part of the joy of discovery but also because we’re planning to add more achievements and content and I’ll probably not update this blog post every time.

Want to Play Twisto?

Well, you can. There’s a public beta out right now and within another few days, the final version will come out.

Get it on Google Play

Please send us any feedback you have to hello+twisto@lobster-games.com and we’ll be very grateful if you include which device you have and which version of Android you use.

Thank you and enjoy!

Pin It

LFG: Why Your #Gamedev Idea is Important But Not As Much As You Think

I have been hanging out in the indie game dev community for a few months now, observing, building games, and participating in discussions. After more than 30 years of software development experience, I think I have something to contribute despite my relative inexperience in game development as such.

One thing that somewhat surprises me is the degree to which people are looking for groups. What surprises me even more is how many people seem not to even do basic research before thinking they can get started.

Note: The term Looking for Group, or LFG, originated in MMO games where players were looking for a group with whom they can explore, fight monsters, and share loot that they would not be able to do alone. In game development, it seems to be a similar approach, mostly because building a game can be a daunting tasks requiring a wide range of skills.

It is rather amazing from several perspective. I cannot imagine any other business where people would join random strangers to build something that will hopefully feed their families. I know, many of these ad-hoc teams aren’t really bread winners, but it is still a large part of the indie game scene.

Quite often, however, I see someone posting a request for programmers, artists, writers, musicians, and so on, because they have an idea for the next big thing in games. They think that they can promise revenue sharing as a viable compensation to these people they want to hire because they do not really have any money.

Now, enough things have been said about revenue sharing and how it never works. And really, it never works in the same way I can say that nobody ever writes Facebook. Sure, one person did, but it is not really a viable business model to expect that to happen. However, even granted that, revenue sharing never works when the idea person initiates it.

The Problematic Ideas Person

Here is the problem with the idea person: your idea may be great but there is no way to know whether it has merit or is just another waste of bits and bytes. It takes a lot of work to prove that your idea is valuable and do not let this stop you, most ideas are not valuable.

As a programmer, I can know whether my code is any good because I feed it a bunch of data and get a result and if I am any good at what I do, I get the result I want repeatedly. It takes work but I have a very clear path from no code to code with specific rules or patterns I can follow to get the results I want.

The artist can know whether their art is good because they can show it to someone and have someone say “Wow, Picasso would be envious” or the complete opposite, “Wow, Picasso would be envious”. The music person can play his clip to friends and get immediate feedback in the form of “Wow, my ears just had an orgasm” or “Wow, my ears just got raped”.

If only Justin Bieber has solicited such feedback, he might have turned into a carpenter or something like that and the world would be a better place.

The idea person, however, has no such benefit until you have all the other elements. You cannot explain to someone what fun is in a repeatable way. You need to feel the game idea to understand whether it is interesting.

Explain Comedy

Let me give you an example: Explain to me, please, the premise of Faulty Towers in a way that makes me laugh every minute as I usually do when I see the show. Or pick any Monty Python movie any other show or move that makes you laugh. Pick Arrested Development if you cannot come up with anything else.

Explain that show or movie to someone in such a way that they truly get how brilliant those shows or movies are. My wife has tried, several times, to explain why Arrested Development or Bones are really cool series, and even knowing her and that our tastes are very similar, I can’t really say I want to watch either.

Just try it; it is exceptionally difficult to convey a final product in a short idea even when you know the product is brilliant. The term “I guess you had to be there” is a perfect example of how someone experienced something that they cannot really convey later.

That’s not to say your ideas are worthless, only that having an idea and getting to someone else being as enthusiastic about it as you are is really, really difficult. The engineers and artists who build code or pictures or sound have it easy. You have it hard and frankly, most of you are really bad at it.

To make matters worse, this is a very typical “well, how hard can it be?” situation for everyone who isn’t on the inside, where it is really easy to get started conjuring up ideas but where the work from there until you have one other person agree with you is exceptionally long and hard.

Dogfood, Eggs, and Baskets

I work for a game company called LOBster Games (this is my blatant self-promotion). We build a range of different games, from small quick projects like Letter City or Twisto to major undertakings like Final Arena that we don’t even know whether we’ll finish.

I’ve come to appreciate the ideas coming from the other members, or lobsters are we call ourselves, of the team. Whether those ideas are good or bad, we can’t know so we need a method for finding out.

At our company, we take ideas that come up and build them to a prototype stage very fast. In fact, Twisto went from “Hey, I have an idea” to first playable version in less than a week, to a fully feature complete version in two weeks, and to first public beta, mostly polished, in three weeks. If all goes according to plan, we’ve gone from idea to public launch in four weeks, which includes testing by external beta testers. There was a similar pace for Letter City.

That rapid pace means we can quickly test whether our ideas work for the audience. If not, the risk to us is low and we can move on to other projects without necessarily feeling too bad about the loss of time or money. It takes a bit longer and costs a bit more than an elevator pitch but has the same idea behind it.

There are other strategies that may work very well too to reduce the risk. The key question, however, is that as someone with mostly an idea, what exactly do you do to mitigate the risks of the team? Because that’s part of your job.

Have an Idea? Run With It!

So whereas everyone always needs to start with an idea, it is very hard work to get that idea from simply being that and to something that has real value. I am not discounting your ideas in any way. In fact, unlike many people in the community, I encourage you to come up with more ideas.

However, you must realize that it takes a lot of effort before anyone will buy your idea from you and that is why you struggle when you are looking for a group as an ideas person. You must understand that when you approach someone with an idea, you need to not just explain your idea to them but also how you plan to make that idea into reality. That takes skill from your side and if you don’t have that skill, you probably should hold off from trying to recruit others to your fledgling empire of awesome, as much as you are certain it will be just that.

Pin It