Trial and Epic Fail

Ventures of an indie game developer

Drone King Radio

I had so high hopes for that man. Same as everyone else I guess. But Guantanamo, Drones, and criminal accusations cast on Assange, Manning and Snowden has taken its toll on the world. Nothing like reality to get sobered up.

Take this business with the drones for instance. I'm not saying killing with a medieval swords is better. Or perhaps I am. Even though IS kills and wounds a high percentage civilians in heinous ways, what percentage would you say that is? Is it higher than these six indiscriminate 70% civilian butcherings? I don't know. But that is what to be expected when performance of drone pilots is measured in kills.

IS are modern vikings and templars in one: religious fanatics with a blood lust. Vikings were a small minority of criminals from the north who would plunder, murder and become soldiers of fortune (often at competing sides in various battles). Templars would not surrender unless all flags on their side of the battlefield had fallen and instilled great fear in their opponents, not the least due to their religious convictions and disciplined education in violence. But what could spark such a group to come into being?

Many factors, of course. Long-time oppression in Iraq, discrimination, ties with al-Qaeda. And the opportunity when a tyrant falls and a new spring emerges. But perhaps also investment in war of others, invasions in a region where wahhabism was strong, and killing of civilians.

This problem can't be bombed away; I believe the only long-term solution is to build democratic societies with transparency. It's not easy nor completed in a generation, but hey - there is no other option! Right now I guess bombs are the only way to slow the terror down, but US foreign policy must soon change. Maybe it's too late, but the Middle East might be on a time machine headed 500 years back in time. As far as US is concerned, everything after World War II seems to blow up in their faces, from the Korean War to Afghanistan and Iraq I & II. US foreign policy must change - if not voluntarily soon, involuntarily later.

"Make games not terror", how about that? I've been a bit low lately, as you can understand if you've read my previous post. Therefore I've taken a refactoring pause (it's hard and boring to slice and dice a game engine) and started building an old fashioned radio with a higher level of interaction. I'll github the code when I'm done if it's any good. One day of work got me a jukebox with playlists and Swedish radio. Python is still amazing.

Thrice a sinner

He was young and scared shitless. He lied to his mother and told her that he was going for a coffee, but convinced his dad to leave the hospital. He didn’t want to stay a minute longer. He later learned that she’d asked the hospital staff to wait just a little bit longer, as her son and husband would soon return – they where just out for a quick coffee. But the operation had to move forward on schedule, and her family never came back. The operation ended badly and after a few days in intensive care she died.

Four years later his dad could neither cope with with the uselessness of retirement nor the sorrow of his loss. Dying from depression the father didn’t even leave a note. The sick dad strung a rope over a beam in the barn and left his body to be found by his only child.

The son grew up to be kind, gentle and most generous. He could always be counted on to lend a helping hand. But even the best of fairytales must come to an end. Six days ago the son put on his favorite shirt and pants. Now himself ill and overpowered by aged heartrending guilt, he scribbled a note and placed it by the basement door, which he knew his wife wasn’t going to enter for at least eight hours. Then he gathered a leathal doze of sleeping pills, crushed them in a glass, mixed with water and drank. Finally he closed the door on the guest room, lay down in bed, thought his last thoughts of his loved ones and received his final punishment.

Many hours later his wife came home and read the note. At first she looked at it in disbelief. But he had promised! Then the paralysis let go and she cried the name of her husband, while ferociously running through the house. She lunged towards the garage, but no body there. She went into the garden, but no body hanging from the trees. She found his body in the guest room.

I forgive you father, for you have sinned. And we forgive you, for you are still alive. Now let us help you live again. Please don't leave! We love you - now and forever.

Haskell IVL

My miniscule Haskell studies included a workshop which - although interesting - pointed out the all to familiar bottlenecks of sideshow programming languages: the tool chain. Although you can write a fairly advanced game in just a couple of k, it's the debugging that kills the language. Nobody wants to look into the call stack of a recursive language with pattern matching.

On the other hand, who doesn't want a complete OpenGL tree fractal in 32 lines of code? An example from the Gloss 2D library.

Main creates an "animating" window with a black background. Tree is created from a single stump in the lowest level (0), and by rotated, smaller, greener trees recursively down. It looks horrible, but would by horrible to do with that level of control in most languages. IVL it's great, IRL not so much. In this year-old video Carmack himself talk about Haskell:

I looked through the whole thing, and he too advocates strong typing, static typing and tooling. And immutability. Never spent much thought about immutability. Hm. He's right. I should aim for that in my refactoring. Thanks Carmack!

Project planning

  1. Refactor some code to simplify the simple;
  2. Generate roads, estates and vehicles;
  3. Implement game fun: steering, driving, camera, shooting, killing, dying, looting, resource extraction, dumb bots, etc.*;
  4. Simple chat is a must;
  5. Vehicle editor;
  6. Estate editor;
  7. Economy**;
  8. Network infrastructure, security and distribution***;
  9. Managing of user accounts and built stuff;
  10. Keeping and distribution of world data from a master server;
  11. Menus, UX, music;
  12. Port to iOS;
  13. In-app purchase. Limitations, such as time limit per day unless paying;
  14. Testing, refining, polishing, optimizing;
  15. Wait 2 weeks;
  16. Build, deploy, release;
  17. As a gimmick, I'll give away my other games for free. So update, build, release those as well. Peuh!
  18. Go travelling.

* This is where you start to realize that the actual game is only one step of 16, or about 6%. This is also where you make touch controls fun.

** Loot and resources will have to be balanced in an MMO, both to evade inflation and to prevent overly large vehicles. On vehicles and houses/stuff in the yard I'm thinking polynomial cost on dimensions and parts. The dimensions needs to be restricted, or people will build huge, flying penises that will get stuck between skyscrapers, or 10 km tall buildings. The parts would cause bandwidth problems and lag whenever someone decides to put 1M bubbles on the back of their hovercraft.

*** This is the hardest part from a technical standpoint. The other standpoints I don't want to think about (they resemble BDSM to me).

Let's just imagine the vehicle editor. I want to let the player combine any capsule, cuboid or cylinder at any size, angle or distance. Motors, canons, lights, materials. Sky's the limit. Ok, let's not get carried away just yet. But the Lego feel definitely will be there.

Well, I'll start out by treating the above bullets as milestones, and I'll take some time in between each to let it sink in. Nothing has to be perfect, but all parts need to be fun and easy for the user. Even if I epic fail on the Elon Musk part of things, I'm going to feel really proud of myself if I manage to pull this off. But OMG! THAT'S A SHITLOAD OF WORK!!!

And when this game is done, it's not done. There are infinite possibilities: trading, bridges, water, clans, skill system, more weapons, monsters, forests, seasons, day/night cycles... But I still believe that if I make a game that I and a bunch of others will enjoy, it will be pretty fun to build on some more.

The City

I let my previous idea cook for a bit, but realized it would fail on the world itself. I don't have what it takes to build a living world to fly/drive around in just yet, so it will eventually fail on the barren landscape. Terminal Velocity wouldn't work today, even in multiplayer.

The good news is I came up with an idea that will work a whole lot better. Think MMO GTA 1 without people, or possibly Smash Bandits Racing - but really ugly - where you instead can build your own house and vehicle. Your lawn can house a cemetery or a skyscraper. Your vehicle could be a bus or a space ship. Mount canons. Voilà!
There's no way this could go wrong; I have everything I need for hoarders, builders, explorers, socializers and killers.

But exactly how difficult is this beast going to be to develop? Hm. I need two really good in-game editors. A pre-generated, enormous city. The MMO servers would have to be offloaded to the users, because if the game becomes really huge I couldn't afford the server cost. Everything would have to synchronize all the time - including all estates and vehicles. The estates and vehicles would have to be saved on some central database, with user accounts connected. Local caching to reduce network traffic and lag.

Last but not least the gameplay itself must rock insanely.

Something tells me I have some work ahead of me, but I'm a lot more confident about this idea than I've been about any gaming idea lately. Better start working on it before I find a flaw!

Haskell and choice

I'm trying to broaden my linguistics ski11z, but the Haskell literature I've come across so far seems to assume the learning curve is very steep, and to some extent it is. My previous knowledge of Python's functional stuff helps, but I sure can't read real code. But it's kind of dull to read about the type system when it's only sprinkled with very little intriguing shit.

I decided, more or less, what I'm going to do instead of a Tetris clone. A vehicle MMOG! Hm. Building the networking code and infrastructure sure is going to suck, but tech is pretty much only what I've got going for me. I can't build a single player game with amazing content. Hm. Hm. You did see my bird, right. So networking, physics, MMO; that's probably the only way where I can create a game that will entice me and keep me coming back for more.

First I should build some prototype to ensure it's fun. If it is, and I'm pretty sure it is, I'll build the infrastructure. On the plus side, MMO it will allow the omnipresent wish for viral spread to grow.

Here's what I'm thinking at the moment:
  • Generated, infinite terrain; overflowing with caves and tunnels.
  • Vehicles; at least space ships. Possibly tanks. Think Terminal Velocity.
  • Vehicles can be configured in any way. Canons mounted.
  • No rules!!!
  • When a vehicle crashes/explodes, x% of the value will turn up as loot on the spot.
  • Distributed client/server model, placing most of the server load on the users. (Building this is going to kill me.)
  • Master server in the center. It controls accounts, bans; stores vehicles; whathaveyou.
  • Pricing: play x minutes for free per day. Pay to unlock more minutes.
I have a few more ideas, but mostly this is it. It's going to be hell building. But if I manage, this is going to be Ruzzle for space ships! (And I'm going to be able to buy more than a chewing-gum from the revenue this time around. Ahhh. The joy of sipping Piña Colada. Ok. Maybe not that.)

Nice cow... nice cow...

Today when I was out jogging I saw the most peculiar thing: a cow that had hung herself between two tree trunks. It looked as if though she'd stuck her head in, and then slipped with her hind legs down a steep slope. Either she broke her neck or choked, I didn't stick around to check. I ran to the house and told the framer's son what had happened. I bet not a lot of people will ever see that.

I don't usually eat red meat, but perhaps I should have taken a bite to not let it get spoiled. Well, perhaps next time.

About the author

Min bilder
Gothenburg, Sweden