Trial and Epic Fail

Ventures of an indie game developer

Resistance if (not) futile!

I just came up with an interesting programming project I think I'll dedicate a few hours to. The parapsychology researchers often say that Wikipedia is broken and that pages about themselves and their research have been hijacked. There's not much I can do about that, but I could at least point out the facts by scraping the editors off of the internetz and do some meta-analysis on the compilation.

I'll start by manually compiling a small list of pages of interest. Then I'll make a small Python script to scrape the editors and cross-check against some type of list of skeptics. If more than half of the edits are from skeptics, well, that should at least have some evidential value.

The hard part might be compiling the list of skeptics. I'll kick off with a manual investigation, fun!

Edit: after a couple hours of reading Wikipedia edits, I've realised that it's very hard to do anything of this kind unless the list of skeptics is compiled manually. That list would be very opinionated and to no use of either side. Flip. Table.


A basic introduction to how noisy telepathy can work in the normal world:

I made a small precognition test game in Trabant. It's sort of like the old Bard's Tale, but with even worse gfx:

You press left or right key and the computer will pick a random (PRNG) direction and turn+move in that direction. I got statistically significant positive results on some trial when I concentrated, but on average I'd guess I'm just at chance level. I'm no psychic.

Programmer Wars done

I completed the mini-lunch-game for programmers who want to challenge one another in a game of tank tweaking and hacking. Quick and dirty and as much cheating as you can muster. This is what it looks like:

Each programmer runs his AI on a his own machine and has three tanks each. The tanks are made up by the awesome ASCII-to-3D Object feature of Trabant (and using a capsule for the canon). The tank simply points in the direction it's headed. One shot can be fired every fifth second from each tank. The playing field is 250x250 meters, you fall off you die.

This is what a very simple AI code looks like:

You have an update function and a set of tanks. The tanks are located in progwar.client.my_tanks, the update function, def update(blips), gets a number of input "radar blips" containing last known position of an enemy (or a canon ball, type is included). The blips are updated once per second, but the update function is called at 30 FPS.

Remains to be seen if it's any fun.


My Apple TV 4 arrived today along with my developer credentials for the bargain price of 10 SEK (~$1). Apple is eager to get developers to build stuff for tvOS so they get the pull they need to market it. I might port NSAgent; its controls is simple enough for the touch surface on the Siri remote I guess. But first I need to download 6 GB of junk updates from Apple (I never keep my shitty Mac on).

While I hate the useless interface on Mac OS, I think iOS is brilliant. Hopefully they've managed to pull off a great feat and make an equally good one with tvOS. I haven't even fiddled with an Apple TV 3rd Gen or lower before so this should be interesting.

Apart from that I've finished most of the tiny game I've been working on lately, "ProgWar" or "Programmer Wars." I settled with an API where you get updates on opponents' positions every X seconds. You should be able to build an acceptable AI in perhaps fifty lines of code. I'll challenge my colleagues for a programmer duel TO THE DEATH!!! as soon it's done. Another 5 hours possibly (I've spent probably 20 already), as usual about 3.14 times longer than I thought. Somehow everything gets better on small projects. Note to self: Dodge the Outrageous Grind on Computers Relentlessly And Perpetually!!! DOGCRAP.

Many pages in

The research for my PSI book is going well, and it's raised a ton of interesting existential questions. But a couple of thousand pages in, it's becoming more and more tedious. The subject matter is of course immensely interesting and different from what I've studied the previous 38 years of my life, but gradually I'm getting more and more interested about the Behind the Scenes. Internet is full of theories and methods, but it's hard to deduce the truth from logic using this limited brain. Fortunately there seems to ways around that.

However, I now need to do something else for some time. Preferably game programming. The game I have in mind is a super-simple AI-programming-competition game. There are plenty of such around, such as those over at The AI Games, Vindinium, CTF-competition and hordes of others, but I'll think I'll build something easier and more fun.

What I'm thinking is a super-ugly 3D tank game based on Trabant (my game prototyping tool), with one dedicated server and a bunch of clients for visualization and team instructions. The best part is that we could play this at work, me and the colleagues. And I will win! :)

Each client will get X number of tanks spread out over somewhat undulated terrain. Each tank can drive(forward,turn) and shoot(angle_xy,type). The number of different types of shots may cause a little bit of strategy; what I'm thinking is that there might be damaging shots, shots that reduce the speed/acceleration and shots that reduce canon range.

The feedback to each client on every "pulse" (not frame, think radar) will be a position and type ("tank" or "shot") for each object. You must then deduce which positions are your tanks, what directions the others are headed, and finally what to do about it.

The canon balls will be fired in a parabola with fixed muzzle velocity, so rudimentary physical knowledge is required. A harder problem will be team movement and how to avoid fired shots.

On the game engine side, I think I'll get away fairly easy as most of what's needed is already included in Trabant. I can create physical 3D tanks very easily, Python has straight-forward socket support (basic UDP will do fine), propagating the game state is not hard, keeping track of logins (oh-my will the colleagues try to cheat!) is very easy and making some type of rounds with statistics for each is also very simple.

Enough already, get to it man!

End of 2015 free HTTPS will be available to all

Not a second to early, thank you.

Hoarse game

I just made the foundation for a game prototype, Hoarse, in Trabant:

It took me 30 minutes entirely without gameplay just to place the pieces and get them proportional in the right way. I'm probably on the wrong side of the advertised "prototype a 3D game idea in an hour," although not far off the mark I suspect.

My son's  idea is to make an entirely ridiculous game about a horse that farts, barfs, bites and moves like a caricature of a stuffed animal. It just might work.

About the author

Min bilder
Gothenburg, Sweden