Why mobile games? (mobile vs desktop/console gaming)

I’ve been in discussions before where I’ve tried to list the advantages of mobile games as compared to desktop/console games but it’s a pretty difficult proposition.

Desktop/console games have the advantages of better graphics, better sound, bigger and better displays, more diverse input controls (mouse, keyboard, etc.), and faster CPU. To top things off, desktop/console games have a long multi-decade history of well-established companies putting out great games.  These games can run a bit pricey at $50-$60 a pop, but with online app stores such as Steam we are getting better pricing, including some free titles. For the top tier (~$50) games, there is a high confidence level that a team of skilled professional developers, artists, and other people have spend months, if not years, polishing the game.

What about mobile games? Well, ironically one of the only differentiating factors with these games is that they are… mobile. For all their disadvantages like worse displays and controls, the main tradeoff is these games can be played practically anytime anywhere: in the library, subway, classroom, and even the bathroom. While it’s true that laptops would work well in most of these environments, laptops have their own disadvantages and are arguably less convenient that pocket-sized mobile devices. iPads and larger tablets are another middle ground on the mobility continuum, but share much in common with smaller mobile devices like iPhones.

I was a pretty serious desktop (and to a smaller extent console) gamer for many years. But thousands of hours behind the monitor started to pay a toll in the form of things like wrist, shoulder, and back problems. Since I’ve become a father I have less free time in large chunks, so I tend to just grab a mobile device wherever I am and play in short bursts, as opposed to going into the room with my PC, turning it on, loading up a game, and playing for a few hours. The small weight and size of something like an iPhone gives less restrictions on my body position while playing, so I can avoid repetitive-stress problems, and also reduce my exposure to the evil position called sitting.

Honestly, the types of games I enjoy on mobile are totally different than those I was into on desktop – casual puzzle games vs Real Time Strategy games. Two or three years ago I spent a few months playing Starcraft 2 in the evenings – an experience not comparable to anything I’ve seen on mobile yet – but it’s hard to maintain in my current lifestyle.

Besides the reasons stemming from my own recent gaming habits, I think the prospect of a wider audience is another thing that got me into mobile game development. Even though desktop platforms also have app stores, I think it’s just amazing to be able to upload an app to iTunes and have it available for download by millions of people around the globe with iPads and iPhones. Had I been brought up in a generation when Steam was popular I might not feel this way, but I can’t help comparing games published on (mobile) iTunes with desktop games sold in brick-and-mortar stores of my childhood. It’s not just the wider audience, but the lower barrier of entry for me to get listed on any of these app stores.

Ironically, I feel that this low barrier of entry creates an illusion that it’s easy to make a blockbuster game, but a little experience actually trying this quickly brings one down to earth.

One factor I haven’t mentioned yet is the integration of mobile technology into daily life. This is a major aspect of mobile apps (apps using GPS are a great example), but from my experience the mobile gaming industry hasn’t learned how to effectively bridge from the real world to the fantasy world. Things like augmented reality show some promise, along with other hot technologies like Virtual Reality.

This leads me to my final reason for being interested in mobile game creation. As a developer, it’s still a relatively new field with so many possibilities for being creative, and I enjoy just thinking about these. Once you learn programming basics, it’s relatively easy to prototype your ideas on mobile platforms without actually pushing things to a public app store.

Without major leaps in both display and control technologies, I don’t think mobile will be able to come close to an experience like desktop RTS or FPS games, even if the fundamental gameplay is similar. But mobile gaming has already proven it can capture the hearts and minds of millions of everyday people.

If you’re read this far please consider checking out my first attempt at a mobile game. Though it’s still in an early stage, I hope you’ll find it a lot of fun:

https://itunes.apple.com/us/app/play-the-field/id985621862?mt=8

(Image credit: http://www.gratisography.com/)

Gameplay element: visually indicating maximum attack distance

For this post, I’d like to talk about a minor tweak I did to Play The Field whose aim was to improve the gameplay.

Like most Real Time Strategy games, units in PTF have a maximum attack distance. This means that if an enemy comes within that range, they can attack (and unless ordered otherwise will attack).

Attack distance is especially important in this game because for many of the levels the player is forced to place units in very tight environments – sometimes in the middle of a group of enemy units just waiting to attack. This contrasts from most other RTS games where you have to create units at specific buildings.

By playing through a stage a few times you can figure out roughly where this attack range ends, but each unit has a different attack range so memorizing all of them is tedious, and visually identifying where are safe zones can be hard.

After realizing this, I decided to put a visual indicator of each unit’s maximum attack distance. After some experimentation, I decided on a light grey sphere around the unit showing the “danger zone” of that unit. This was implemented with translucency (an alpha value), and an interesting side effect is that these zones visually combine whenever they intersect. For example, for the region where two zones intersect it will twice as bright, and so on.

This not only creates interesting patterns, but gives you different levels of safety based on brightness of the zone. Dropping a unit in one of the brighter zones means you would be taken out almost immediately.

At first, I felt that this graphical change would be a big too busy and detract from the game’s mechanics, but after testing it I feel that it doesn’t interfere much with the gameplay. This is probably because the game’s visuals are already extremely simplistic, with a completely black background.

See the below screenshot for an example of what this looks like:

image2

Play The Field version 1.2 released on the apple store [iPad / iPhone game]

Version 1.2 of Play the Field, the minimalistic puzzle/RTS game, is now available on the Apple store, for all iPad and iPhone devices. You can get it here:

https://itunes.apple.com/us/app/play-the-field/id985621862?mt=8

This release has a few balance adjustments and bug fixes, including a mistake that prohibited devices below iOS 8.2 from running it. Any devices with 8.0 or later are now supported.

However, the biggest thing added to this release is a new mode – survival mode. It’s goal is to see how long you can survive as you struggle through over 20 stages of attackers, gradually increasing up to a dizzying frenzy of enemies.

The music has also been improved, with an additional song from Eric Skiff’s Resistor Anthems album.

Play The Field – Lesson 1: Surrounding

I previously had a post talking about some strategy hints for Play The Field, but I thought I would make some videos to show some of the basics.

This first one illustrates one of the most basic principles of tactics – surrounding. The enemy has three units and you have enough money to purchase only three of your own. If you don’t place your units in a proper formation you have the risk of loosing the stage.

The simple solution is to create your three units so they can focus fire on one of the end enemy units, to take it out before it’s allies can help out. By the time they reach the battle it’s too late.

You can get the game on iTunes:

https://itunes.apple.com/us/app/play-the-field/id985621862?mt=8

Play The Field 1.1 released with iPhone/iTouch support

Version 1.1 of Play The Field, the minimalist RTS game for mobile, has just been released on the iTunes store!

While this is technically an update, containing some minor balance tweaks, bug fixes, and menu refinements, it is effect also a release of a new game since iPhone and iTouch support has been added.

Originally it wasn’t my plan to make a iPhone version so quickly, but when thinking of how to get my game out to a wider audience I did some research and discovered it wasn’t so hard after all. I did face some challenges which I’ll discuss in detail in a future post.

Because of the smaller screen sizes on iPhone/iTouch devices, the difficulty of the levels can vary from the iPad version, sometimes increasing and sometimes decreasing. Because of that, In a few places I modified the level to make it a bit easier on the iPhone/iTouch version. Nevertheless, I think the best experience will be on the iPhone 6 or 6 plus, though all device types are supported.

I also have added a short (~20s) app preview for the iPad version as well as some of the device types for iPhone. Here is the game on iTunes for those interested:

https://itunes.apple.com/us/app/play-the-field/id985621862?mt=8

Play The Field – Android version?

Though PTF has only been in the store for around a week, I’ve already gotten one request for an Android version. This is great feedback, please keep it coming!

To be honest, I have actually thought about an Android version from day 1, before I wrote the first line of code. Because of that, I’ve tried to implement much of the core logic in C++, as opposed to Objective-C. I haven’t done a line-by-line comparison, but I would guess 60-70% of the game is in C.

A few minutes of googling shows there are even frameworks that supposedly allow compiling Objective-C on Android platform, such as Marmalade Juice, and another one called Apportable.

I’m eager to get more users to play PTF so I can get more feedback and refine it even further, but at the same time I don’t want to stretch myself too thin. Even if one of the aforementioned frameworks, there will be surely some parts that are non-portable (like the UI), and those will have to be maintained across both platforms.

In related news, Microsoft announced this week at their yearly Build developer conference that they had a mechanism to easily convert iOS apps to run on a windows device, all while using Visual Studio. I think it will take some time to work out the kinks in the system, but maybe months from now it will be a breeze.

For those who do have an iPad, you can the iTunes page here.

If you are interested in an Android port of PTF, please like this article to show your interest.

Detailed review of “Little War Game”, a HTML5 RTS game (updated)

Recently, due to my familiarity with the RTS genre I was asked to review the game “Little War Game”, which can be found here:

http://littlewargame.com

At first, I hesitated since I wasn’t planning on advertising others’ games on this blog. But on reconsideration, since the game is made by an indie developer and is from a related genre to Play the Field, I decided to review the game after all.

As this post is fairly long and detailed, I’ll just give the punch line here: I highly recommend any RTS fans to try this game out.

The game’s biggest selling point is that is created using HTML5, which means you can use it on any browser, on any OS, at least in theory. This is great for users since they don’t have to have a specific setup to play it, though I think this point is best appreciated by a game developer. Conversely, since a browser language like HTML5 conceptually would be a bit farther from the hardware, from the start I set my expectations low for the graphics and performance. [Note: I have only vague familiarity with HTML5]

In spite of the supposed platform independence, my first experience with the game was a bit awkward. I attempted to open up the website on my iPhone’s Safari browser, and after playing with it for a little time I couldn’t get it to start. To be sure, mobile browsers probably have many limitations not found on desktop machines, and maybe with a little more poking around I could have gotten it to work. Regardless, for the HTML5 aspect to really shine, it should function well on all common mobile device’s browsers – though I acknowledge how difficult that might be. At minimum, I would hope the page detects I have a non-supported browser and lets me know early on.

But on to more fun stuff – When I tried it on my MacBook Pro’s Safari, the site loaded up quickly and I was able to get a game started in only a minute or so. The initial menu screens have a strong nostalgic retro feeling, reminiscent of some classic console games, especially because of the blue color gradient.

LWG has several modes, including a live multiplayer with one or more users logged into the site, and also a single-player version. In both cases you can choose the level and add computer player(s) as needed. There seems to be a good assortment of different levels.

I didn’t explore the menu system completely, but I didn’t come across a single player story mode. Though one can argue most users spend the greatest percentage of their time in the multiplayer modes, I feel that a story helps bring you into the world and familiarize you with the various units. As good story writing is difficult I wouldn’t expect a great deal from an indie developer, but 5-10 levels of story mode would really do the game good in my opinion.

The game itself is a traditional RTS set in what looks like the medieval period. You have catapults, mages, wolves, archers, and probably many other units I didn’t get far enough to play with. Purposeful or not, I feel it took some influences from games like Blizzard’s Warcraft series (the RTS one, not the online one), though this is by no means a bad thing. The game flow is very typical: build miners, get resources, build buildings, train units, explore, attack, expand, etc. This is both a strong point, since it is familiar for most gamers, and a weak point since there isn’t that much creativity to neither the gameplay nor the universe the action takes place in.

The graphics are reasonably good, given they we going for the ‘retro’ feel, though of course it doesn’t compare to a game like Starcraft 2 whose graphics are close to a work of ark. That not a fair comparison anyway, because games like Starcraft are written by a massive studio with insane budget.

As a side note, some of the game’s graphics like the minimap and shading algorithms reminded me of my last desktop RTS game, though LWG has much better visuals. Again, there is a good explanation for this since LWG’s credits states five people worked on the art. To the developer’s credit, he seems to have done all the coding himself, which is an impressive feat.

Though I had the sound turned off most of the time, I would say the sound effects were so-so, with the music fairly well made.

Retro assets are great and all, but if you’ll allow me to wane critical again I think the game’s popularity would go up if the visuals were revamped to be more modern, with higher resolution. If certain browsers can’t take the load for high-density images, the LWG developer can make several versions of the tiles and all selecting the best set (either automatically, or by the user).

The game worked relatively well, but I did come across a handful of bugs. The most annoying of these is when the explanation text shown in the top right window was consistently cropped to a single line, in some cases hiding valuable information. Also, one time when I left the game running in the background while I opened up WordPress in a separate tab, my browser froze for a few seconds, twice, because two scripts were not responding (IIRC “event.js” and “game.js”).

In terms of the RTS elements, there were a handful of fundamental things that appeared to be missing, like the ability to create groups and to add waypoints [Update: I have been told both of these are supported though have not verified myself, check the Settings page of the game], both critical to any serious RTS gamer. Some of the visual design was also a bit wordy and hard to understand in a brief glance. For example, the capacity of mining was shown with a number instead of a horizontal bar, and it took me awhile to find the building to give more control since I had to read all the text. For this second issue, traditional RTS games usually have little icons indicating the amount of control needed or produced so reading through text isn’t required.

The overall control was mostly intuitive, but I ran into one frustrating problem over and over. I habitually did a double finger drag on my MacBook in order to try and scroll the field, but in LWG this instead zooms in or out. I imagine this could be tricky to address since HTML5 is used, but I would rank it as a pretty serious issue to try and sort out.

The performance was reasonable, though a little on the slow side. I think there should be a setting for speed – if there was one I didn’t manage to find it yet.

Overall, from the eyes of a game developer this is a pretty impressive indie game project, very solid in many areas. I am not sure if the creator is open to adding more developers to the project, but it looks like a fun endeavor to code, especially for a classic RTS fan. From a brief look at their website I saw they were making some APIs to allow customization, so anyone could potentially contribute this way.

If you’re just an everyday casual player, while the game is fun I think some people will have a hard time getting hooked to keep playing. Besides the improved graphics or story mode I mentioned, adding things like achievements, ladder play, or more races (there appears to be only one) could go a long way here.

For the hardcore RTS players, its virtually guaranteed that you will get a better experience in terms of graphics and performance on native platform code (say, code written in C/C++ compiled for Windows). So the Starcraft fanatics might never quite get addicted to this, however if LWG’s creator can beef things up with extra elements it can become an even greater game.

All things considered, I highly recommend checking out Little War Game.

For a final note – if you enjoy RTS games and happen to have an iPad, consider checking out Play The Field why you are at it. It’s a game that evolves the RTS genre for mobile to allow for shorter games while testing your tactics. Here is the link to download it from iTunes:

https://itunes.apple.com/us/app/play-the-field/id985621862?mt=8

(Note: I spent roughly 30-60 minutes playing the game before writing this, so surely there are some things I missed. I’ll update the article if I receive any new information.)

(Update: I had originally alluded to a team of people working on this game but was told there was pretty much only one person doing development and making frequent updates, so have updated the review content to reflect this. According to the credits page on the website there was several people who worked on the tileset, which is why I had written “team”, but I was told they have not been active lately. Having said that, I think their contribution is important since I know how difficult it is for a developer to make a good tileset)

Play The Field: advanced controls

In a previous post, I talked about the basic rules of the game and the fundamentals of the interface. This time I’ll go over some of the advanced controls that can help you further optimize your tactics.

First is the usage of swipes, by which I mean touching a point with your finger, moving that finger to another location, and then raising it. A swipe can be used to quickly place a series of units in a certain formation, for example to encircle a small number of enemy units. The swipe doesn’t have to be in any pre-defined shape (line, circle, etc.), as any arbitrary shape will work. I think you’ll find it tedious and time consuming to tap several times quickly when trying to overcome the opponent, and using swipes makes it so much faster and easier.

Another thing you can use swipes for is to select units. Begin the swipe by clicking one of your units and then move your finger across any other units you want to select. As your finger crosses each friendly unit it will become selected. That way you can then issue commands (like attack a specific unit or move to a specific location) with a group of units. If you want to select all of your units on the screen, you can do that quickly with a button on the top right of the screen. It has three green units, shown in a triangle formation.

There are two other commands which you can issue to one or more units and aren’t immediately obvious. The first of these is to quickly tap on one or more units that are already selected. This will cancel any actions they have been given (for example if they were told to attack a specific enemy unit), and they will revert to the default behavior of heading towards, and attacking the nearest enemy. This will also unselect those unit(s).

The other command is to cause one or more units to hold still (called ‘hold position’ in some RTS games). This is done simply by touching a unit that is already selected and holding for roughly a half of second or more. A red box will be drawn around units holding still, and they will not automatically head towards the nearest enemy. However they will still attack any enemies in range. This technique can be used at some of the later stages in order to avoid units going off by themselves and getting captured needlessly.

Tactics in Play The Field

For those of you haven’t played Play The Field or found it challenging, it might be unclear what I mean by ‘tactics’, so in this post I’ll talk a little about that term.

You probably have some vague idea what tactics means, but lets review by looking at the dictionary (according to Dictionary.com, edited slightly below):

  1. The art or science of disposing military or naval forces for battle and maneuvering them in battle.
  2. The maneuvers themselves.
  3. Any mode of procedure for gaining advantage or success.

Although PTF is essentially non-violent (if you can exclude the extremely cartoony explosions and laser beams), the first definition above is a perfect match to what the game is about – disposing (placing) forces and maneuvering (moving, controlling) them to achieve a goal. The other definitions (#2 and #3) are also strongly related.

For those of you unfamiliar with the RTS genre or similar games, you may try a few levels and get frustrated with the difficulty. To be sure, the game’s difficulty quickly ramps up and is not too forgiving (I may add a difficulty setting option if requested), but there are some tricks that will help you overcome these middle stages. As for the last few – those will definitely take some tactics, some time, and a lot of luck (:

  • Think of what angle you attack an enemy formation and how it effects the battle. For example, if the enemy units are lined up horizontally, if you attack from above (with a similar line formation), you will be fighting on even ground, with maybe 50-50 odds. But if you attack from the side, you can focus several of your units on one of theirs, before they have time to regroup
  • Remember you get money each time you capture an enemy unit, and therefore add units to an in-progress battle as soon as you get enough money. Think about the best place to add these units: right in the middle or battle or a bit outside it?
  • Think about the characteristics of each unit: speed, hit points, damage, size, etc. Which units are they weak against and which strong?
  • If you save up enough money, you can buy one strong unit, or several weak ones. Think about the tradeoffs between these two choices and when you would favor one option over the other.

This is just a starting point. When you start to take in consideration things like ‘maker’ units (essentially stationary buildings that periodically create new units), things get much more complicated.

[PTF on iTunes: https://itunes.apple.com/us/app/play-the-field/id985621862?ls=1&mt=8]

(Play The Field iTunes link: https://itunes.apple.com/us/app/play-the-field/id985621862?ls=1&mt=8)

Play The Field: What kind of game is it?

In my last post I showed a brief demonstration of the gameplay for my iPad game Play The Field. However from that alone it may be hard to tell what is going on, except that there is some sort of action happening. So in this post I’ll talk in detail about what the game is about.

For each stage in Play The Field, there are only two objectives: never go down to zero units, and try to reduce the enemy to zero units by capturing theirs. At any time during the game if you have zero units on screen (except the start of each stage) you immediately loose that stage, and if the enemy goes to zero you pass that level. It’s as simple as that.

In order to achieve said goals, you have two actions to take: placing new units and managing ones already on the screen.

Placing a unit is as simple as clicking on an empty space on the map. If you have enough money to create the unit it will automatically join the game at that location. Money comes from two places, an initial amount given at the start of the game, and an amount received from capturing each enemy unit.

Except for the first few stages, there is usually a choice of several different types of units, and the ones available are shown on the top of the screen. The currently selected type is highlighted, and to change that simply tap on another type.

Units on screen are managed by issuing commands. This is done by first selecting a unit by tapping on it, and then clicking on either an enemy unit or a location on the map. There are a few more advanced commands, but I’ll leave those for a future post.

Units will typically attack enemy units in range, unless they were commanded to attack a different unit. A unit without any commands will also move towards the nearest enemy unit. When a unit takes damage, it’s HP (hit points) will decrease a certain amount, and if any units HPs reach zero (or below), they will disappear and be considered as captured by the opponent’s team.

The gameplay is somewhat reminiscent of the Real Time Strategy (RTS) genre, with it’s well known classics like Starcraft and Age of Empires, and without a doubt these game were a major influence. However the gameplay is vastly simplified (as well as the graphics – more on that later) so it’s much easier to pick up as a casual game. In fact, the short stages, some of which have a “trick” to solve them quickly, have some similarities to the puzzle genre.