Archive

Author Archive

Casual Games Technology Hurdles for Newcomers

February 26, 2008 1 comment

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).

How Piracy can Break an Industry – the Brazilian Case

February 15, 2008 10 comments

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. 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.

o

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

Categories: Law, Markets

Second Lives

February 10, 2008 Leave a comment

So, I was doing some sort of a research about Second Life and its possibilities for game developers, and I found several other “Second Lives” clients. The graphics of Entropia Universe impressed me, but I think the hardware requirement is high for more casual players. “There” seems to be more casual and friends-oriented, and Active Worlds seems to be more focused on build-your-dreamed-house features (which is interesting considering the success of Home Sweet Home and The Sims).

What really cough my attention was Red Light Center, a sex-oriented 3D environment. Undoubtedly, the porno industry has presence in other 3D worlds, but this one presents a very curious strategy for subscriptions: you may log in, interact and visit almost any place the world for free – but you only get access to the really hot stuff – virtual sex and orgies – by paying the VIP account, 20 bucks month.

I mean, “hot stuff” for those who can get excited with low-poly 3D models screwing… 😉

Lex Venture is released!

February 2, 2008 2 comments
Categories: Entrepreneurship, Interama

Techniques for Fancy and Lightweight 2D Graphics

January 27, 2008 2 comments

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.

The one-million-dollar game idea

January 21, 2008 1 comment

Among aspiring game developers, there is still the myth of the one-million dollar idea. To sum up, someone wakes up in a beautiful morning and thinks “hey, I have this idea for a game, I’m gonna write up, copyright, sell it!”. I receive at least two e-mails a week with proposals like that. Some people are more realistic, and offer their work as writers and game designers alongside.

So let me spare them from disappointment (and perhaps a bunch of money with lawyers). The WIPO International Copyright Treaty (1996) states clearly that no idea can be subject of copyright. So does the law in U.S., Canada and a number of countries. On some countries, like Brazil, the law specifically forbids the copyrighting of game rules.

What you can really protect is the expression of ideas – in the game development case, code, art, and sounds. Thus, if you have an absolutely great idea and think you can turn a profit, you must fulfill it – paint it, code it, do it. Do not expect someone will pay you for being a “genius”. You must work a lot – either starting your own company, partnering with other developers or presenting the idea on your present game company. These are the only possible ways.

If you want to start your company of be a partner of a game project, perhaps this guy can get you motivated:

http://www.stevepavlina.com/blog/2006/07/10-reasons-you-should-never-get-a-job/

Non-combat MMO?

January 13, 2008 19 comments

I was thinking if a MMO game without combat would be possible. I found an interesting experiment called Seed, but it failed. My partner Tom wondered if Second Life would be an example, but SL isn’t really a game, is more like a social environment, much more like a 3D version of IRC or Orkut. A Tale in the Desert seems to be a good candidate.

Let’s face it, MMO combat is nonsense. Traditional video-game RPG combat is nonsense. To evolve, you have to kill things like pigs, zebras, dinossaurs, giant lizards and angry mushrooms to evolve. Why is that? Come on, even if you lived in the Middle Ages, you wouldn’t kill a dog in the street or a deer in the woods just to become more powerful. 🙂

The reason is that such a level system is still based on the old Dungeons & Dragons 1st Edition Experience Points (XP) model – kill the beast, get stronger. But this system was created in the 70’s, for tabletop games to fill young men afternoons. Since then, a number of other RPG books have created much more meaningful gameplay and experience systems – even the present 3th Edition of Dungeons & Dragons.

Well, so, what’s next? Seed failed. All the mainstream MMOs are combat-centered on the old D&D model. Why a non-combat, or maybe just non-combat-centered MMO would succeed? For the same reason casual games succeeded: there is an enormous amout of people out there that simply want some non-violent fun on their spare times. Some people are even investing on “Casual MMO” projects for the years to come, but I believe one already exists: it is NeoPets.

Speaking of Super Granny!

January 11, 2008 Leave a comment
Categories: Trends

Speaking of cloning…

January 4, 2008 Leave a comment

I was just reading a great GameZebo’s article about the year of 2007 for the casual industry, and I’d like to echo Joel Brodie statement of “2007 can be defined as the year in casual games where innovation took a back seat to sequels and uninspired me-too products” with the following:

I present you the best-seller Burger Rush, released on middle-2007, which I love!

Burger Rush Screenshot

And then here goes Pizza Chef, released a few days ago:

Pizza Chef Screenshot

Take your own conclusions. As for me, I’m sure the industry can do better.

PC OS for 2008 and beyond

January 2, 2008 Leave a comment

For the casual game developers, I think it is insightful to have a look on these articles:

Why choosing XP over Vista? and 2008: Linux’s year on desktop 

They state two trends on the PC OS market for 2008 and beyond:

  1. The faster spreading Vista distribution is Home Premium Edition, not Ultimate nor Home Basic. For game developers, the main difference between Basic and Premium editions I believe to be the Aero interface and the XBOX integration on Windows Media Center;
  2. Linux computers are coming for good with the spreading of cheap laptops. The main impact will be on 2009, but we should think on preparing our games to have Linux versions (and use Linux-friendly frameworks);
Design a site like this with WordPress.com
Get started