Battlefield 3

February 1, 2012

A while ago I purchased Red Dead Redemption by RockStar, mostly because of a YouTube video by TheCheese00. It wasn’t a particularly cheap buy, as I also had to get an Xbox 360 to put the disc somewhere and a TV so I could see what I was doing. There are many things I don’t like about RDR, but all in all I had (and still have) a lot of fun playing it. I can wholeheartedly recommend it to anyone. Among the things I’d like to see improved most in any upcoming sequel is a more detailed environment and better destructibility of objects. I was therefore impressed by the quality of the visuals in many BattleField 3 videos, which seems to deliver on these aspects. BattleField was developed by Dice, the people who brought us Mirror’s Edge.

If I had to pick three words to describe my experience with BattleField 3, it would have to be; annoyance, disappointment & frustration. Some might argue that annoyance and frustration have a large overlap, but I thought it important to properly cover the extent of my bile.

Not only is the game extremely short –I finished it within a little more than 6 hours– it is also extremely boring. The story is ludicrously unsophisticated and focuses on stolen nuclear bombs to be detonated by terrorists in Paris and New York. Really Dice? Stolen fucking nuclear fucking bombs? How very 1980 of you. The story is presented as a sequence of flash-back missions of the main character, Sergeant Blackburn, who is being drilled by civilians (?) about having shot his CO and his potential involvement with terrorist attacks. Every mission is basically the same; lots of people firing back and forth, follow the blue diamond and follow the instructions on the screen. Press A when you’re told to. Press B when you’re told to. Press RT when you’re told to. Thrilling.

There’s almost no lead-in, no time to get comfortable with the controls or the weaponry. There’s also very little freedom. Wander but a little from the preset mission path and the mission fails, at which point you’ll be awarded with the loading screen and you get to try again. And again. And again. And again, until you figured out the correct sequence of buttons to press to get you through the mission.

The graphics and physics of BattleField 3 are fantastic. Too bad there’s no time whatsoever to enjoy them as the game-play and the story are amongst the worst I’ve ever seen in any game.

Instead of a bunch of New Year’s Resolutions I thought I’d mention four of my childhood mistakes. Without further ado:

  1. Ascension. I used to think that Ascension was to celebrate the 1969 moon landing. The error is somewhat less obvious in Dutch, as “Hemelvaart” —as it is known there— translates to “Heaven/Sky Flight”.
  2. Kissing. When actors kiss in movies, it surely must be some sort of visual trick because only people who are in love could possibly want to kiss each other and the odds that two professional actors randomly thrown together are in fact in love is diminishingly small.
  3. Adulthood. The best thing about being an adult is not —as I used to think— being allowed to do adult stuff. Turns out adult stuff is major league boring and frustrating. The best thing about being an adult is that you can do all the kids stuff you want and nobody is going to tell you to stop.
  4. Lasers. The only mechanism by which I could imagine lasers to work was for them to be funnels made of reflective material. I knew there was a mirror involved, just got the geometry wrong, after all, if it works for water, why can’t it work for photons? These days I do understand how the electron states are perturbed by passing photons, though I still have major problems understanding the basic principles of holograms.

Multiple Local Optima

December 1, 2011

In this post I’ll present one of the examples I used in my lecture at the Design Modelling Symposium in Berlin in October/2011. This particular example shows how the Simulated Annealing solver handles fitness landscapes with multiple local optima. I’ll also talk briefly about how to set up the test-case in Grasshopper+Galapagos.

Read the rest of this entry »

Ever since version 0.8.0051 of Grasshopper, there is a second solver available from within Galapagos which implements the Simulated Annealing algorithm. Like the existing Evolutionary solver, Simulated Annealing is also a meta-heuristic technique, but works in a fundamentally different fashion. Having access to both solvers makes it easier to circumvent some of the shortcomings of each. Ironically, Simulated Annealing is a much simpler process than Simulated Evolution but may be harder to understand since the real-world analogy is more abstract and based on a less well known process.

In metallurgy, annealing is the process of controlled heating and cooling of metal to achieve certain material properties. At first, the metal is heated up to melting point so it can be cast or formed. At an atomic level, heat is nothing more than particle velocity. The particles (atoms & molecules alike) in a hot substrate move faster than the same particles in a cold substrate. At some point the velocity of two particles will be so high that they cannot succeed in forming a persistent bond between them. When this happens the substrate loses internal structure and turns liquid.

Atoms in liquid metal

Read the rest of this entry »

Sugar and Spice

October 8, 2011

And now for something completely different. With the imminent arrival of girlfriend coming to stay with me until Christmas, I figured I’d better beef up my pastry skills as she’s way better at that than I am, and we obviously can’t have that. I’ve always been partial to cinnamon (up to the point of making cinnamon sauce for tenderloin) and found an absolutely fantastic recipe. It takes a bit of preparation, but most of that is spend leaving the dough alone so as long as you start baking in the morning you can have a lovely afternoon tea. Only down-side I found is that it does tend to get stale pretty quick, so ideally make it when you have guests.

I’m not going to reproduce the recipe here as it has already been documented to the point of perfection by Joy the Baker and here’s an alternate recipe by Zoom Yummy.

These pictures were taken three days ago, since then summer has disappeared and has been replaced swiftly and without error by snow.

Still life with pastry, tea and cat (cat's not moving much so it's technically a still life)

Warning; legal and moral clap-trap ahead.

First, a bit of history. You might be surprised to learn that programming pre-dates computers by about a century and a half. The two are so synonymous these days that it’s hard to imagine a computer without programs or a program without a computer. But machines have been controlled using honest-to-goodness code from the early 1800′s (think of automated looms and pianolas). Most commonly the program was stored on punch cards that were fed into a machine which executed the instructions. But even a hand-cranked music box is an example of programming.

With the advent of the modern (read: electronic) computer in the 1940′s, programming as we understand it today makes its first appearance. Basically a program is a series of instructions. Some instructions pertain to reading or writing bits in memory, others are concerned with computational steps such as addition of two numbers. The main reason computers became so popular is that they are unwaveringly consistent in the application of their programs. You can always trust a computer to do as it’s told*.

Read the rest of this entry »

Pin the Tail on the Donkey is an all time favourite for children’s parties. For those of you not familiar with the game, a player is blindfolded and spun around until thoroughly disoriented. Then, cheered on by her friends, she must attempt to stick the ‘tail’ as close as possible to the proper location on the picture of a donkey on the wall. It’s not difficult to calculate the odds that a certain blind pick will yield a result close enough to win the game. If we assume that only picks within the boundary of the donkey image are allowed, the odds of making a winning pick are the area of the image, divided by the area of the winning region (drawn in red)

We can simplify this by choosing sensible dimensions for both the boundary and the winning region. Let’s say the boundary is a square with an edge length of one units, while the winning region is a circle with a radius of half a unit. This means the boundary has an area of 1 units2, while the winning region has an area of pi × 0.5 ≈ 0.785 units2. Thus the chances of making a winning pick are roughly 80% in this simplified case.

But what are our chances if we’re supposed to pick a single point in three-dimensional space? Instead of dividing areas, we must now divide volumes. And instead of a square with a circle, we’re now dealing with a cube and a sphere.

Now, the volume of a unit cube is always 1.0, no matter how high the dimensionality. This is of course why it is a sensible value. The volume of a sphere in three dimensions is defined as (4/3) × pi × r3 which for a radius of 0.5 roughly equals 0.524 units3. So the volume of a sphere is much smaller compared to the volume of the containing cube than is the area of a circle compared to the area of the containing square.  In other words, there’s a lot more left-over space. What happens if we go even higher than 3 dimensions?

Read the rest of this entry »

A little departure from the realm of coding in favour of the realm of fiction. I like Science Fiction. Really I do. It’s just that I don’t consider many things to be Science Fiction that are typically gathered under this banner. Star Wars isn’t SF, it’s cowboys, knights and wizards in space. Star Trek couldn’t possibly be more pathetic from a purely scientific point of view. Planet Of The Apes? Darwin would spin in his grave so quickly it would destabilize the orbit of the Earth (to loosely borrow from Douglas Adams). Independence Day. Fun? Sure. Science? Bollocks.

source: John Berkey

Read the rest of this entry »

Colours Everywhere

March 19, 2011

Colour is a tricky subject. From pretty much every angle you look at it. From a chemical point of view we get to deal mostly with pigments, which is to say how molecules (or rather, the electron clouds of molecules) interact with photons. It would be difficult enough to predict the result of mixing two pigments if you didn’t have to take chemical reactions into account. Chemical reactions due to pigments interacting, or due to pigments falling apart as a function of half-life or light or temperature or humidity.

From a physics point of view colour is usually approached from the photon-wave-length direction. Every photon has a wave-length and some of these wave-lengths translate into visible light. Lasers tend to emit light of only a single wavelength (mono chromatic), but most natural light sources emit a continuous range of wavelengths. It’s easy enough to predict the result when mixing two light sources of known wavelength and intensity, but there’s a difference between the harsh numeric wavelength approach and the soft human biological approach. Just because you know the exact mixture of wavelengths in a certain light beam doesn’t mean you know how that colour will be experienced by living creatures. The rods and cones in our eyes do not measure all wavelengths equally well. The following graph shows how, on average, human cones respond to photons of specific wave-lengths:

Read the rest of this entry »

Fitness Pressure

March 9, 2011

This is the second post on how to define your own Fitness Functions. In the first post we discussed how to combine Fitness variables with different units and ranges. Today we’ll talk about how we can write a Fitness Function that always points the solver in the right direction. I’ll use a simpler example this time, where all the Fitness Variables are of the same type as well as the same range.

Read the rest of this entry »

Follow

Get every new post delivered to your Inbox.