Casual Games Technology Hurdles for Newcomers

Before Lex Venture, my previous experience on game development was mostly on Flash/Shockwave small games and a 3D playable demo of a DirectX 9 game (which never came close to Alpha, but it was nice).

This article is aimed on developers of other game trends and markets (core 3D, indie, mobile, etc) who plan to give PC casual game genre a try on future projects, like we did. When you are going to develop quality casual games using hardware accelerated technologies, the following hurdles must be considered early on the project.

1. Integration with the OS

Many casual players talk on instant messengers, send e-mail, write on Facebook and things like that while playing the game. They ALT+TAB frequently, they use the windowed mode frequently, and everything must go smoothly when an IM window pops in. The present “Internet generation”, by the way, is much used to multi-tasking, so this behavior will only be more present in the future. Therefore:

  • Players like windowed mode. Make sure it’s in your game options.
  • The memory usage must be low, to avoid OS hangs when the user ALT+TAB from your game on a 256-RAM computer.
  • If the user is on the windowed mode, the game must be completely paused – including music and particles – when someone poke the player on IMs, or when the download manager pops a message, etc. If the user is using full-screen it’s open to debate if the game should minimize or keep the game running and allow the “blip” sound of the IM warn the user.
  • Unpausing must be also very straightforward, the user must simply click on the window.

2. Old computers / on-board video cards

Casual gamers don’t update the hardware often. In fact, since they also play while working, they will use terrible on-board video cards. Expect hardware compatible with old DirectX 7 or 8 – on some cases, not even that, and the game will need software-render. Remember that “Windows-ready” computers with on-board video-cards tend to not support OpenGL very well – some of them completely suck on OpenGL mode. So if you’re running under Windows, don’t risk: use DirectX or software render.

RAM limitation is also and important topic, especially if the on-board video card is using a piece of it through some shared video memory schema. Commonly, it will reserve 64 MB of RAM.

3. Save game / Load game

Save games on casual games works differently from core titles. The save game is associated with a player “account”, not with a save slot. More important, since casual game sessions are short (10-15 minutes) but frequently (more than 5 times a day), the user must be able to quickly quit and return later with the very same state he left. So, save games must be recorded every game turn or every couple of minutes without hanging the gameplay.

4. Loading screens

Load screens should present smooth animations that indicate the amount already loaded – like filling bars and walking characters. It helps to keep players waiting. However, to successfully implement smooth animations during loading times (which, you know, hangs a lot!), we will spell the magical word: “multithread”.

Multithread is not easy! Even when implemented only for these loading times. By the way, don’t multithread on casual games for anything else – dual core PCs are still not as widespread as the casual market requires. An exception would be if you are aiming for XBOX Live Arcade or other present-gen console network.

5. Mini-games variety

On the present standards of casual games, you should think on adding variety to gameplay – mini-games, bonus levels and special levels with different mechanics. You have to foresee the possibility of switching the gameplay mechanics between stages. Don’t overlook this analysis – it will really add to development time and force you reworking many codes if you later decide to integrate mini-games on the project without planning for it since the beginning. In our case, implementing the Boss Battle of Lex Venture later added roughly 2 months to the schedule.

6. Switch fullscreen/windowed

On a number of 3D games, you have to restart the game if you want to make the fullscreen/windowed transition. game developers already know why – the game needs to destroy the fullscreened 3D video device and create a new windowed one, hence re-creating every mesh, texture, scene nodes, particles of your game state. Hence some core games tell the player to restart the game so changes can “be applied” and the whole thing will be re-created naturally on the next load.

Asking the core player to restart his 3D game is acceptable on some cases – asking the casual player to do the same is not. Either your engine support switching, or you will have to program an engine wrapper and make the game on top of it, to facilitate the switch fullscreen/windowed feature.

7. 3D technology and 2D graphics

I like 3D graphics! But casual players don’t care if the graphic is either 3D or 2D. Graphics just have to give the game the proper look, make it unique and allow the game to run on casual players’ machines. That’s the tricky part, because they could be using a crappy video card and have DirectX 9 fancy graphics slowly emulated on software – or, more commonly, not even rendered!

Put as much 2D graphics as you can, even if on 3D billboards. Use 3D meshes for specific objects which will provide that unique feel on the game – but always keep poly count under control. Those old days of obsessively counting polygons are back. :) On Lex Venture we used 3D for letters and board platforms, which were cubic and rectangular forms with very few polys.

Also, take a look on my previous article on fancy and lightweight 2D graphics.

8. Security Wrappers and Setup Packs

That is a must on a market dominated by the downloadable try-before-buy model. The technology – engine or framework – you chose must be completely compatible with the main DRM solutions for casual games. True there are many proprietary DRMs you won’t have access to test your technology, like PlayFirst’s, Big Fish’s and Mumbo Jumbo’s. But others like Softwrap, Trymedia and Game Shield are available for use after signing up.

Also, wrapping things and creating setup packs takes time. Specially if you are trying to use the most advanced security functions, which might demand changes on your code. If you don’t have a publisher to do it for you, reserve yourself at least two weeks on that, not counting the approval time of the DRM provider if it’s necessary (like with Trymedia).

Techniques for Fancy and Lightweight 2D Graphics

So you are going to use lots of 2D graphics on your next game project, targeting lower-end machines. It’s a casual-oriented game project, or maybe just a 2D indie game that should run on the most number of PCs possible (which is a smart move). You need:

  • Beauty
  • Performance
  • Fast download

Hardware-accelerated and software-rendered 2D graphics can be both fancy and lightweight. Even if your hardware-acceleration is an old one, like DirectX 7 or 8. You can make lots of effects (“Beauty”), use few video memory (“Performance”) and consume less disk space on the game final size (“Fast download”).

The three main techniques you use to accomplish that are:

  1. Tilemaps;
  2. Real-time draw deformations;
  3. Particles.

Tilemaps

Tilemaps will allow you to have a large amount of 2D sprites on a single 512×512 or 1024×1024 texture. Perhaps even all the graphics you need for the game! :). You load a small amount of tilemapped textures on your video memory and “mount” game graphics drawing pieces of it in the screen. Check this basic tutorial.

Some tools, like Torque Game Builder, generate tilemaps by slicing a texture on a matrix of equally squared tiles, mainly for frame-by-frame animations. But tilemaps can be more powerful. With a custom tool, you can optimize every single pixel of a texture for a different game assets, not space-wasters equally-sized squares! Consider, for example, what Bookworm Adventures did:

http://www.igda.org/casual/quarterly/2_2/index.php?id=2

With a very small set of textures, hundreds of different monsters could be generated with “pieces” of those textures! The outcome was a very small-sized game download (20 MB), but with lots of aggregated values and a tag price of 29 bucks at the time of its launch.

For Lex Venture, we used tilemaps for user interface and in-game sprites taking advantage of every possible available pixel. Loading times got faster than previous projects that used one texture file for each sprite, and disk space and memory usage got smaller.

Tilemap LexVenture

Real-time draw deformation

On hardware-accelerated 2D drawings, engines render sprites by creating a 2-triangle, 4-vertexes primitive rectangle mesh textured with the sprite image, right into the frame buffer. Think it like a 3D plane right in front of the camera (actually, thats exactly how Blitz Basic do it).

Draw deformation is the ability to modify sprite draw by manipulating this primitive mesh. With a good tool-set, you shall be able to change colors of vertexes, deform, scale and rotate the sprite.

For example: you have a white butterfly sprite. Before rendering you could modify the color of the vertexes of the primitive mesh to green, purple or anything else. You will then be able to draw the butterfly with a different color on the white tones using conventional vertex-color technique. Now draw the same sprite many times and you have lots of colorful butterflies in your game with just one single image file!

Deformations on scale, rotation and overall alpha transparency are quite good for GUI transitions. Almost all casual games today use them, and so should you. Pick tools and engines that allow you the vastest range of real-time draw deformations.

2D Draw Deformation 1Draw Deformation 2

Scale + alpha transition

For software-rendered graphics, draw deformations are more limited. For example, you can’t scale with bilinear filters without making the graphics look badly crispy. So plan ahead what the game will and will not be able to do considering the software-render technology you picked.

Dynamic applied alpha masks

Dynamic applied alpha (transparency) masks is a technique to make 2D graphics even lighter on disk space, extensively used by PopCap Framework. You use web-image formats without alpha – JPG and GIF – for your game graphics. For each image that requires alpha, there is an equivalent gray-scale image with the alpha mask needed. The engine loads the GIF or JPG image, and then modify the texture on the video memory applying an alpha channel based on the gray-scale information.

The sum of those two files is smaller and loads faster on software rendering than an image with the same content on a format with native alpha, like PNG. Works best for GIF images. (Note: you should study the differences between GIF and JPG to pick a format that fits into your game graphic style)

Particles

Particles are a important part of any game, but key ingredient to for casual / light 2D titles. You only need a handful of 16×16 textures to create amazing effects on screen! Don’t you dare not considering the particle system on your decision of the which framework to use!

You need a powerful particle system. It would be better if it could draw 2D particles, where particles will be drawn as regular sprites. Most 3D engines features however only features particles using 3D elements like PointSprite, Billboards and Meshes. They are beautiful, but they are also, well, 3D elements! They will consume more CPU with culling / render ordering calculations, and are not as precise for a 2D-based game.

For casual games, aimed on lower-end machines, I advise you to try engines that supports 2D particles. Specially if you are going to support software rendering. If they ain’t available go with PointSprite particles, which are 3D but optimized for 2D drawing at the DirectX device. Billboard and Mesh particles are heavy on rendering if the user don’t have a good video card.

If you can only choose between Billboard and Mesh, go with Billboard. But maybe you picked the wrong framework/engine!

As the last advice, don’t you get too heavy with particles! Low-end machines suffer if you push too hard. Emitters should not emit more than 20-40 particles at a time. I would say 50 on a very particular case, but try to keep the particle count under control . Remember that each particle is still something to be drawn.

How Piracy can Break an Industry – the Brazilian Case

This is a guest article by Tiago Tex Pine
I’ve been reading about Nintendo urging governments for more actions against game piracy around the world. Their claim specifically mentions Brazil. I’d like to add more information about this country (since I live here :D).

This is a short story of how piracy broke an once prosperous industry, and hopefully it can be a warning for the game industries of other countries.

The 8-16 bits Era

During the 8 bits and 16 bits era, Brazil had a strong presence of Sega products through partnership with a local company, Tec Toy. The Master System and later the Mega Drive (Genesis) systems were hits. Tec Toy made localizations of major titles like Phantasy Star and Riven (with voices dubbed for Portuguese!). Growth and media awareness was high – to the point a very popular TV show (Programa Silvio Santos) had a video-game competition around Sega games like Sonic.

In 1993, Nintendo arrived officially in the market with a join venture with the biggest toy-maker, Estrela, and a major electronic devices maker, Gradiente. Super NES was officially released, and one could find official cartridges in major super-stores, pretty much the way Americans buy games at Wal-Mart. The market was promising and realistic analysis projected a size of US$ 1 billion for the first years of the 21th century.

Playstation Era: piracy runs rampant

Then it came the Playstation. It was a shift for the industry globally, and even if not officially released here, it was expected to be imported and compete with local manufactured systems. Fair enough. But what happened next was completely different from a healthy competition.

The CD-based platform allowed piracy to take over the official players with incredibly cheap and low-quality copies of games. The government did nothing to stop it – on the contrary, taxes over games was (and still is) so high it was impossible for shop owners to sell at a competitive price. So they just stopped selling entirely. Why insisting on something so difficult if store spaces can be filled with more salable products?

Playstation was never released officially in Brazil, but smuggled units became wildly popular and replaced official systems. Every Playstation-owner had CD-cases filled with pirated games. The joint-venture of Nintendo bankrupted, and Tec Toy came very close to close doors as well.

Smuggled Playstation 2 units consolidated piracy afterwards.

Game market today

Game piracy is endemic: 94% of PC retail games and nearly 100% of console games are pirated. Not even the richest youth of the country bothers to buy original console games, which cost US$ 98. Like everyone else they can easily spot illegal street vendors selling pirated games for US$ 8 or less. On online-distributed games, even low-cost Brazilian titles in Portuguese like Brasfoot (US$ 7) and CaveDays (US$ 14,5) are hacked by piracy-dedicated blogs, foruns and Torrent sites.

The outcome: Brazilian game market is estimated to be around US$ 52 millions. A pathetic performance for the 8th biggest economy in the world.

Illegal street vendors and cops

Cops and illegal street vendors. Business as usual.

I applaud Microsoft for making a bold attempt to bring XBOX 360 in 2006, the first console officially released here in many years. I also applaud the few Brazilian game developers for the courage to struggle in such a hostile market. They are incredibly talented, could do wonders, but have only four options to survive as developers: subscription-based online games, mobile gaming, advergaming or exporting.

What about Nintendo claim?

Nintendo should forget about having any support from the Brazilian government. Because even if congressmen hear the claims, they will first have to combat the ever-increasing DVD piracy problem. What happened to games is happening with the DVD industry – street vendors with pirated copies will break it. Hey, even the President was cough watching pirated movies!

Could we write better laws? We already have good laws regarding copyright infringement. But police say “there are worse crimes to combat”. And that’s probably true: we also have good laws regarding homicide, but just 1% of murderers are solved in Brazil. One percent!

Impunity is by far the worst Brazilian problem as a nation. Law isn’t enforced. It won’t change anytime soon. Brazilian National Congress completely lost credibility and if Justice doesn’t reach murderers, it won’t reach pirates.

An actor of a widely-pirated movie, “Tropa de Elite”, goes after an illegal street vendor!

PS: I have faith that a steadily economic growth and the increasing education rates will change this country for good by the end of 2020. Will take that much time though.

Web Software for Teamwork

You want start a game development project, but you are unsure on the ways you are going to manage it. As an indie like you, I also don’t have cash for consultancies or ERP software packages! So here goes a fair number of web-based tools to help you managing people.

DotProject

This is one software with a bunch of features for project managing and team collaboration. It works pretty much like traditional management software (MS Project and Primavera). It has a forum, a shared calendar for events and meetings, and an also shared contact list. The main weak point is the lack of AJAX-like functionality – so, unlike Gmail, for example, you have to reload the whole page each time you want to update it.

Like MS Project, it is a complex piece of software, but a very good one. I’ve used DotProject for 2 and a half years, and now I’m moving to either Overlord or Teamwork. I came to conclude that I don’t need much complex functions for 4-8 developers teams. But that will depend on your producing methodology as well.

Overlord

A managing system focused on game production, used by GarageGames. It is a great system, simple but effective for our goals. Has Web 2.0 capabilities, and has the source opened to you after buying, so you could add your own modifications afterwards.

Teamwork

  • http://www.twproject.com/
  • Needs Installation? No, though a license for download-and-install is available.
  • Free? Yes, for small companies (up to 5 projects and 10 developers). For bigger ones, 8 euros per month for each user. No source available.

This one is new to me, and I’m still evaluating. Unlike DotProject and Overlord, it is a ASP-business model, so you don’t need to install anything – just create the account on their site and use it. It has lots of functions, and seems as complex as DotProject – but uses Web 2.0 controls that can really improve tasks visibility and usability for team members. And getting to know what everyone else is doing is very important thing to keep team members motivated.

Useful (and free) Software

These are software not intrinsically related to project management, but can help you on specific needs. With WikiMedia software, you can keep your internal documentation updated, interactive and easily available for the project team. You can also configure that just some users can modify the Wikis (game designers, most of times).

phpBB is a widely-known forum tool. You can use it as a knowledge database, issue-tracking system, and – above all – an interactive tool available for the players!

The WordPress blog system of this site is available for download! You can configure blogs for each members of your team, make a general “project” blog, or use it as your site main under-laying system (like we did on Interama site).

To Clone Or Not To Clone?

Jake from Grey Alien Games arouse a subject on their blog, regarding the differences on cloners vs. idealists on casual game design. To clone or not to clone, that’s the question! I think it worths to make a post on this subject.

I think the Cloners vs. Idealists subject for casual game market can be evaluated from another perspective: cloning is less risky. Of course you will have a smaller piece of the pie, since there are so many clones like your game, and the game will sell well for just a couple of months. But cloning IS less risky also, after all you are selling something that is already proven successful. For no other reason EA releases the same games every year.

The Risks

Innovation is way more risky, and much more costly – it will take more time to get to a both innovative and salable gameplay. Maybe years: consider Bookworm Adventures and The Sims. Producers will have to throw away many prototypes, and can’t be sure when exactly will have that design that will nail when implemented on a final form.

Since casual games focus on gameplay experimentations can really postpone milestones and delivery dates, and that means more months maintaining infrastructure and salaries – the final cost may skyrocket from first predictions. Even more risky, the public might not like it at all! Consumers do like more of the same, and tend towards concepts they already know and are familiar with.

The benefits

However, the final game, for its uniqueness, can outsell any ultra-polished clone and have a trully extended lifespan. Consider Peggle, Chuzzle and Diner Dash – titles that have been selling (and will sell) for many years. Hell, Bejeweled is five years old and still sells so much!

Even better, it might create new consumers who aren’t used to play much games, but for some reason got atracted by a new concept. Juan Gril exposes here how innovation on gameplay can create genres/markets by turning non-game-consumers into new players.

The Important Decision

Deciding on cloning or innovating could end on a clear economical choice:

- Will I take the safer path and sell a fair number of units for one or two months, but with a somewhat already built fan base?

- Or will I invest time and money on a more innovative and potentially more profitable project, but risking on ending up with something not fun enough (poor sales) or that will demand more money and time than predicted?