Tuesday, August 30, 2011

A Minor Crisis

I like to work ahead on assignments; If I know I have to do something I prefer to get some advance knowledge, relevant skills, Start early ect. I know for a fact that problems like to creep up on you no matter when you least expect it. I find that if you start early its much easier to change directions instead of just having to complete your project because it must be done (especially when you cant slip a deadline).

Even if I don't know what I'm working on exactly I will work ahead in hopes of getting some relevant work done or atleast knowing what wont work.

What I'm saying is that I recently learned I will not be using Game Maker for a class I'm taking but my school's internally developed engine. I have had a resenting/hate relationship with the last internally developed engine at my school; so I have my reservations about this next one. However I'm excited that I will no longer be working in GML; but I'm dismayed to learn that I will need to learn Python in roughly a week.

So while I wanted to have some articles posted on this Blog (including some after thoughts on my Business Card Game and PAX panels) I may not have updates this week as I furiously try to learn a new engine and programming language.

I apologize for the inconvenience.

Friday, August 26, 2011

The Business Card Game


The business card game is a game that I developed for my business cards to give them a little bit of flare. To play the business card game you use business cards; and I figure If I’m handing business cards out to someone; I probably wont be the only one. This means they get a stack of business cards and what better use for a stack of business cards then for them to show off to their Friends (who probably have gotten a similar stack of business cards of business cards). So what better use to put these collections of cards than to play a game with them? (it not like you are going to make an immediate use of the business card anyway)

However making a game that is played with business cards is challenging for several reasons. First, there is no telling what business cards the player will collect and in what quantity. While all business cards will contain particular information; the distribution of that info is entirely random (and since the game uses matching mechanics it is an important metric in the game).
Second, people do not want to give up their business cards; any mechanics can not have players stealing or pooling business cards.(since it defeats the purpose of networking with business cards, their primary function).
Third the rules need to be written on a business card. writing rules is complicated enough, but getting rules to fit on a business card is doubly more complex. However it has the added benefit that players will most likely read all of the rules (as players in my experience will quit reading rules about half way through). This is further complicated by the fact I will not be able to use pictures to describe my game; in my opinion pictures can be much more helpful and much more attractive than a half page of text.

So knowing these challenges I decided to build the rules to my game.
Business card game rules
1. Find other players with business cards. Their collection of business cards will be their hand. Each player has their own discard pile.
2. On a players turn they reveal and discard a card from their hand. If able, other players must discard a card to their discard pile that matches either the Job, Area Code, or Email address domain of the first card.
3. Once a card is revealed and no other players discard a card the game ends. A player’s score is equal to the number of cards remaining in their hand. Highest score wins.

The game can be thought of as a shedding game where business card composition and timing play a critical role (since playing a card that causes nobody to discard ends the game). I also wanted the game dynamics to error toward having more business cards being preferable to having fewer (hence why the player with the most remaining wins). In this way the game will reinforce the collection and passing of business cards. I also had players keep separate discard piles since business cards serve a secondary purpose and should be kept with the player at all times. The rules are also simple to keep the game short and to fit on a business card.

I do have some lingering questions. I’m moderately confident that the rules are readable and playable (this means I’ve done some testing and analysis; but I would prefer to do more). I wonder if players will enjoy this game as a two player game; it would be quite one sided since the player with more cards would most definitely win (I do ask people to find multiple players but I feel that will be overlooked). I’m also curious with all the game-designers and game enthusiasts at PAX; who is going to come up with the most interesting house rule.

Thanks for reading and I hope to see you at PAX; or hear form you in the future.

My work in game maker


One of the more recently active projects I’ve been doing is getting acclimated to game maker and building a game for my game prototyping class. The class itself has students produce games in game maker on a rather rigorous schedule. A secondary goal I've had through my education is exploring procedurally generated content in games. While I don't always get to do this and it doesn’t work for all projects, I was able to explore this while ramping up and preparing a game project for the class.

The game itself is currently untitled but it is supposed to be a 2d platformer. However as things have progressed I’ve found that that it seems to be much more in the style of a metroidVania style game. The major feature of the game is the procedurally developed levels that provide a semi-consistent “city and sewer” style levels. Through changing other variables I can also have more naturalistic caves or possibly even other types of levels. Since they are randomly generated the player doesn't know exactly what the level contains or the exact layout. However, the levels all have the same style so the player does get a sort of ‘feel’ for what kinds of terrain they can expect through a level. This keeps things consistent yet also fresh.

OK enough beating around the bush; I’m now going to tell you (generally) how the algorithm works. I can’t post code since this is a student project and I will not own the rights to the code that implements this algorithm (school contract thing). However I can tell you what I’m doing. Ok, lets move to step one

step one: basic info
I use a 2 dimensional array to contain where all the tiles will go and what the tiles are going to be(fairly standard stuff). This array is the back bone and how the computer reads through the level data. Most things are basically just different types of array parsing and changing values to get the level to look the way I want.

Step two: build tiles
The random function is by far the most powerful function ever invented ever. What I do to build a cityscape type level is define random horizontal chunks of tiles (normaly 3-5 tiles; where the player object is one tile in size) then I randomly set a height to the chunks and initialize them into the array.



Step three: cutting away
after I’ve done a basic initialization of the array I do some cutting away of blocks. There are roughly three substeps to this, swiss cheese, holes and smoothing.

Swiss cheese is where pockets are cut at random into the array (these pockets are 3x3). They don’t always cut into the areas where there are blocks but it's just to add some additional randomness to the level


Holes are cut by parsing through the array to find areas where there is a large discrepancy between the heights of groups of tiles. Ok so that doesn’t make much sense but basically it's an algorithm that bores horizontal “holes” through the level. It generally starts at some empty space and ends when it hits some other empty space.

This part of my code I think is the most inelegant portion I wrote. But it does what I need it to do when I combine it with ...

Smoothing is part where I search for wayward tiles that are just ‘hanging out’. It's kinda weird to have a ton of random blocks floating in space. While you can't prevent all of them, parsing for blocks that doesn’t have other blocks near them Greatly reduces the number of occurrences. You can do more smoothing if you like as well, however each iteration does reduce the number of blocks and if you over do it it will make your level sparse. I don't do more than a couple iterations with some different tweaks.



Step four: extra stuff
This is now where I add in the layer of breakable blocks (It's like smoothing except that it changes any array element that is ‘adjacent’ to empty space to a number denoting that it should be built as a breakable block). If I had a enemy AI up and running I would toss spawn points in here (basically just random checks to see if a space is available and keep looking if it is not). At the end I cap off the sides and bottom of the level so Players don't fall off into space never to be scene again.



What I have learned so far is that Game Maker can require some Zen like patience and requires you to work in harmony with the program. It is not easy to get along with it if you are used to defining everything for yourself but if you are in harmony you can be very effective. In reality your first 40 hours with a new computer program is always going to be painful because you are learning how it likes to do things. I’ve also learned it's a good idea to let the player have some control over the random environment, which is why I have breakable blocks. This lets players have enough control to get to most places in a level without any problems.

Going on from here I really will need to add enemies; and some over-world mechanics (and then do a final art pass). The initial concept of this game is that the player would be a space ranger tasked with rescuing Colonists from worlds being invaded by aliens. The players space ship would have limited space and couldn’t take all of the people off the planets. While the player would have the option of only rescuing scientists; this would be balanced with the scientists not working as effectively unless they had additional crew members that the scientists would value.

While this will be implemented as a much more simple ‘collection and matching’ mechanic, It will hopefully create more of an emotional response in the player. As the game itself will be planned to be endless and force players to make morally questionable decisions, asking what kind of scientists and people they want to save from certain death at the hands of an alien menace.



Thursday, August 25, 2011

Including Failure as Part of the Game.

This article is in response to a post made here:
http://www.gamasutra.com/blogs/BartStewart/20110820/8235/In_Defense_of_Surprising_Gameplay.php

In a recent blog post to Gamasutra Bart Stewart states that contemporary game designers are making games which are devoid of surprise in the form of of anticipating every possible event. He also states that some players like this and are being catered to while gamers who would appreciate surprises are being ignored. He postulates that the possible reason for this scenario is that unpredictable events may lead to unfair situations for the player. He fears this will make things boring and points to developer blogs who work in procedural content generation as a possible solution.

I agree with Mr. Stewart on most points. But one point in particular has grabbed my attention. It is the possible scenario that players may fail because of the conditions put in front of them through a randomly generated sequence. I made me stop and think how games are designed today and what they reinforce.

Simply put most games today state that ‘you will always be able to succeed’ and ‘failure at a task means you just have to retry’.

It concerns me to think that this is what games are all about because life is rarely so simple. There are some tasks and scenarios where the best option is to not attempt them or not confront them (at least not directly) if you don't have the power to change them.

I think some players would be disturbed by being confronted with the existential night-mare of a game that gives them no choice to let them succeed. However they are just rejecting a reality and playing a dream, another nightmare, to where they can always succeed. Cutting the “philosophical bull-shit” for a moment; allowing the player to always win is same as always having them lose. It is boring!

It is also misleading and possibly dangerous to have players only win. Here it’s not about what games are doing but what they could be doing; teaching players to overcome failure. Now when I say failure I mean specifically ‘Player Failure’ the player needs to screw up, NOT the character the player is playing. If a player doesn’t make a choice that leads to failure then they have not failed. players need to be in a scenario where success is difficult but not impossible. Just because you want players to fail doesn’t mean you can force them either. Forced failure isn’t failure. To have failure you must have the possibility of success and the player must choose to get into this scenario. If you don't do this it wont be a real failure to the player; it will be ‘what was supposed to happen’.

So what happens AFTER the player fails at a task that they could have (improbably) succeeded at? The game needs to apologize. someone needs to say “we never should have let you go in there”, or “you didn’t have nearly enough training to operate that machine correctly”, or even “you have failed several times while performing stealth operation; you need additional training before Attempting another.” It sounds harsh and kinda rough. But it will be the truth and the next step is that the game will need to help the player overcome what they are bad at.

Games with plausible failure need to also offer redemption. Players who fail at a driving sequence need to be retrained and re-offered challenges that allow them to prove to themselves that they are competent at driving. This would build an arc telling the story of the player failing, working hard and then overcoming the challenge before them. The game delivers a message that scenarios are not win/lose but that failure is part of learning and attempting new things.

I think that by treating the player as the main character it will help elicit emotions in the player and create a stronger response to the game. I will admit that developing games for these scenarios of failure can be difficult and require additional content. However I think the payoffs of including failure as part of the game design will be worth the additional content requirements.

Tuesday, August 23, 2011

Games and neuropsychology

Disclaimer: I am not a neuro scientist, psychologist, or psychiatrist or have any formal training in psychology.

I think that the appeal of games is based on the neurochemical receptors that are triggered through the actions of the game. My current feeling came about when someone posted to facebook about the work of Helen Fisher; a dating and love anthropologist. She has done work connecting neurochemical receptors in the brain to four temperaments. When I read these temperaments they seemed suspiciously similar to Bartle’s temperaments for MUD and MMO’s. When I looked further into her research I found that she had identified specific neurochemical receptors that seemed to correlate with Bartle’s model. While this gives new meaning to the phrase “I love games,” I think it also opens the door to look for additional neurochemicals and to see how the drive for satiation of these chemicals could be used to make games more appealing to players.

I roughly find that the association of neurchemicals and temperaments breaks-down to something like this:

-killer (testosterone) (maybe with no-epinephrine)
- social dominance, less social sensitivity, attention to detail, intense focus.
When you look at the basic actions of a ‘killer’ personality they tend taunt and seek dominance over other players. You also see in highly competitive environments similar sorts of actions. Players in highly competitive games get increased focus.

-socialize(estrogen/oxytocin)
-verbal fluency,empathy, drive for social attachment, imagination
when you look at these socializers you tend to see that these neuchemicals support traits that seem to be more in-line with role-playing. Later when we look at achievers we will see they also are socially active however it doesn’t seem to support role-playing but More number crunching.

-explorer (dopamine and no-epinephrine)
-thrill, boredom susceptibility, impulsiveness, enthusiasm
These qualities do seem to be harder to track since these people would be playing games for a shorter amount of time moving from different game to different game. you do see these people because there are always people who are looking for new an unique experiences.

-achiever (serotonin)
-sustained attention, low novelty seeking, figural and numeric creativity
Basically these qualities seem to be helpful in the top MMO players who make ‘builds’ and execute raids. it is also associated with sociability, extroversion and low anxeity. (This makes me question if drugs like antidepressants or MAOIs could be sued in the treatment of MMO addition)

Here is the data that Helen Fisher has on her site that lead me to this conclusion:
http://www.helenfisher.com/downloads/articles/APATempDimen-8.ppt


I’m not going to say that the types of games you play determine the type of girlfriend you want to have (or type of boyfriend as the case may be). The real strength of this data is in trying to find a way for games to create scenarios where all these neurochemcials have the potential to be stimulates so that players will always find an experience that is satisfying. This correlation is also helpful for looking for more neurochemicals that could show why certain games are popular or how to tap previouly unknown markets.

It is important to note that people have ALL of these receptors in their brain. People are not a ‘killer’ or a ‘socializer’; they are all of these things. However there is a theory called drive theory that states people try to reach satiation of certain behaviors. My guess is that a ‘killer’ is someone who doesn't get enough, or has a higher tolerance of testosterone in their system and seeks to supplement it with their gaming activity. I have no proof of this; but it is not an implausible theory. This would imply that different cultures or people in different living/working conditions would want to have different types of games and/or there would be a correlation between your relatives and the games you liked (although that would be hard to prove it was a biological predisposition as opposed to an environmental one).

I wonder if there is additional information on these topics that I haven’t seen.