Tuesday, September 30, 2014

The Player and the Hater

or, the person who is enjoying a game versus the person who is not

     I  have touched earlier on a theory that the most important factor driving a player's experience is their expectations, and setting their expectation is the key to game design. The idea is that a player who is enjoying a game will expect to continue enjoying it, and their mind will reaffirm that belief as they continue playing, even through periods where the game stops producing gratifying experiences.

     However, what happens when a player stops enjoying the game? Can we do anything about it? I have a theory that the most intuitive amount of time to complete a goal in a game is based on the time it takes to compete one stage to that goal. For example:
- experience levels should increase at a rate related to the average duration of a fight.
- Health should drain and recover at rates related to the speed of swings.
- The space between each enemy should be determined by the run speed.

     A game designer may be able to set a pace (perhaps a period spent per each unique environment, or maybe the time required to get through dialog and cutscenes) and from that extract "ideal" rates for each goal. The relationship could be an algebraic formula using the time of the goal, the time of one step to that goal, the intended pace of the game, and a constant. Maybe something like:
step / goal = 1 / (pace^const)
But really I shouldn't just guess at it, the point is that people draw long-term expectations based on their immediate input.

     Now here's how that idea relates to player who are enjoying or hating the game.

     If a happy player will probably continue to be happy, then a player who expects to hate a game will probably find reasons to support that belief. In a way this would produce the same result via Stevie's Constant- for a game with a slow pace, both players would be looking ahead at a long drawn-out experience. One player would be excited and the other player would be dreading it.

     If Stevie's Constant holds any water and we can know this about the players, then we can work to mitigate the effect. Perhaps during our long drawn out gameplay we'll actually have a secondary gameplay control that accelerates- keeps bringing faster inputs to engage that unhappy player, with perhaps an aesthetic hint at the overall pace of the game. It can be non-critical and optional, so our satisfied player can keep playing the nice slow game he likes, while the unhappy player has an "exit" to distract them while they absorb the broader game experience.

     So to answer our question: Yes, we can do something to help unhappy or biased players see our game for what it is- in theory. It depends upon two ideas, namely that players will have a tendency to reaffirm their expectations while playing a game. The other notion is that the immediate controls and mechanic cycles represent the complete game in the mind of a player. Using these ideas together we can try to gather our audience into a certain frame of mind and ready them to experience the game the way we intended- in a way that strengthens the art form as a medium for self-expression.

Thanks for reading.

Tuesday, June 10, 2014

The World of Game Design

     Hi, my name is Stephen. I've played a great deal of games, spanning the spectrum- I grew up in a golden age of independent game innovation, when online flash portals like newgrounds.com were at their strongest and the Half-life modding scene was thriving. Today I purchase a lot of classic games from GOG.com, from periods before there was a "mainstream" and nearly every game was an inventive one. In school I spent a lot of time in Counter-Strike custom maps- kind of a crucible for level design which earned me an appreciation for the deep level of understanding required to build a balanced, atmospheric map. In fact, I consider level design to be one of the highest art forms in the modern world, and one of (my) three tenets of game design:

Mechanic - This is what most indie games seem to be exploring today. In a sense, building a mechanic is positioning goals in relation to the player(s), and changing the way obstacles interact with the path to that goal. It can be literal -as in games like pac-man- or more abstract -as in Hidden In Plain Sight (Indiecade 2012 finalist) where the player's own behavior becomes an obstacle.

Controls / Interface - Also often experimented with in indie games, the controls are the means by which a player extends their mind outside their body and into a game. The control can be the entire experience- right now at the Indiecade E3 exhibition is a game where two people grip a single mobile device which displays a direction it wants to tilt in, causing the two people to become badly entangled as the device demands yet more awkward movements. My belief is that a pleasurable control scheme is the most important factor in a fun game, that freedom of movement in itself is fun and taps into the classic desire to fly or breathe underwater.

Level Design - Relatively unexplored and perhaps only understood in a limited context, designing a level is introducing new experiences using the same controls and mechanic. Level design often dictates the difficulty of a game. Since I started thinking about level design, my favorite comparisons would be in the games of chess and tug-of-war. The games will always have the same mechanic and controls, but a new level in a game of tug-of-war might be where one side stands downhill to its advantage but holds on slippery ground, countering that advantage. In a game of chess, every different board is a level, and with each move the player must reconsider his strategy and create new predictions for how the game will develop. To arrange a balanced level in either game requires a perfect understanding of the game and how it is played. For the record, I'm terrible at chess.

Each of these three mechanisms are brought to the player via the presentation, which is the visual, audial and literary composition of the game. This is virtually the only thing explored by modern mainstream games, and perhaps rightly so- after all, the movie format has been largely unchanged for the last hundred years yet the medium still regularly delivers new, delightful experiences. I feel that the presentation strictly follows the mechanics, controls and level design in importance- to craft a game following an aesthetic is like building a castle from the flag downward.

One thing I have noticed over the years is that the best-received games tend not to be ones with excellence in any one aspect, but rather harmony in every aspect. This idea forms the core of my theories on game design- it's possible that the secret to making a fun game is in setting the players expectations, well before ever attempting to exceed them. In any case, games are now regularly praised for being short and concise (Portal, Limbo, anything from Brendan Chung) while mainstream releases can be critically panned despite cutting edge photorealistic graphics.

There is still much to explore beyond that, too. For example, I don't think anyone will know soon how and why a player feels accomplishment while playing a game. What kind of different behavior can you expect from a casual player and an invested player, and can they both be led into the same emotions? Gaming has brought a new actor into the world of entertainment- the self, not only the individuals holding the controllers but the collective self experienced by every human being who has ever lived.

Wednesday, June 4, 2014

Game Controls - Thoughts and Concepts pt. 1

     If you asked me what the most important aspect of a good game was, I would have a convenient one-word answer for you- "controls". Much like tempo in music, color in painting, and sound effects in film, the right controls can vastly improve a game while frustrating controls can ruin it. It's an art form entirely to itself, and a well designed control system has considered these concepts and how they affect the user's experience.

Delay / Responsiveness - As a general idea, delay is the time between the player sending input and the game producing a result. Every player will notice this on some level, consciously or not. Zero delay is often desirable for movement and in firing weapons, however delay must be carefully chosen for some actions. A shooter will lose realism if you can switch weapons too fast; too slow and players become frozen when weapons run out of ammo. Even for 2D puzzle games, a delay is important for players to review moves they make before the game board changes. Generally, a delay should be implemented any time the player has to change their thinking and strategy; it allows a "rest" to alter their expectations and orient the mind.

Movement Speed / Run Speed - More specifically, top speed. This interacts with numerous design elements of a game, particularly level design. A high run speed does not usually mix well with hard corners and narrow corridors, and low run speeds are frustrating in open areas. Top speed can determine the amount of time between a player spawning and their first encounter, and as such it is extremely important in multiplayer action games. Changing run speed can even be treated as a strategy mechanic. In games like MMORPGs with traveling or large open areas, players will often go to extreme lengths to increase their run speed.

Movement Acceleration / Deceleration - Goes hand in hand with top speed, interacting heavily with level design. Acceleration will also affect the way players can react to incoming attacks and will change the path they take across a level, affecting the views they see. Knowing how quickly they can move, an FPS player will change where they position themselves near cover and can influence them to stay put or emerge during a firefight.

Movement Friction - Almost the same as acceleration and deceleration but not quite. Friction shows itself when a player is sliding down a slope and may also affect turning/changing direction (depending on the way movement is implemented). Changing friction on different surfaces makes for a great game mechanic, as in countless classic platformers and FPSes, particularly the Half-Life series (especially Portal 2). In the online FPS Urban Terror, a whole genre of environmental challenge levels called Icy Jumps is built around reacting on low-friction surfaces.

Vertical Slope Limit / Climbing Ability - The vertical slope limit is the steepest possible hill the player can move against before they are halted or begin sliding down. A high slope limit can prevent players from getting stuck on world geometry, but a low slope limit can increase the sense of altitude and height. The game Skyrim used a high vertical slope limit to allow players to scale steep mountains as though they were flat surfaces, allowing the designers to obscure distant views with mountains rather than an ugly clip plane, while still allowing near unilateral freedom of movement. However, Skyrim's limit may have been too high for experienced players-- I found it relatively easy to scale its highest mountains and buildings, and I could rapidly escape dangerous encounters.

Gravity - Good ol' acceleration towards hell. Simply a type of acceleration outside the player's control. It's important to note that gravity is distinct from maximum falling speed and both interact with fall damage, a very tricky thing to get right in games. Gravity can help provide the player with a sense of pace, and naturally should never be slower than lateral movement. I use the term "natural" because a designer may want their game to feel different or offensive in pursuit of a specific experience.

Jump Height - Doesn't need much explanation, but there is some nuance to it. In FPS games, a natural jump height is never lower than your crouching height or higher than your standing height (so you can charge from behind cover but not appear from behind walls). In platformer games, a natural jump height does not lift you outside the screen area (so you can always see where you will land). Typically jump height is not a value but is determined by gravity against a jumping force. Some games don't allow jumping for many reasons-- while this is realistic (how often do we jump on things in real life?), I have never played one of these games without yearning for that little bit of freedom (after all, how often do we get to jump on things in real life?).

Crouching - Another simple, pleasurable concept often missing or re-interpreted in games, crouching can be used for a wide variety of purposes. It might allow players in restricted spaces, make them harder to hit, increase their accuracy or simply reduce their speed while silencing their movement. It's a great tool, since every player inherently understands it- gaining one ability while sacrificing another. Sometimes crouching is foregone in favor of a locking cover system. Locking cover systems can allow for some effective AI behavior, but sacrifice freedom and often make me feel more vulnerable rather than less.

That's just a handful of the many factors that make up the "controls" of a game. There is no such thing as good or bad controls, but pleasurable controls are generally those that harmonize with the rest of the game. Think of a game's controls like a pair of lungs, periodically allowed to stretch to their fullest extent without feeling shallow or limited. Controls should be used to manage the players expectations and, when the time is right, to defy them. When ignored, controls are often described as "clunky", "sensitive", "heavy" and "clumsy". When done right, controls are not noticed-- but the player connects with the game, and appreciates it on a deeper level.

Wednesday, October 23, 2013

Low Poly 3D - 001

Here are some of the Low-Poly 3D models I have been making lately. As you can see, I use "nearest-neighbor" texture filtering (point filtering) with careful UV mapping of extremely low-res textures to create the kind of smooth, clean lines that would otherwise require much higher resolution textures..

Thursday, July 19, 2012

Hosting Flash on a Blog - The Piggyback Method - July 2012

As I covered in a previous post, there are a number of ways to host a flash game on a blog or website. Here I will go into detail on the method I used earlier to embed a flash game in Blogspot / Google Blogger.

The "Piggyback" (Outsource) method:
This method supports any site that supports HTML input, including free sites such as Google Blogger (blogspot) and Tumblr. It has been successfully tested with Newgrounds.com. Other sites may prove more difficult.
Remember: it is inadvisable to use the services of any site that you do not know and trust.

1) Create an account on your desired host. This always requires an email address and may require you to enter more information. Use discretion.

2) Upload to the site. Newgrounds.com requires a .JPG or .GIF icon for all flash submissions.
NOTE: Both Newgrounds.com and Kongregate.com have a screening process for new games to confirm that the game works and that the maturity rating is appropriate (i.e. you cannot provide an "everyone" rating for a game with excessive violence). This screening process may take varying amounts of time, from a few minutes to overnight.

3) Once your game is online, visit the page where it is hosted.

4) View the HTML source of that page. (Right click the page and select "View Source" in most browsers)

5) Locate the URL address for the .swf file that represents your game. On Newgrounds.com, it will have a similar filename as your game.
Example: http://uploads.ungrounded.net/598000/598935_20120711_test_029_fish_gam.swf
(From uploading an swf named 20120711_test_029_fish_game_v3.swf)

6) Inject the URL into an HTML embed code
<embed src="http://uploads.ungrounded.net/598000/598935_20120711_test_029_fish_gam.swf" type="application/x-shockwave-flash" width="800" height="450"></embed>

7) Paste the embed code into your own site or blog.

Modern ways to host flash games - 2012

There is more than one way to host a flash game on the internet.

Hosting can be prohibitively difficult if you are just beginning to make games. The "traditional" method is to create your own website by purchasing a domain name and a subscription to a hosting provider. The site itself must be designed and built-- once this is done, the game can be brought online.

Alternately, there are "aggregate" game hosting websites such as Newgrounds.com and Kongregate.com which will host your game for free and virtually guarantee its exposure to their massive online audiences. More often than not, players will attempt to leave constructive feedback. It should be noted however, that these users are not necessarily representative of the people you want to play your game.

Despite the apparent benefits of hosting your games via these aggregate sites, you may still choose to host from your own site or blog. One clear advantage is that you can control the way your game is presented to the player. In the past, Newgrounds.com had banner ads for adult websites. On Kongregate.com, all games are presented next to a public chatroom. Both sites use heavy formatting that is slow to load and consumes computer resources that could otherwise be made available for your game.

The fastest and most affordable way to host your game is to outsource or "piggyback" off of external hosts such as Newgrounds.com. This method still requires you to create an account and publicly post your game to that site, but you will be able to embed (link) the externally-hosted game on your own site or blog. Some aggregate sites may even provide the HTML embed code for you.

Game hosting methods:

The "Traditional" Method (pay for your own site):

      Complete control over presentation
      More difficult than other methods

Upload to an aggregate flash site:
      User feedback
      No control over presentation
      Site may slow down computers

The "Piggyback" Method (outsource to a flash site):
     Outside exposure
     User feedback
     Near-complete control over presentation
     Game will also be hosted on the other site

Wednesday, July 11, 2012

First Game

"1ce Upon a F1sh Kingdome"

You are Salmon, Prince of Fish

Eat small fish to become bigger. Be eaten by big fish to become smaller. Moving makes you smaller. Bigger fish deeper down. WASD or Mouse to move. (W: up, S: down, A: left, D: right).
Scorekeeping is weird/unexplained on purpose.
Graphics are that way on purpose.

Smaller fish try harder to escape you. Similarly, larger fish try harder to catch you (and also bite harder).