Rant ^ 3 (Debug vs Release)

I’ve encountered a very strange problem (and the roots actually lie in the decision to continue with the upgraded physics system with Leadwerks – and possibly with the upgraded BlitzMax version). I explain this in as non-techy way as I can – and I go in the very, very beginner basics.

First the basics: when one creates games, they compile the code which is like “from human to computers translation”. The .exe files are understood by the computers, and the code files are understood by human. Now, in order for humans to find bugs and errors a “debug mode” was invented, so that humans can see what’s going on in the game while playing it. This error mode means slower performance (for example, a game might run at 50% speed), but it makes it easier to locate bugs and correct them.

After errors have been fixed (most of them anyway…), the game can be compiled in “release” mode.

Release mode is the one that you customers use, the debug mode is for developers only.

Now my “small problem”
About a week ago, I spotted a problem: my release mode wouldn’t work right. The collisions were “broken” and acted really weird. I hadn’t spotted this earlier, since I hadn’t compiled release mode for some time. Since I never had any problems with debug versus release modes, I simply hadn’t felt need to do that (game runs fast in debug mode in my computer, so it wasn’t necessary – I was concentrating on other issues).

So basically:
– Debug (slow) mode works
– Release (fast) mode is broken.

I have zero errors. Zero warnings. All my code is 100% the same for both debug and release modes. No threads.

I’ve upgraded to the latest Leadwerks (LE2.24) and I’m using BlitzMax (1.33 RC5). In earlier versions (LE2.18 for example) there wasn’t this problem, but I had to upgrade to the latest version to ensure compatibility (that’s another long story which was discussed some time ago here on my blog).

Anyway.

It’s pretty hard thing to tackle. I’ve never faced anything like this, and the bad thing is that there is no errors. Nothing about uninitialized variables. The only error is that the collisions between the player controller versus everything else acts weird. Other collisions (like boxes against ground or boxes to boxes) all work perfectly in both modes.

I’ve used the past week to locate this error and trying to isolate what the problem really is, but so far no luck.

This actually didn’t turn into Rant ^ 3, but I can now say that this is quite horrible problem that comes in horrible time (this has now turned into the biggest task left to be able to release the game. I have some other tasks on my list, and was hoping to release the thing already – but now my energy goes into solving this nice little thing).

I know that this will be solved, one way or another – but it can be… slightly annoying not to be able to release your game since the release version compiles differently from debug version. (I know that of course the problem can lie in my code – and I’d hope it would be there – but still it’s really strange that same (collision) code is treated differently depending on the compile mode)

Oh well, I’ll just take a deep breath and continue…

How To Spot a Bad Argument

I happened to spot this conversation:

bob:
you have to be a complete idiot to buy this over the iphone 3gs

ali:
Bob,

Thank you for that well thought out, articulated, and thoughtful comment backed by facts and supporting points you specified.

Let me help you out here. Whenever you feel the urge to end a sentence like “OmGz Iph0Ne iz teh L33tzorz”, ask yourself “did I put the word ‘because’ in there?” If not, then you could sound like a bigger idiot than originally anticipated!

Here, I’ll show you a few examples:
Hai Gaiz, Teh N97 PWNZERZ teh Iph0ne(lol) cuz:
1.) Iph0ne(lol) is STILL more xpensive cuz of karrier h|dd3n pheez which yuo dn’t have 2 pay if you dun use a iph0ne(lol)

2.) Iph0ne(lol) laks maj0r feetures laik:
-DVD Qualety kamkorder on teh N97 w/ Karl Zeiss lenz
-QWERTY (I’m drunk) Keyboard to drunk txt ur mom
-32gb + Xpandable memory
-My phone is teh sexier than ur phone

Iphone 3.0 haz MMS SUPPORT YAIIIII!!! YUO KAN SEND MMS MSGS NOW WOOT

See how it’s done? I charge by the hour for internet trolling lessons, look me up and send me a MMS from your new iphone ;)

Heh.

Immersion Vs Practical Use (Practical Use Wins 6-0)

I’ve been working on my Dead Wake game (trying to figure out why debug compile works and why release compile is broken – that’s another story I’ll tell more about after I’ve solved things), but I’ve also scheduled some time to test the Assassin’s Creed game. (It feels like Hitman meets Lara Croft – just my opinion for those of you who are interested.)

In that game I encountered a tiny problem with the menus. I’m never sure when the game is really saved. The game has this concept of “memories”, so things are “saved” when stuff is done with the “memory” (at least I hope so). I believe this is supposed to be more immersive, but to me it’s just more confusing.

If the game needs to be saved, then please tell me when it’s saved.

Every time I stop playing the game (hmm, that would be twice so far by the way), I get this chilling feeling that I cannot be sure if my progress is lost. (Especially since the game keeps saying “are you sure you want to quit – all unsaved progress will be lost” – and then I go hunt “save” button but there isn’t one – just memories…)

So, for Assassin’s Creed 2, I’d really hope you guys would like tell me clearly when game is saved. And like tell me that I can continue from the saved point when I get back.

Other thing I’d like to be able to exit the game without (1) first pressing ESC, (2) selecting EXIT game, (3) waiting loading screen, (4) clicking another EXIT button, (5) waiting in another loading screen, (6) selecting my profile (???), (7) then clicking QUIT.

The game feels good and is fun to play, but it’s bit annoying when something non-game related things are getting bit… well, in my way.

Not that I’d complain or anything.

Update: video about the EXIT sequence, thanks Ilya for the tip

By the way, almost all casual games are good at this: they clearly tell that “your progress is now automatically saved and you can continue from this point when you get back”. Not sure if something is lost in terms of immersion (I don’t think so), but at least I can rest assured that I know exactly where I can continue the next time when I get back.

Saw Silent Hill Yesterday (Word About ‘Horror’)

We rented the Silent Hill movie yesterday. I have tried the game (played the demo like 10 minutes), but found that the real horror comes from waiting for the horror. The movie was not really using this element, as did the game. In the movie (I’d rate it like 2½ out of 5 stars) there was fog and monsters and this japanese style horror plot, but it wasn’t really that scary.

Unlike the game (demo got 4 out of 5 stars from me): I played the game for some time, and pretty much every moment in the game I was waiting something bad to happen – some creepy creatures that would attack, or something bad things to happen. The game’s atmosphere just made me expect something bad to happen. Now, that was spooky. That was scary.

Something to think about when people consider doing horror games. You don’t need to spawn monsters to scare people: you need to show people that there’s a possibility that monsters will attack and eat you right around the next corner…

(A nice coincide was that when we drove to the rental place, song by Scooter was playing in radio. In that song he kept saying “the chase is better than the catch”…)

I’ve Never Seen Players Whine This Much Over a Sequel

Left 4 Dead 2 is coming (trailer below). It’s pretty usual for companies to bring sequels (or expansion packs). Well, one Left 4 Dead community wasn’t too happy about this announcement. Check out that thread (but be warned, the language used there is like at least K38).

I don’t know how the L4D II will be like, so at this point I don’t know how different the sequel is going to be – but there’s some point in the fact that people think “this feels like an expansion pack”. (Tip: This is something for developers to think about when doing “sequels”.)

I look forward to seeing this game in action. Left 4 Dead (I) was one of the best action multiplayer games I’ve played, so looking forward to see if they have new tricks in their sleeves.

“Cheap, But Good!” (Yeah, Right)

Yesterday I got a pretty interesting pizza flier ad. The ad said “all pizzas 2.99 eur (3 ingredients, you need to fetch them home)”. Normal (similar) pizzas cost around 5-7 euros here (in Jyvaskyla, pizzas are pretty cheap by the way – there’s so many pizza bakeries here).

I was thinking that if pizza costs like 3 euros. And then there’s some sort of VAT (maybe close to 8% or something since it’s takeaway). That leaves 2.70 profit. Then there’s the salary of the pizza baker. And the building rent. Certainly those must account to some “eur per pizza”. And… we haven’t got into the ingredients yet. If there’s ham, chicken, tomatoes (for example) in that pizza – how much those ingredients can cost?

And, do they need to make some sort of profit per pizza?

With all this in mind, I just thought “whadda heck are they putting in those pizzas?”

“Cheap, but good” doesn’t really exist.

(“Indie friendly pricing” is of course a different story… right?)

[poll id=10]