Where Is Interaction Heading?

By: Steve Zachmann, Contributor

When I play games, it’s typically been to escape the real world.  I think this holds true for most of us, and I think it holds true for more forms of entertainment than just games.  When we watch TV or movies, read books, listen to music; it’s all an escape to one degree or another.  Given that assertion, I’d like to pose an interesting question to you; would you like to play games if the interface were like that of the on in The Matrix?

In my scenario, things would work like this…  You’d jack into a game system by interfacing with a device that would completely take over your nervous system (without the annoying hole-in-the-head, thing).  It would completely immerse you in the game as a complete sensory experience.  You would see, hear, smell, taste, and feel everything in the game world as though it were completely real.

At first blush, my thought is always that this would be the most incredible way to experience a game.  The primary idea presented in The Matrix is one that has fascinated me since I first saw the original film, and the concept that we may could completely exchange our reality for a different on is something I’ve often been drawn to.  That said, there are some fundamental problems with the idea of full-immersion gaming.

First, and probably most significant, is the problem of pain.  Almost every game ever involves some form of physical pain for the character.  Even Super Mario Bros. seems kind of terrifying when considered from Mario’s position.  I’d rather not experiences death repeatedly; especially via falling, being burned alive, impaled on spikes, or mauled by all manner of strange creature.  But if you’re going to play a game that’s fully immersive, how do you ignore the feedback created by pain?

Games like Call of DutyDark Souls and even Madden become scary experiences when pain is considered part of the game.  Even if the pain were removed though, wouldn’t there still be the possibility of deep psychological scarring from fully immersive gaming?  Imagine living in Silent Hill.  While playing the current versions of the game sound appealing, the idea of being fully immersed in that world seems utterly awful.  There are many scenarios in gaming that feel this way, too.  Fully immersive gaming seems wrought with terrifying experiences.  The thing is, that’s where we’re headed.

I’m not sure that we’ll ever get truly 100% immersive experiences, but the current VR tech is certainly getting closer to that.  After all, the term VR does stand for virtual reality.  As we get closer to being fully immersed the games that we play, I wonder more and more about what the psychological effects of those games might be.  Again, I’m not sure that we’ll ever reach the level of immersion I described above, but even with the current level of technology, VR is too much for some people.

There are many who find the roller coaster demo on the Oculus Rift to be so disorienting that they can’t handle using the device.  That’s pretty incredible, when you think about it.  It’s both really cool, and really scary, because with just some earphones and a TV strapped to your face you’re already immersed enough that your physical body can revolt against the sensory input.  What happens when we take it further (because you know we weill).  What happens when someone creates a VR rape and torture simulator.  Even without the pain, will the experience be damaging?  Will this be the new way to thrill-seek?

These questions are obviously kind of out-there, but what’s interesting is that they become slightly less so with each passing year.  5 years ago we thought VR was dead, now it’s the future.  5 years from now, what will the nature of our interactive experiences be?  Will they be as immersive as The Matrix?  Do we even want that?  To be honest, I’m not sure, but I think that we’re bound to find out sooner or later.

Advertisements

What Makes A Game, A Game?

I love video games in almost all of their forms.  As I’ve aged, I’ve found more and more about the medium that I find interesting, from an artistic and technical perspective.  Making a great game is so complicated.  It combines story-telling – like a book – with visual and audible information – like a movie – and then allows us to interact with the world.  It’s a medium that, when utilized properly, allows the player to experience so much more than any other medium.  The reason for that though, is very simple to understand…it’s interaction.

What makes a game, a game is interaction.  Without interaction it’s a movie, plain and simple.  With that being the case, I’m interested in understanding what it is that makes interaction so important.  I think that starts with understanding what can be accomplished through interaction that can’t be accomplished any other way.

I think it’s important to first understand that interaction separates video games from movies by turning them into us.  Even when you’re playing a game with a defined main character, like Solid Snake or Geralt, their choices are still your choices.  The words they choose to say may not be 100% your choice, but their actions are still yours.  When you choose to kill an enemy instead of simply knocking them out, when you choose to save a damsel instead of collecting her head for a quest giver, when you do virtually anything in a video game, you’re affecting the world in a way that doesn’t happen in non-interactive media.  You become a participant when you had previously been a spectator.

What happens when you participate is that you begin to empathize.  For instance, when playing Metal Gear Solid 5, I was faced with the lethal vs. non-lethal choice a lot.  The lethal choice was almost always easier, but the non-lethal choice was far more rewarding.  First off, I could recruit the enemy.  Second, it would raise my heroism level which helped the staff I already had.  Something else happened though; I began to feel like it was wrong to kill the enemies.  The thing is, I wasn’t killing (or not killing anyone).  Even when we completely discount the fact that this was a video game and thus wasn’t real, it still wasn’t me doing performing the actions, it was Snake.  And yet it felt like me.  I’m not Snake, but when playing Metal Gear Solid 5 I can absolutely empathize with the choices he/we have to make.

My point here is that the empathy we feel while playing games is a huge part of what makes games so engaging.  It does more than engage us, though.  Interacting in games, and the empathy it invokes is important for more than just entertainment.  “Games” can be so much more, as products like Papers Please can attest to.  Experiences like that use the idea of a game loop to convey the incredibly uncomfortable feeling of what it must be like to live in situations that would otherwise seem unfathomable to us.

I feel so strongly about this that I feel that there should be more interactive experiences created for the sole purpose of making us feel uncomfortable and that we should subject ourselves to these experiences often.  I wonder how many Germans would have gone along with the Nazi regime if that had been able to experience what it was like to be a holocaust victim.  That’s an extreme example, for sure, but I think it helps illustrate the point.

Interaction helps us to empathize, and empathy helps us to grow.  Understanding how others feel and why they feel that way is something that cannot and should not be discounted.  To that end, I believe that games create an environment that allows us to do just that; experience situations we otherwise couldn’t or wouldn’t.  Those experiences can help make us better people by invoking emotions that we didn’t know we even had the capacity to feel.

I’m not saying that movies, television, and books have no place in media.  That’s certainly not the case.  Games however, have the unique ability to bridge the gap between spectator and participant, and in doing so, offer an entirely unique perspective on exactly who we are as people in a way that no other type of media can.  As games progress, it’s my hope that they push towards this end.  I’m not suggesting that we abandon the games we love today, but I hope that interactive media grows beyond simply shooting and fighting and begins to realize it’s potential as a means to experience more than we can in our own skin.

Where Does Mobile Gaming “Fit”?

I’ve been doing a lot of mobile gaming lately; a lot more than I ever have before.  And to be clear, when I say “mobile gaming”, I mean iOS/Android gaming, not traditional handheld gaming.  As I’ve spent more time playing mobile games I’ve started having more fun than I expected too, and as such, started wondering what the future of mobile games looks like.

For the longest time I had a serious dislike for mobile gaming.  When the iPhone was new, I enjoyed the occasional game, but found the nature of the market place to be largely populated with absolute garbage.  While that’s still the case, there is a considerably larger group of quality games than ever before.  Some of the games aren’t just “good”, either.  Several are worth serious consideration for critical awards.  I still have a lingering question about what the mobile market really is to the gaming world, and where it fits into the future of gaming.

If we’re going to discuss the future of mobile gaming, then we have to start by admitting the obvious…mobile gaming is a serious platform now.  Kids today play games on their mobile devices the way I played games on my NES.  When they’re 30 they’ll as much nostalgia for Angry Birds as we did for Super Mario Bros.  That may not sit well with you, but your parents probably hated that you liked your video games more than your Lincoln Logs and Erector Sets; that’s just how life works.  Kids today will have their gaming purchased influenced by the mobile market for their entire lives.  Mobile devices aren’t going away, and the kids that use them as gaming machines will only do so more as time goes on.

Now that we’ve established that today’s mobile gamer kids will become tomorrow’s mobile gamer adults, it’s time to figure out what exactly the mobile market means for the gaming industry as a whole.  I see the mobile market’s role in gaming much like TV’s role in visual entertainment.  Most of us would prefer to see Star Wars and Batman on a big fancy movie-theater screen.  We’re fine watching reruns of Friends on our TV, though.  In the same way, the Halo‘s, Uncharted‘s and Call of Duty‘s of the world will continue to have their place on consoles and PCs, but games games like TellTale‘s offerings, turn-based RPGs, and even remakes, will have an increasingly large stake in the mobile market.

If you’re a grown up and you’re reading this, then you probably grew up with a controller, not a phone, in your hand.  If that’s true, then there is probably a part of you that wishes for this mobile-centric future to go away.  Unfortunately for you, I don’t think that’s going to happen.  I’m not saying that you have to simply give up on “traditional” gaming, but I think it’s important to understand that more and more quality gaming content is being produced with mobile devices in mind.

Mobile gaming will almost certainly always be relegated to smaller scale games; at least until we’re all wearing 4th generation VR devices Minority Report style.  The thing is, once you cut through the admittedly enormous amount of terrible mobile games, there are some true gems out there.  It takes more to find them than it does on other platforms, at least for now, but there are still plenty of reasons to be positive about what mobile gaming has to offer.

Why Every Developer Should Make A Game.

In early August I got a new job, a fact I’ve mentioned several times on this blog.  What I talked much about is how my game development career (short as it was) has affected my ability to be successful at said job.  I learned a lot doing game development; a lot about game development, but just as much about software development in general.  I learned so much, in fact, that I’ve come to believe that creating a game should be a part of every software developer’s education.

It articulates programming concepts very well.

Many programming concepts are difficult to explain in the context of business software.  Sure, they make sense in a general way, but those concepts can be far easier to understand when you see how they work using objects that you can physically see.  Game development gives a physical nature to a lot of these ethereal ideas in a way that no other type of development can.

Everything, from for-next loops and if-then-else statements up through object oriented design concepts like inheritance and polymorphism.  Everything that you try to do in a game has an effect either on the screen or through your speakers.  Let me give you an example…

If you’ve done much object oriented programming, you’re probably familiar with inheritance.  It’s a pretty simple concept to understand, but it’s one that can often get lost in your learning because it’s usefulness isn’t always apparent in simple programs.  In games though, inheritance is incredibly powerful.  Inheritance allows you to create a single base class for something like an enemy, and then sub-class that into different families of enemies, and further into the individual enemy types themselves.  But, you can still go back, make an alteration to the base class, and have that change automatically cascade down through all of your sub-classes.  This makes it incredibly easy to make fundamental changes to large portions of your game without doing massive amounts of work.  In fact, inheritance was so useful in my game development odyssey that it’s a concept I’ve used heavily in every project I’ve worked on since then.

Game development encourages performance tuning.

Games are performance driven in ways that typical business applications simply aren’t.  Unless you’re working for Google, managing billions of website hits per day, you’re almost certainly not that concerned with application performance.  In fact, if you’re a professional developer, how often do you even really consider performance, when making design decisions?  My guess would be, not very often.  That doesn’t make you a bad programmer, either.  It’s simply the way of the world.

The average business application simply doesn’t require the type of performance that even simple games can demand.  That’s ok if you never have to write a large-scale app.  If that day should come though, are you prepared to develop an application for a performance intensive environment, or will your code crumble under the weight of any serious demands.

Game development helps teach about performance in the sense that games scale like enterprise apps, without the enterprise overhead.  You can’t exactly test your website’s ability to handle a million hits if you can’t get  a million hits.  What you can do is create a game where you fight a single enemy, and then see what happens when you fight one hundred, or one thousand enemies.  Does that bring your system to a crawl?  If so, are there things you can do in your code to improve that performance?  If you can figure out how to performance-tweak your game, you can apply the same concepts to enterprise-level software design to great success.

Games are sexy.

Let’s be honest, there’s nothing cool about business software.  There’s nothing inherently intriguing about writing business software.  Here’s the funny thing though; once you start writing software of any kind, it all starts to become interesting.  If you can get into programming by writing a game, you can certainly stay in the field doing business development.

Games are a great way to visualize your code in a way that feels cool, and by doing so, you can help yourself to stay motivated to keep learning.  Games also represent something fun, and beautiful.  They’re easy to imagine, and magical to create.  Game development accentuates all the best, most satisfying things about programming because the product created is something that everyone can appreciate.

Code is code.

Finally, writing a game isn’t really that much different than writing business software.  Even if you’re a 3D graphics programmer, your skills still translate to many fields outside of game development.  For virtually every other aspect of game programming, this is even more true.  Games are just a subset of software and as such, all but the most game-centric concepts are applicable to a great many areas.

Coding a game can help keep a new programmer engaged, and an old programmer excited.  It can help give us a reason to strive to learn new concepts and paradigms.  It helps us remember why code is cool.  Games are beautiful pieces of artwork that take an immense amount of technical skill to create.  They represent the most artistic part of computing, and the part that most often speaks the loudest to us.

Chi-Coder: Asymmetrical Multiplayer Is Evolving.

So yeah, that blog title just happened.  I’ve been thinking a lot about asymmetrical multiplayer games.  More specifically I’ve been thinking about how exciting the idea of asymmetrical multiplayer is.  Many games have done asymmetrical multiplayer in the past, but we’re still just scratching the surface of what’s possible.

What is asymmetrical multiplayer?

The actual term asymmetrical multiplayer is fairly new, but it represents a concept that’s been around for quite a while.  An asymmetrical multiplayer game is typically thought of as one in which individual players or teams play the game in fundamentally different ways.  Evolve, as an example, pits a team of class based players against a single player acting as a giant monster.  The team based gameplay of the grouped players is fundamentally different in nature from the gameplay of the single monster player.  Harkening back to the days of pen and paper D&D, a group of players act as the adventurers while one player acts as the dungeon master.  They’re all playing the same game, but they’re definitely not playing the same way.

As I said before, this idea isn’t new, and it’s really not terribly innovative on it’s own.  As I mentioned above, D&D has been an asymmetrical multiplayer experience since the 70’s.  Even in video games there are many examples of asymmetrical multiplayer.  Evolve is literally Turtle Rock Studios’ evolution of the asymmetrical gameplay featured in their Left 4 Dead series.  The Battlefield series has also been known for featuring a commander mode which allows one player to view an overhead map of the action and pass intel to the players on the ground.  If asymmetrical multiplayer isn’t new, nor is it terribly innovative, why bother talking about it now?  I bring it up now because the future of asymmetrical multiplayer goes far beyond just different modes of play.

You Don’t Know Jack about the future of asymmetrical multiplayer.

Allow me a digression for a minute, I promise we’ll circle back around.  Last year I listed my top 5 favorite games of 2014.  If I had instead created a list of games called ‘Oh My God this is so brilliant, it changes EVERYTHING’ there would have only been one entry, the Jackbox Party Pack.  For the uninitiated, the Jackbox Party Pack is a group of local multiplayer games played using a combination of a typical living-room TV screen and the cell phones of all the players involved.  The beauty of the Jackbox Party Pack comes in it’s simplicity.  One player must purchase the game for either the PC, or a console.  That player simply runs the game on the TV and the other players join by simply going to the Jackbox website and typing in a four digit code provided on the TV.  From that point the game is navigated almost exclusively via cell phone.  Phones act as buzzers for a trivia game, they replace pen and paper for a Boulderdash style lying game, and they even act as canvases for a Pictionary drawing game.  Most of the games can be played by 8 or more people and since it seems like pretty much everyone these days has a smart phone with a web browser it couldn’t be easier to join in.  There’s no app to download, not account to create, players simply break out the phone enter a quick code and they’re playing.  I played the Jackbox Party Pack over the Christmas holiday and it was a total eureka moment for me.

I told you that I’d bring it back around.

Up to this point asymmetrical multiplayer has been limited to games being played on the same (or similar) devices.  Even though Evolve features some pretty different types of gameplay, at their core they’re still fairly similar.  They’re both action games that feature movement and reflex skills, etc…  What would happen if Evolve was more than that though?  What if your grandpa could sit in his lazy-boy and help by viewing an overhead map on his phone.  He wouldn’t feel inadequate because he hasn’t been raised to have nano-second type reflexes or because he hasn’t memorized the position of A, B, X, Y on a controller that’s been in his had since he was 4.  The point here is that smart phones completely break the chains of asymmetrical multiplayer and provide everyone a chance to participate in a game, regardless of their skill level or even the amount of controllers in the room.

The combination of smartphone and TV allow for some incredible combinations which, up to this point, have gone largely untapped.  Because of the true mobility of smart phones players don’t even need to be in the same room, or even the same state.  Here’s just one scenario I imagined…

In the Dark Souls series a player can use an item to summon another player (typically a stranger) to their world, usually to help kill a tough boss.  What if those same items could be used to instead ping a friends cell phone?  Instead of summoning another player, your friend’s phone would get a message to go to a website.  On said site the friend could watch your health bar in real time and activate a spell to heal when necessary.  They wouldn’t need to own the game, nor would they need to render the actual 3D scene on their phone, they’d just view a simple interface that shows the health of the player and a heal button.  If the player with the phone also owns the game, maybe they would get some type of bonus for helping someone out.  So when you’re sitting on the bus and you can’t play Dark Souls 3 why not help out some other people?  When you get home you’ll have some extra souls and items in your inventory.

Maybe you like the above idea, maybe not.  Regardless it’s one of about a bazillion different possibilities.  Everything from enhancing normal couch multiplayer games like fighters, to creating large party experiences, to extending single player games in new and interesting ways.  The idea of smart phones extending and enhancing games is one that’s gone largely untouched up to this point (I know, Watch Dogs did it).  I can’t be the only one who saw played the Jackbox Party Pack and realized the potential for using smart phones for more than just Candy Crush and Clash of Clans though.

 

Chi-Coder: Five Things To Know When Creating Your First Game.

  1. What are your strengths & weaknesses?

Chances are you’re either a programmer or you’re an artist of some type.  Odds are you dabble in both but consider one to be your primary discipline.  For your very first game, leverage those skills as much as you can.  If you’re a programmer then write great game code but condense your art down to the most simplified version you can.  If that means colored dots or squares, then do that.  If you’re an artist, then make the game look fantastic but don’t try and write the code for an MMO, use a simple concept and make it look gorgeous.  All kinds of games can be successful these days, so don’t be afraid to let your skills dictate your first creation.

  1. Do you want to release your game? If so, where?

It’s your first game so maybe you’re shy about showing it to anyone.  That’s fine.  I’ve made a few games now and I’m still really shy about showing anyone what I’ve made.  Don’t feel bad if you’d rather not release your first game.  Remember, this is a learning exercise first and foremost.  If you do decide to release the game publicly though you have some pretty big decisions to make.  Something as simple as “is this a mobile game?” is a huge design decision.  Phones don’t have a right click function, controller buttons, or other more in depth forms of input so if you’re going to make a game and you plan to release it for a smart device, then know in advance that your interaction has to be somewhat streamlined.  There are lots of questions like this too.  Will the game support a game pad?  Will it be released on consoles, or Steam?  The answers to these questions can help inform your decision on what engine to use, etc…

  1. 2d or 3d?

Another big factor in how you make your game is whether or not you want to utilize 3d graphics or not.  A quick recommendation; unless your specific field of expertise is 3d modeling, stay away from 3d for your first few projects.  2d is simply much easier to learn basic design concepts in than 3d.  Whether or not you’re going to use 3d will have some impact on what type of engine you decide to use though.  If you want to go the 3d route, then something like Unity or the Unreal engine is probably a good choice.  If you’re going 2d then Construct or Game Maker might suit you better.  Keep in mind, I’m certainly not suggesting that you stay away from 3D graphics forever, just until you have your sea legs under you.

  1. How much time do you have?

I only recently started developing games on a “professional” level (I put professional in quotes because I’m not exactly raking in the dough yet).  Before life put me in a position to make games professionally I had a typical 9-5 day job.  I also had a girlfriend who became a fiancé who became a wife, a house, a family, pets, etc…  Even if you’re a junior in high-school and you don’t have any of those responsibilities, your life is still probably pretty busy, right?  Whether it’s work or homework, we all have lives.  So when thinking about your new game, consider how much time you’re willing to put into it’s development.  It’s easy, when the game is just an idea in your head, to tell yourself that you’ll devote every waking moment to its development.  You won’t.  New games are constantly coming out that you want to play, your family will need you, and there are chores to be done.  It can’t all be ignored all the time.  Do not underestimate the destructive power of random life interruptions.  If you want to be successful, you have to create a project that fits properly into the lifestyle that you currently live.  If that means developing your game for two hours a week, then so be it.

  1. How in-depth is your game?

As a new game developer it’s really hard not to get caught up in all of the cool games that you see triple-a studios making these days.  Let’s address a harsh reality though; you’re not going to make Assassin’s Creed on your first go-round.  You’re probably not even going to make Tetris.  This is your first game, so keep it simple.  Think of one (and only one) game mechanic that you like.  Use that one single mechanic to make a game.  Will it be boring?  Maybe.  But you can always make a sequel later, or add features once it’s done.  Game devs constantly have to fight back feature creep though, so be wary of that.  Don’t add mechanic #2 until mechanic #1 works properly.

This little nugget is ranked number one for a reason.  I simply cannot stress enough how important it is to not get ahead of yourself in the early stages of your game dev career.  If you’re like me and you love games, then naturally you want to make games that you think are really cool.  Those games probably don’t include Pong and Space Invaders anymore.  But here’s the thing; you need to walk before you can run.  It’s true that you probably won’t make Assassin’s Creed on your first go round, but your chances of eventually making something like Assassin’s Creed go up dramatically with each game you create and complete.  So even if you don’t want to, make a Pong clone.  Finish it.  Feel the euphoria of envisioning a project and seeing it through to completion.  It’s a far bigger step in the right direction to finish a tiny game then to never finish a huge project.

 

Chi-Coder: Changing Resolutions In GameMaker Studio.

This week’s blog will be a bit of a departure.  Usually I give my opinions on different matters related to game development, but this week I wanted to fill a need that I found within the GameMaker Studio community.  I found a problem for which I could not find a simple answer.  For all my Googling, I was still only able to find small pieces of the overall picture, leaving me to put things together on my own.  So, without further ado, here is my problem and solution.  Strap in for a long one.

You’d be hard pressed to find a PC game these days that doesn’t allow you to change the games resolution.  Whether you want to play at full 1080p or half that, there are typically many options for you.  There is also the question of whether or not you’d like to play the game in fullscreen mode or not.  GameMaker can handle all of that, but the manner in which it does so is a bit convoluted.  To that end, here is what I discovered about resolution changes and how to change them.

Housekeeping.

Before we do anything, we have to make a change to any room that you want the resolution to be changed on.  You’ll need to open your room and go to the views tab.  From there you’ll need to check the box labeled “Enable the use of Views”, and the box labeled “Visible when room starts.”  Now we can get down to business.

Changing the window size.

Part of what makes GameMaker’s resolution change system seem so obtuse is how robust it actually is.  Lost in the shuffle is how to change the size of the actual window.  Believe it or not, it’s quite easy.  It requires only one command and a couple of parameters.

window_set_size(640,360);

There it is.  That’s all you have to do to set the size of the game window.  You’ll most likely notice pretty quickly that simply changing the window size typically doesn’t have the effect that you’re looking for.  Even if it does have the desired effect in this case, try entering some random numbers for the height and width parameters.  See what happens then.  For reference, here’s the before and after of what happened in my example.

1

2

So what just happened?  Well, we changed the window size, so GameMaker resized everything inside the window for us.  Our original resolution was 1024 x 768 which is a 4:3 resolution.  Our new resolution, 640 x 360 is a 16:9 resolution, but GameMaker kept the original 4:3 aspect ratio.  You’ll notice that because the aspect ratio was not altered the ball still remains completely round but we have some unsightly black bars on the left and right sides of our game field.

Resizing the surface.

Clearly we’re missing a step here.  We want the game to fill the screen, we just want the screen to be a bit smaller.  Behind the scenes GameMaker draws everything in your game to what it calls a surface.  When you initially start the game it sets the size of the surface to whatever resolution the game starts with.  Regardless of what you do from that point on the surface size (or rather, the surface size ratio) doesn’t change unless you specifically tell it to.  So what has happened in our previous example is that when our game starts a surface is created with the size of 1024 x 768.  When we change our window size to be something smaller, the surface size is scaled, but it’s aspect ratio remains intact.  In fact, if we would have chosen a smaller resolution with the same 4:3 aspect ratio, we never would have noticed anything odd about the surface.  So the next step we have to do is to change the size of the surface that all of the game is being drawn to.  Here’s the code for that.

surface_resize(application_surface, 640,360);

Keep in mind that surface_resize works on any surface, including ones that you create yourself inside the game.  The variable application_surface refers to a special GameMaker keyword for the game’s main surface though.  So when you want to resize the whole game you’ll always want to resize application_surface.  Let’s see what happened.

3

Understanding views.

Ugh.  One step forward, two steps back.  We’ve now filled the entire window but our aspect ratio is off.  You can clearly see that the ball looks less like a ball and more like an oval.  This is actually worse than the black bars.  So what exactly happened this time?

The default size for view 0, the one we’re using, is 1024 x 768.  We can change that on the views tab from our room, but if we don’t, the view size remains at the default, a 4:3 resolution.  So we’ve altered the window size, and we’ve altered the surface size, but the view size itself is still unaltered.  Essentially this means that we’re taking a view of one size and drawing it to a surface of another size.  As long as the aspect ratio is the same, this might not be a horrible problem, but once you change the aspect ratio of either the view or the surface (and not the other) you’ll get that stretched look.  To fix this we have to alter the size of the view itself as well.  Here is the code for that:

view_wview[0] = 640;
view_hview[0] = 360;

That will change the width and height for view 0.  Let’s see the results:

4

Nice!  Everything looks pretty good.  The window has changed size, the surface has changed size, and the view has changed size.  All have maintained the proper aspect ratio and everything looks great.  Everywhere in the code where I change the values to 640 and 360 respectively, you could change them to anything you wanted.  Obviously you should keep in mind the average screen size of the device you’re targeting so a resolution like 16,000 x 9,000 might be a bad idea, but you get the point.

Rooms, Aspect Ratios, and Mess.

It’s great that we can change the resolution of our game.  but now we’ve got other issues that we need to wrap our heads around.  Let’s change things up a bit so I can show you.

5

In the picture above I’ve made an important change to our game.  I’ve changed the room size to 1024 x 768, the same resolution that the game starts with.  Notice that in the lower right corner we can see part of the ball.  Watch what happens when I change the resolution like I did before.

6

The ball is completely gone.  We changed our window, our surface, and our view, but we never changed the actual room size.  So what has happened is that because our view is smaller, we’re just seeing less of the room.

The GameMaker manual explains views this way; when you play a platformer like the original Super Mario Bros. you don’t see the entire stage at once.  You only see the portion around Mario.  That area is what GameMaker calls a view.  In the same way, you wouldn’t want to see the entire overworld of the original The Legend of Zelda at one time would you?   Link would be so small that you wouldn’t be able to maneuver him at all.  So when we resized everything, we made our view smaller showing less of the world.  In most cases this isn’t exactly what we want.  When we resize the game we typically don’t want to resize the amount of what we’re seeing, but the size of it.  As a quick example, imagine that on a big TV you could see more of a Mario stage than you could on a small TV.  That wouldn’t make a ton of sense right?  Instead, what most of us are used to is simply having the entire game scale up or down based on the size of the screen.

So let’s fix that.  Let’s resize the game as well and our window.  Here’s how the before and after of that looks.  To do that, we’re going to have to make a few changes.  Most notably, we have to really start caring about how aspect ratio affects our game.  To be more specific, we need to understand that we cannot arbitrarily choose resolutions with zero effect to the way our game is viewed.  Let me present two examples:

First, in a Mario style platofrmer game might support many resolutions and the screen can shrink and grow to fit all of them, but no matter how big or small the screen, a 4:3 resolution is always going to be less wide than a 16:9 resolution, and as such, no matter how many different resolutions we support and how we shrink the game to fit them, the 16:9 resolutions are always going to show more of the screen laterally.  We can certainly support both aspect ratios, and if the game is designed properly, we won’t miss too much on a 4:3 resolution, but we’ll always miss something.

The second example is even more restrictive.  Imagine you’re creating a Pong clone and as such you want to have the entire screen be the game’s playing field.  When you design the field (and the room) you’ll choose a resolution.  If you’re wise you’ll choose either a 16:9 resolution or a 4:3 resolution.  In this case though, whichever ratio you choose is the one you’ll kind of be stuck with.  In the platformer example you could have chosen to simply show a little bit less of the game field on 4:3 resolutions, but in our Pong clone, you can’t afford to do that.  You need to show the whole room all the time.  So this time if you want to resize to an aspect ratio that you haven’t chosen for the board size, you’ll have to choose whether to show the bars or screw up the aspect ratio, you don’t have the choice to simply show less of the field, as you might cut off the left and right edges where the paddles are.

So to fix the problem all we actually have to do is remove the lines of code where we change the view size.  Let the view size stay it’s original size, but simply scale it to fit the surface and the window.  But keep in mind that we’re back to our earlier problem if we go from a 4:3 to a 16:9 resolution; the aspect ratio distortion.  To fix that I recommend holding two variables, one for the maximum 16:9 view size, and one for the maximum 4:3 view size.  If you’re going to resize the window and the surface, keep track of what aspect ratio you resized to and then set the view size to the maximums that you set up in your variables.  This way, no matter how small the window, you’ll still have a 4:3 view size and 16:9 view size that are as close to the same as possible.

7

Conclusion, and why this is all kind of moot (now he tells me).

Whew.  That was a lot, huh?  Hopefully it was helpful in understanding the very complicated world of resolutions in GameMaker.  Helpful as it may have been, let’s be honest…there is less and less need to format anything that isn’t 16:9.  Sticking to one aspect ratio makes the whole system much easier.  In that case all you need to do is resize the window and the surface and you’re set.  But again, it’s good to understand what’s happening behind the scenes.  Believe it or not, there is actually a lot more to touch on with regards to resolutions and views, but I’ll get to that another day.

Thoughts on Interaction

While it’s true that film and video games share increasing amounts of similarities in the form story-telling, direction, cinematography, etc… it’s important to understand, that video games are NOT films.  Films contain no interaction, and therefore rely much less on viewer / character empathy.  That’s not to say that there aren’t films in which the viewer may empathize with the protagonist (or any other character), but film requires this to a much lesser degree than video games.  Most Star Wars fans recognize the Darth Vader character as extremely important to the universe, even though most fans would not condone his actions.  People like seeing Darth Vader, but not necessarily being Darth Vader.

Interaction presents the most fundamental difference between games and film, and proposes the most difficult problem to solve in terms of creating environments that promote morally acceptable situations.  By nature, games require interaction, and game interaction, by nature, should be interesting.  “The King’s Speech” was a great movie, but it would almost certainly make a terrible game.  I would venture to guess that even the most open minded game enthusiast would have trouble getting hyped over a stuttering simulator.

The point here is that while series like GTA may promote the most heinous version of interaction, it makes me wonder what games should be, if not this.  We interact with games primarily to experience interactions we couldn’t otherwise.  We play Madden football because we can’t play in the NFL.  I’m not suggesting that killing in video games is ok, but I am questioning what types of interaction should be acceptable, especially in the case where the interaction also has to be engaging.

Many games manage to create interactive simulations that entail far less violence than Grand Theft Auto.  But even in a game like Minecraft, an experience largely about exploration and creation, there are still skeletons and zombies to “kill”.  The fact is that the popularity of video games is largely due to their ability to allow normal people to engage in activities that they wouldn’t normally.  That will always prompt some people to explore the darker side of our desires, both as developers and players.  While violence certainly isn’t the only type of interaction games could explore, it is one of the easiest.  Violence is prevalent in our society so we’re always keenly aware of it, but it’s also socially unacceptable so there is no chance to explore what it might be like to actually be extremely violent.  Sex is also extremely prevalent in our society, but unlike violence, it’s completely acceptable for two adults to have sex, so there is much less need to explore what sex “might be like” in a game.  And this is what intrigues me; what types of interactions are there that strike the balance between interesting (not readily available in real life) and acceptable?  Driving, professional sports, exploration, all good examples.  It’s not enough though, at least sales numbers say it’s not.  Grand Theft Auto V pulled in something like $800 million dollars in one day.  That’s a lot of dead hookers.  So where does interaction go from here?

All Is Fair In Love and Co-op

My wife and I play a lot of co-op games together.  It’s one of the main ways that we enjoy spending time together.  She’s been encouraging me for a while to write about it, primarily because she believes there is a lot to be said for co-op gaming with your significant other.  I tend to agree with that sentiment, so I’m going to take a bit of time and share our gaming experience

Co-op is not PvP.

First off, let me stress that the lady and I exclusively play cooperative games together.  Both of us can tend to get frustrated in pvp situations, and the last thing I’m trying to invite into our nightly quality time is arguments over who’s better at Street Fighter or Starcraft.  In fact, neither of us even really enjoy pvp when we’re on the same team, as losing to nameless, faceless jerks on the internet isn’t either of our ideas of a fun night.  That slims down our game play choices significantly, but that’s ok because there are plenty of amazing co-op choices out there.

Communication is key.

Whether you and you partner are tag-teaming a dungeon in World of Warcarft, massacring undead hordes in Left 4 Dead, or solving a challenging puzzle in Portal 2 you’re always communicating.  It’s intense communication, too.  Playing games together is a great way to cut through all the hearts-and-flowers style communication and get right to the real stuff.  Though it may only be a game, how people communicate in moments of intense focus can be very telling.  Does your partner panic when they’re overwhelmed?  Do they communicate what they need clearly, and support you when you communicate your needs?  As the relationship with my wife grew, so did our gaming synergy.  I won’t lie, we’ve had arguments over games.  We’ve gotten frustrated with one another.  But as we learned to play together, we also learned how to communicate better.  It’s not trivial either; our communication in every area of our relationship is better because of our in-game communication.

You learn who they really are.

If you pay attention, you can learn a lot about a person by the way they play a game.  If a particular piece of loot drops, and you both need it, do they always ask for / demand it?  Do they always give it to  you?  Do they suggest a coin flip?  Does your partner run straight for all of the health pick-ups, paying no attention to your health?  Do they collect all the weapons and ammo, leaving you with the measly pistol?  If you watch closely, you’ll find that the answers to these questions often answer deeper questions.  The fast paced nature of games makes selfishness easier to spot.  That same selfishness in games is guaranteed to manifest in real life.  Your partner might also prove to be wonderfully loyal.  Do they always have your back while you reload?  Do they share the health and ammo equally, making sure that you’re stocked up?  These are good signs that your partner cares about your success in game, and this same real-life manifestation rules also apply here.  The lady and I have always worked relatively well together, but as we played games more, we learned a lot about teamwork and sharing.  Games like Diablo 3 get really hard at higher levels, and sharing loot, staying together, etc… is required for for the success of both players.

There is a meta-game, too.

Playing games with your partner teaches you to not only enjoy the game in your own way, but to share in that enjoyment with someone else.  For example, when my wife and I played through Borderlands, she found that she really enjoyed sniping.  I also really enjoyed sniping.  Playing 2 snipers made it harder to gear up though, as we were constantly competing for the same weapons.  I decided to get a bit out of my comfort zone and play as an up-close shotgun wielding maniac.  Not only did I find that I really enjoyed that, but it enhanced the experience for both of us.  We weren’t competing for loot, and our play-styles complimented each other very well.  In this case, she was less experienced in shooters than I was and I wanted her to feel comfortable, so I changed my play-style for her.  That said, she’s done the exact same thing for me as well.  As an avid mmo player, she acted as my healer when I first tried to tank a dungeon.  The fear of letting my team down as a bad tank was largely eliminated knowing that she was there to back me up.  The point here is that gaming together isn’t just about what happens inside the game, it’s also about learning give and take in a relationship.  In any successful relationship you learn these things, but gaming offers a structured set of rules that makes it much easier to examine what is happening between you and your partner, and use that as a learning experience.

Games are safe.

The best part about gaming with your partner is that you can learn a lot about them in a safe environment.  If you find that your partner is a selfish jerk in every single game you play together, there is good reason to believe that they might just be a selfish jerk.  Maybe it’s time to move on.  You learned this quickly though, because games pull out our best and worst tendencies.  You don’t have to suffer through an eight year relationship before you see their true colors.  Now, I’m not trying to suggest that games are some type of relationship crystal ball, they certainly aren’t.  They do however, help you and your partner quickly assess how well you fit together.  My wife said something to me a few weeks ago, and it stuck with me as one of the most true statements I’ve ever heard as far as gaming and relationships go.  “Every couple should have to finish Portal 2 on co-op before they can get a marriage license.”  And that’s why I married her.