Monday, February 22, 2010

This is absolutely amazing.

Lightning in slow motion.

Friday, February 19, 2010

Fooling around with the con men.

I receive quite a bit of business mail about my game, most of it good and useful. But not all.

Excerpt from some recent mail that takes the cake on verbosity and stupidity, as well as on attempts to sound patronizing and the sheer arrogance:

The next bit is the scary part and I understand why but it has to happen. You join [name removed], become an actual team member but also being on another company is fine too, as long as it doesn't go against your contract. You have to sign over the rights to the game to [name removed] Games or we can't legally claim it as our own or.. do anything with it. That is the scary part and I understand that, as it would scare me too. It's just the legal side of business.

Not your regular business correspondence, eh? Scary part, lol.
That's just the small excerpt from some mail (that did go on and on just like this for 3 pages). Conversation started off tiny and unspecific and with way better grammar, of course; it got like this only at the end.

What pisses me off the most is that some indie game developers, evidently, do/did fall for this scam (I imagine some fraction of indie game programmers are kids and/or borderline autistic and thus are easily taken advantage of) - assuming that this kind of con man earns something from his scam, and is not just a total loser who'd like to scam someone but cant.
I figure that's in part because the issue is kind of unpublicized. We're all nice people, and if you're writing about such topics, that makes you seem less nice yourself, right.
There's the nice suggestion for everyone. In business, be friendly, make a compliment or two, good for normal business. If you're talking with con man he'll think he built up the confidence, and his mail will lose any resemblance to legitimate business correspondence. The sooner con men go like this, the less time is spent in useless chitchat. After seeing what he wants you can either ignore him entirely or write something vaguely negative to watch the indignation (literally "i'm not a scammer" when you didn't even accuse anyone of anything).

Tuesday, February 16, 2010

The Polynomial :: Overdose.

Setting some parameters in the Visuals tab outside range, serendipitously, makes for some insane effects...

Unfortunately, video capture program freaks out on this abuse, and adds this ugly green area (not present in game).

Monday, February 15, 2010

Big update: version 00m


Better gameplay and new game objects. Now you should shot those pacman-ish shapes (red in HUD) which are trying to eat pretty wiggly things, and protect the pretty wiggly things (bright blue in HUD). You lose points if you shoot friendly stuff.
Fly through blue things for repair (also repairs the blue thing if it is damaged, with score increase if it was not damaged by you in the first place).
New features:
New music from Alex.
Better sound effects.
Side-to-side stereo.
New collision detection framework.
Highly trippy option (in Devel tab) to draw debug info.
OS X users, rejoice! Option to disable OS X's built in nonlinear mouse acceleration. Massively improves playability. Highly recommended to turn this option on (it's in Input tab). It is off by default because I'm not sure what it would do to a trackpad.
Fixed crash when switching to fullscreen under Windows.
Fixed some rendering issues on OS X.
Shows icon in windowmanager on Linux.
Fixed a couple audio bugs.
Minor improvements: Less screen clutter.

Monday, February 8, 2010

Installing Polynomial in local mac shop

I visited local mac shop and installed my game's demo there :-)
The testing results: Works perfect on iMac with NVidia 9400 GT 256MB and 1920x1080 display resolution, the framerate when maximized is around 30 fps, but controls are still very smooth and responsive. Though, I had trouble actually playing it because of mac's mouse acceleration curve, which is less than optimal for mouse-joystick controls. I do not know if it's just result of my dislike for accelerated mouse or affects everyone; I'll try to add option to disable mouse acceleration ingame.
Also, the new Apple's mouse is sexy, but does not permit pressing both left and right mouse buttons at same time. No biggie, can zoom with shift.

Also, I don't know why, but my game does seem to look prettier on that iMac than on my cheap display. Gosh. Now I'll be wanting to buy expensive display.

Sunday, February 7, 2010

Bugs so far.

0: A lot of issues get resolved by updating graphics drivers.

1: Switch to fullscreen fails on Windows if folder name contain spaces.
Why: microsoft's broken implementation of execv function. execv function takes name of program and list of arguments, then executes the program with arguments. Under any operating system but Windows, that means the list of argument comes into the program as is, no matter what the arguments contain. After all, that's the whole point of passing the list of arguments around instead of a single command string.
Under Windows, the list of arguments is converted into a string like this: arg1+' '+arg2+' '+arg3... , and then, in other place in the runtime, the string is split by ' ' . Meaning that if any argument contains a space, it comes out as 2 arguments. Needless to say, this highly peculiar behaviour is not documented. I need execv for restarting the application on mode change.
I workarounded the bug already but you'll have to wait a few days for the fix because I am in middle of a big change to the gameplay.

2: Old OS X issue. Some people with entry level cheap graphics card (NVidia 7300 gt 256mb for example) combined with dual xeon experience some sort of system hang (spinning beachball of death), requiring them to reboot using power switch.
Never had any reports of such happening on any other operating system, either because it does not happen, or because on other operating systems users tend to understand that if system hangs up like this, that's the system to blame.
One user managed to login remotely into the system and kill game's process, but the OS X GUI remained locked up, clocks not updating (meaning that it's not a keyboard glitch). Which seems to imply that the core of system did not hang, but Quartz (OS X graphics layer) hangs rock solid. Geez. (No credit to Apple for core staying alive, coz the core was ripped off BSD)
The causes unknown, I cannot reproduce it (I don't have that hardware), and WTF are entry level graphics cards doing inside expensive, professional dual-cpu systems anyway? That's just asking for trouble. The driver for cheap-ass card may well poorly support professional dual cpu systems (with 2 cpu chips on board, not just dualcore). In my opinion that's some driver bug which gone unnoticed for ages on OS X due to absence of games with advanced graphics.

3: Linux. For some people something is wrong with audio again, and I'd bet it again has something to do with PuPuPulssssseAAudio[LOUD CLICK] not always working correctly with OpenAL-soft.
Workarounds if you dont want to exorcise the pulseaudio demon:
If you run The Polynomial from console you see "initializing audio" as last words before crash, try edit the start script and add --nosound .
Alternatively, edit
and add
drivers = port
drivers = pulse
drivers = alsa
depending to what you're using.

Actually, I would recommend to remove PulseAudio. Most likely you don't even need it. PulseAudio being installed by default = the WORST thing that ever happened to Linux audio and Linux usability in general. PA may be a greatest thing since sliced bread if you want to play sound from computer A through computer B, but it is far worse than useless on a typical desktop system. It doubles the bloat, and far more than doubles the number of bugs. It is a pre-alpha quality software wrapping around release-quality sound system (ALSA).
I'm far from being the only developer encountering a lot of problems caused by pulseaudio. SpringRTS, the open source game engine which I occasionally contribute to, suffers from same issues. See the FAQ

Saturday, February 6, 2010

Some things in progress

Here you can see new bot type, along with debug-mode view of leafs of space partitioning structure which I've implemented for collision detection.
Pretty wiggling things will be neutral, and these will be eating wiggly things, and growing proportionally to # eaten. Or something like that. And there will be a lot more interaction between things. Also, this bot has some facial expressions.