Dishonest opponents

 Posted by (Visited 8179 times)  Game talk  Tagged with:
Jul 082013

Another question from Quora. At issue was whether a game can be successful if it relies on players being honest about what they think. The example given was “what number am I thinking of?” If the player with the secret number lies, then the game can be unwinnable. So the poster wondered if there were any examples of successful games that rely on blind trust.

Original question is here. The poster has since updated it to ask “opponents” rather than “players.” Before the edit, I posted that I was unsure if I understood the question, because of course there are so many examples of games that rely in blind trust in other players:

  • A player in a team sport relies on his teammates’ cognition all the time. As just one example, passes are executed with the faith that the receiver will be where he is supposed to be, as previously practiced.
  • Team sports rely especially on the coach’s cognition, and there’s a good case to be made that many team games are actually coach vs coach, using the players as poorly controlled tokens. The players often cannot perceive the overall strategic situation very well
  • Bridge and many other cooperative games are about building up trust in partner’s capabilities even though they do not share equal access to information.
  • The classic Prisoner’s Dilemma is a game theory example of blind trust.

I could go on. Which led me to conclude that what was being asked was really about whether the opponent is trusted, and specifically as regards the feedback they give to an action in the game. In a game like this, the player makes a move (uses a verb), it feeds into the black box of rules, and the opponent is supposed to be honest about the way in which the game state is updated, and feed back to the player the results of the action.

Continue reading »

Social games vs gambling

 Posted by (Visited 9537 times)  Game talk  Tagged with:
Jul 032013

A lot of people are still looking down their noses at social games, particularly now that Facebook is no longer the hot new games platform. This ignores the fact that there are millions of people happily playing social games every day, of course.

Many of the games seem like gambling to people now, what with small payments in order to make progress. Many of those who dislike the free-to-play model feel like “the game is rigged in favor of the house.” There’s also the fact that many of the social game companies have an eye on regulatory changes that may allow them to get into real-money gambling soon.

Which leads to people asking (on Quora), are social games the same as gambling? Are they really just like slot machines?

Continue reading »

Jul 012013

I answered a whole lot of questions on Quora in the last few days, and thought I would share some of them here on the blog over the next little while, since I have been pretty quiet.

The question on this occasion was, what programming languages should an aspiring game designer learn? And the answers tended to be around things like “C++.” But I suggest a different approach to the problem.

Learning new things is hard. Programming calls for a new mindset, if you have never done it before.

Therefore, you should learn whichever one you will stick with. And that means, the one that is easiest for you to learn first. The one that will give you positive feedback quickly.

Don’t jump to C++ because you are “supposed to,” even if you are aiming at working in AAA console. Don’t jump to C# because it’s the current hotness or what Unity uses. Pick the one that you feel like you personally can make progress in.

Any good programmer will learn many languages over the course of their career. Heck, I am not a good programmer, and I have worked with BASIC, C, C++, Python, Lua, modern BASICs like Blitz (three members of that family so far), three homegrown scripting lnaguages, JavaScript, PHP, and Java.

Pick one that is easy and cheap to get started in. It doesn’t need to be powerful, because you don’t know how to use that power yet. Instead, what you want is something that will let you get a picture on screen very quickly. When you are starting out, positive feedback is the hardest thing to come by, because you suck. So you want a language that will make iteration fast and your failures obvious, and your success gratifying to you.

Don’t worry, you may graduate to a language with greater complexity and power. (You may not… designers don’t need to be great programmers. They need to be able to try ideas out).

So high level languages will work best for a beginner. I would try out things like

  • Gamemaker
  • Flash
  • One of the versions of Lua with a simple graphics library. I used to use one for PSP homebrew development that had a simple API like “screen:draw(“picture,jpg”). That is the level of complexity you want.
  • Same goes for one of the versions of python with a graphics libray.
  • One of the many BASIC variants aimed at indie game developers: BlitzMax, DarkBasic, whatever. I am currently using Monkey, a cross-platform language by the maker of Blitz.
  • If you have an iPad, a neat Lua variant is Codea — you can code right on the iPad! I’ve used it for a couple of prototypes. There are similar apps for Python, and other languages.

Remember, your first game is going to be on the order of Hangman, Pong, guess the number, not Uncharted. You want a “toy” language, as the pros will derisively call these., because you want to play around.

A lot of your game development heroes started out with MS BASIC.