A journey through games, programming, music and interaction
games
Posts on AR (Augmented Reality)
As you probably saw from my Twitter posts I was on ARDevCamp on march 1 in Zürich hosted by IBM, organized by Christine Perey. I plan to publish a series of posts here about AR and my thoughts and ideas.
- What is AR, an introduction
- AR and location, the new age of mobiles
- AR and games
- Context and information
- Brainstorming on AR
Stay tuned for more …
OpenFrameworks, Prototyping in C++
I have found an other simple way to get graphic, sound and/or interaction application done. openFrameworks tries in C++, what Processing does in Java. Processing is easier, which has a lot to do with Java, which much easier to set up and since the virtual machine mechanism is already in place, the compiling is easier.
But openFrameworks does a good job. Just unpack and you can compile the examples. Easy, as anybody, who has ever lost days to set up libraries in C++ can confirm.
The programs start on a higher level, which is something to be expected since C++ doesn’t let you hide as much as Java does and there is no way around the h/cpp file duality. But still pretty simple.
If you look for an easy way to prototype/program your graphic/audio or game in C++ instead of Java go look at it.
If you have never yet programmed, have not looked at visual studio ever and are not forced to use C++, better try Processing first. After you know how to program with classes and files and put your projects into Eclipse, you are fortified enough to tackle the vicious beast that is C++ and Visual Studio.
Some small hints :
If you want to compile everything and don’t have VisualStudio in the default directory, change the directory path in front of the vcvarsall.bat command in the .bat file in the scripts directory to the right one.
If you make your own app, make sure that the working paths (projectname->right click -> properties debug) are set right :
- for openframeworksLib to : $(ConfigurationName)
- for your App to : $(TargetDir)
The description how to make your new Application is in the readme.txt in the top folder. Have fun !
Free Game / Graphics engines
game engines :
graphic engines :
Prototyping (easy to make graphic or games)
Ramblings on violence in games
It all started with a blog post
of a 13-year old girl’s school essay on violence and games. A very good and informed piece of writing.
I always find it interesting that the critique of violence in games almost always comes from people who don’t play computer games themselves and sometimes never have played one at all. Who don’t know what a shooter is about and never have played one. And interestingly also are completely ignorant of the huge sector of non-violent games like Animal Crossing, Sim City, The Sims (1+2), Wii Sports (oh let me correct that, the boxing part is quite violent), Zoo Tycoon, Rollercoaster and more.
As much as I understand their worries about something they don’t understand, it is actually not a good thing to be informed by the splatter press only. Often journalists writing for the mainstream press about “killergames” do not play themselves either.
Imagine talking about books and never having read one.
A Nintendo DS is quite a cheap way to find out what video games are really about. For starters I recommend Animal Crossing, Another Code, Phoenix Wright: Ace Attorney (if you always dreamed of being a lawyer), Trauma Center (if you always wanted to be a doctor), Nintendogs (if you always wanted a dog, but never have time to have a real one), Cooking Mama (if you love cooking) and naturally Zelda (the icon), which is heavy on sword fighting and the only game in this list were you use a weapon at all. These are all best selling Nintendo games. And even if Trauma Center has a lot of gore (probably), I haven’t played it even the thought of a scalpel makes me shiver, it is not about killing, but about healing.
A lot of games with killing use ancient weaponry and one-on-one combat, because they are Haensel-and-Gretel stories. There is a EVIL, which the hero (male or female) on her journey from child to adult has to conquer. In German literature this is called Entwicklungsroman.
There are stories like this in every culture. Illiad and Odysee of the greek, Beowulf, Arthur legends, Nibelungen. The Mahābhārata seems to have a lot of this too, but since I haven’t actually read it (even if it is on my reading list), I cannot really say something about it.
But I actually would like to play a game set in this kind of classic Indian literature. It may be easier for somebody, who doesn’t have an Indian cultural background, to understand all the layers of these huge ancient texts in the context of a game. Is somebody working on this ? Since the Indian game industry is thriving I have high hopes to play something like this soon.
And maybe we can rebrand games as way to understand other cultures. There is a lot to be learned by playing Japanese games, games from countries, which were once behind the iron curtain and the difference between European games, UK games and US games (subtle, but interesting). Games (as any media or art form) always reflect the societies they were made in. So what do FPS say about us ?
For German speaking people, who want to know more about media and violence I recommend this book F.Rötzer : Virtuelle Welten – reale Gewalt. For parents looking for guidance (in German too) maybe this T.Feibel : Killerspiele im Kinderzimmer. Was wir über Computer und Gewalt wissen müssen or this T. Hartmann : Schluss mit dem Gewalt-Tabu! may help.
But just reading about does not help. You must have played a video game to understand how video games work. For a PC Zoo Tycoon 2 or the Sims are easy and interesting starting points, which are now in the sales aisle and quite cheap. Shooter normally need a fair amount of skill to master, so starting there is a bad idea.
I want to program games, why do I need Mathematics or Physics ?
Most people are pretty easy to convince, that they need mathematics, but they mostly underestimate what kind of mathematics they need. At the moment there are some people around Leo Dorst, who develop a framework from geometric algebra, which could make things easier to program. But the mathematical core is something pretty new. It looks unfamiliar, because school mathematics doesn’t even go near this kind of mathematics.
The things you will need in any case are vectors, with a throughout knowledge of dot and cross product. Trigonometry, this is sinus and cosinus, because you need this stuff to find out for example, if your avatar is facing the right direction. And translation and rotation matrices. The later because, if your avatar is facing the wrong direction you will have to rotate him. Translation is needed, because you want your figures to move. If you want to do animation you need quaternions too, they are used to interpolate rotations.
Then there are splines, which are mathematically defined and even if DirectX has most of the common ones build in, you need to know the differences and how they work.
If you work with the camera you need to know projection, different kind of projections, what is field of view and what happens, if you set it on 90 degree (bad things mostly in DirectX).
And there is collision detection, which uses a lot of mathematics.
And you need a working knowledge of calculus, which will also help in physics.
And some statistics can come handy too.
The more you know the more you can control and knowledge opens new doors. In the games industry it is important to do new things and knowing a lot of mathematics can make new things possible.
I always though that the need of physics in games is self evident, but some questions I get, made me think that maybe it isn’t.
Because there are physics engines nowadays, people often assume that you need physics only if you use these. Or said differently you use these and you need no physics knowledge. Naturally using a physics engine is easier, if you have an idea what it does. But every simple game has a lot of physics, only people are so used to it in normal meat space, that they don’t recognize it as such. If your figures and objects are on the terrain or floor, you use your knowledge that on earth there is gravity. So even this simple assumption that things are on the floor, is actually already part of physics and obeys natural laws stated by Newton.
Things like how do projectiles work, how does a cannon work, how high can a human being jump, how fast can he run all this is part of almost every game I know and is actually by a large part determined by physics.
Then there is the visual part, how does material look like. How does it react to light is part of optics and this is a part of physics. Bump mapping or the playing around with surface normals only makes sense, if you know how light reacts on surfaces. If you want to write new shaders, with new effects, it pays to know how this works. Transparency and refraction for glass and water are important too. Shadows, which are used to to make games feel more realistic, are part of physics.
You can even program a real sunset, if you know how light works.
Every time you have water in your game, you need physics to make it look real, to find out when it is a mirror, when it is transparent and how waves look. If you have things in water ships or even your avatar you need to know how buoyancy (that’s the one with Archimedes in his bath tube) works.
Every time you have a vehicle or something flying around it helps to know physics to make it look and react in a way the player can understand and use.
And then physics is a great source of inspiration. Mario Galaxy for Wii or Crazy Machines uses it for game play. Especially in Mario Galaxy, the levels are very much inspired by crazy physics. There are cool things to find, if you make the effort and go looking.
By the way talent is not necessary. If you can program you can learn mathematics. It is just a question of training. And if you do sports or just move around, you know quite a lot about physics already. The only thing to do is to put it into a framework, formalize it and find the connections.
And yes, it is just this easy, no matter what your school experience may tell you.
Physics is the glass that falls every time there is nothing beneath it and the insight that this is the same thing that keeps the earth rotating around the sun. It is the connection, that the funny feeling you get in a fast elevator downwards, is the same that keeps people on the ISS weightless. This connection to things we instinctively know, only breaks down in quantum mechanic, relativity and beyond, where everyday experiences give no valid clue. Until then physics is the stuff that happens all around you all the time (time included).
Sometimes games teach you something
Found this interesting article on Wired.
Suicide Bombing Makes Sick Sense in Halo 3
Clive Thompson talks about Halo3 online. As someone with a job and a family he cannot work on his Halo3 skills all the time. So he sucks compared to people with more time on their hand. He dies very quickly. His way of revenge is to suicide bomb. He dies, but his enemy does too and therefore gets no points.
It demonstrates, how having no chance for a future, can give suicide bombing an twisted economic sense.
Gamehotel Zürich
I am sorry no pictures. I took my camera with me, but there was nothing to photograph. Some XBoxes some PCs, that was the expo. The games where mostly family friendly. There was a FPS corner, with mostly Crysis. Huh ?
I didn’t go to the presentation, 272 SFr. for some mildly interesting advertisement presentations was too much for my small company. I rather blow my “conference” budget on the next GCDC or the Entwicklertage in Berlin.
I also didn’t go to the show. Probably the actual highlight of this 2 day whatever. But the expo didn’t give me much confidence and the price of 40 SFr. was hefty to.
I played Civ4 until 2 o’clock in the morning. Much more entertainment value
.
Crysis is cool, by the way. I am famously incompetent to play shooters, but Crysis is most definitely cool. I blew up everything I could, especially the gas station, big explosion, ceiling coming down, cool
.
And I used barrels to not get shot, actually pretty effective, because I cannot move and shoot. Yes, I know, how very girly of me.
But I am a good UI tester, because it is almost impossible to have a badder hand eye coordination and innate incapability to navigate a game world, than I have.
Bioshock
Found a nice (in German, don’t be fooled by the English title) article from Heise / Telepolis about Bioshock
They also talk about some of the problems like the draconian copy protection and bugs.