zondag 12 september 2010

Crowd behavior: are we really unaware?

The recent disaster at the Duisburg Love Parade is one of the many occurrences where authorities and event planners claim that they could not have foreseen the tragic events.  21 People were crushed to death during a mass panic in an access tunnel, more were injured and the event was called off.

Although I can understand the organization's position from a legal point of view "we didn't know" and maybe understand the position where they wouldn't have a clue how to anticipate on such events, what the hell were the event planners thinking?

These are the common crowd situations one can encounter at events:

crowd1.jpg

crowd2.jpg

crowd3.jpg

crowd4.JPG

This is not the first nor only event that resulted in casualties due to unplanned mass/group behavior and will likely not be the last one either. The research for human predictability has already resulted in many groundbreaking insights and mathematical algorithms to enable crows simulators to pretty accurately predict outcome of predefined scenarios. Unfortunately - as usual - such insights are either known to the happy few who are researching these topics or lie dormant in an academic paper.

The occasional team arises to build a software solution for such types of simulations but currently the most known solution would be the traffic simulation.  Why?  Because it is commercially viable and can be used to market a company's 'green value'.   Understanding traffic flows can enable the company to commercialize services that help the drivers to avoid the bottlenecks, causing less queues, pollution,... Basically, it helps the company get better in terms of image and turnover and the driver benefits from it.

How about the pedestrians? How about the micro-environment of an event, a campus, a city block in development,...? Wouldn't it be good to provide the designers as much info as possible about how people will likely behave in those environments under normal and less-normal circumstances? And the BIG question is: who will pay for it? The car drivers pay for the live service on their satellite navigation system because they can actually directly benefit from it themselves.

How about the new house owners that bought their home in a new development?

How would you rate the value of knowing that your area will be able to handle the mobility stress?  How much would you pay to be sure that your kids will be safe on the sidewalk when walking to the shop on a busy day?

crowd5.jpg

Will the pedestrian zone be able to handle the amount of pedestrians in all situations? How about the city planners that are designing a new urban development? How do they decide on pedestrian areas, pavement width, bottlenecks...? What are their assumptions, where do they get their data from, and how accurate is it still in 2010 as updates of such data will likely involve a cost not directly covered by any commercial benefit resulting from the design itself.

After all, when you buy a residence in a new development you assume correctly that the designers have covered all that. I believe such simulation service should be available to all designers AND the public. Designers will have the obvious benefit of being able to reduce the risk of disaster, insurance claims... and enhance the visitor's experience. The public will be able to check out scenarios for new traffic lights, pedestrian crossings, parking lots, wider curbs, pedestrian zones... and have well prepared proposals for the city planning commission.

Over the next months I will be covering this here in my professional blog as I am investigating the possibilities of providing full context mobility simulation services to the wider audience.

zaterdag 11 september 2010

Ways to make a computer game without coding

some of you will have experienced these moments in life when you feel very creative and have a smashing game idea. You come up with graphics, moods, stories, tactics and game strategies, allies and enemies... and then it hits you: how do I get these ideas into an interactive form? How do I program this and what tools will I need to do so? How many years will it take me?

The simple answer is: there is no way to make a computer game without programming (unless switching the display on and off manually constitutes a game)

HOWEVER ... the programming part should not be the show stopper!

Your game ideas will likely already hold some form of programming like "I'll use the mouse to aim and shoot" or "if the character falls down he will lose part of his health" or "the main character will need to find a key to open the door". These are basic forms of programming and they are still used in board/card games: playing Monopoly, some rules will make you pay up, earn money or go to jail, playing cards, some cards outrank others depending on the game play.

And that is basically what programming is: designing rules within a certain context that will generate a result.

the FUN part is that some tools have taken the coding out of programming. This doesn't mean that programming is obsolete but they have managed to literally break down the coding effort into a sequence of using building blocks. As an example: instead of having to manually enter the programming lines in whatever programming language to have your character move forward when pushing the up-arrow on the keyboard, they enable you to select your character, link it to a 'keyboard' coding block where you select which key (up-arrow) will trigger what action (move forward).

In order to fully grasp this, you will need to get your feet wet and check out some of these game tools. I have listed some of them hereunder and although this list does not provide all tools available, it does hold a good representation of tools for their game genres.

Mind you that all game tools require you to think about what you want and how you want it. You will need to provide the graphical elements like background, characters, buildings, cars, weapons, ships, planes, space ships, aliens... and the sounds too. But don't worry, some Google searches will provide you plenty of links to free graphics and sounds for games :-)

2D and 3D games:

Virtools [web site]: expensive 2D/3D game development environment running on Windows that I used to work with. It does hold some very interesting and very high end features and you can get a long way without writing a line of code.  Virtools uses darg & drop building blocks that one can link in order to have them perform more complex tasks.  You can make games to run on Windows, Mac, Wii, Xbox360 and in web browsers using their browser plug in.  It will set you back some $5000.

virtools.png

Shiva [web site]:  very nice 2D/3D game environment that runs on Windows and Mac (under Parallels) which allows you to make games for Windows, Mac, Linux,  iPhone, iPad, Android and Palm.  Shiva is available at different price ranges and they have a PLE (Personal Learning Edition)

shiva.png

Unity [web site]: I love this Mac tool which is now also available for Windows.  Make games for Windows, Mac, iPhone and Android.  Their base Unity version is FREE!

unity.jpg

Alice3D [web site]:  Designed by Carnegie Mellon University, it is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.  It is much easier to work with than the other tools listed above and I would recommend it as a first start.  Get your idea, make a rough game and get to understand the basics of game design.  Alice3D is available for Windows, Mac and Linux.

alice.jpg

2D games:

Scratch [web site]:  this is a fun tool to play around with.  Easy to use and their building blocks will also need to visually match (like a puzzle piece) so you cannot make errors linking wrong blocks together.  This is an ideal tool for K12 and their parents :-)  No higher math required at it is free to download at their web site.

scratch.png

Gamesalad [web site]:  GameSalad is a visual, drag & drop based tool for game creation that provides people with the opportunity to make sophisticated 2D casual games for the iPhone and iPad devices, without the need for programming or coding knowledge.  As a Mac user I love it although I haven't got a lot of experience using it yet.  Gamesalad reminds me a lot of Game Maker (below) which I used in my Windows-days.

GameSalad1.jpg

GameMaker [web site]: my favorite Windows game tool for casual games.  The base version is free and for a small fee you get the Pro version.  You can upload your games to their community site and share them with fellow game design fiddlers.

gm_interface2.png

Specials:

Google AppInventor for Android [web site]: Google implementation of the Scratch tool specifically targeted at the Android platform.  It allows you to make simple games and applications to use on your Android.

Off course I will have left out some other interesting applications which you either use or have seen elsewhere.  This blog post doesn't focus on providing a full list but merely lists the tools I have used in the past either for fun or for work.  I deliberately left out the major players on the games market because it would not make sense to consider them as non-programmer tools - aside from their license fees that can go up to $500.000 per game per development site.

The first 3 game tools listed are also very adequate for visualization of industrial design, architecture and/or urban planning concepts.  The others are fun to play around with and Gamesalad is being used by a 13 year old boy called Wesley Campbell who sells his games on the App Store.  See article here.

So to you parents out there, if your kid wants to make a computer game then check this list and start with Scratch for the under 12 years old or Game Maker / Gamesalad for the slightly older.  And please HELP them understand the basics as even though the learning curve is not that steep, they will want to jump in right away without learning the basics - this is where you come in.  Draw some graphics for them if they can't.  Get a scanner or your camera and use pictures of your kid as main character.  Add the dog to it as well.

To the kids that are reading this blog, shut down your computer and go play outside.  Come back after an hour and check out some of the links if you're still interested in building your own game.