Development Diaries

SpindleyQ's picture


My non-KotMK wrecking time lately has been going into a SECRET PROJECT.

The vision? A game-making tool, built to allow realtime collaboration between designers (think Sauerbraten but 2D and with K&P-like rule-editing), and useful collaboration between designers and programmers (the idea being that programmers can tweak the editor and scripting language to accommodate the kind of game you're making).

As you can imagine, this, uh, isn't a small project. But I won't be happy until it exists, so I'm working on it. There's nothing up on the screen yet, unfortunately, so I don't even have a cool screenshot to show off. I've been concentrating on the data and scripting models, instead. You can comment if you're interested in helping out, though.

Anyway, remember: SECRET.
Don't tell anyone.

qrleon's picture

Snappy Step Simulator

I tried to make a game where you control the rotation of the main character's two stick legs, but the end result was crashing. So I changed it to hopping and alternating feet.

Shift will make you move slower horizontally. Don't let your rocket arms bump into anything. Your feet check constantly for active object overlap, so sometimes it's possible to run across stretches of thin or tiny blocks.

I, uh, need to find a replacement for K&P that doesn't crash. I'm very familiar with the K&P/MMF system and maybe this has been holding me back from switching? I'll look into Game Maker.

qrleon's picture

Tales of the Magic Bubbles


I started with the idea of missing an enemy with your shots being as bad as being hit by one, and somehow ended up with this game. K&P began to crash whenever certain objects were destroyed, so I made the enemies move off-screen when killed.

If you die, hit F2 to restart. press 1 to remove the game-crashing enemies if they're giving you trouble.

EDIT: oops, wrong version.

SpindleyQ's picture

CGA Quest


CGA Quest is my entry into the 11th Ludum Dare 48-hour programming competiton. The theme was "minimalist", so I went with a hideous 4-colour aesthetic and glorious 1-channel PC speaker sound. Overall, I'm quite pleased with how it turned out. I also used this incredible 48-hour time expanse (a dude can make 23 games in 48 hours, man!) as an excuse to give Game Maker a try, which was pretty positive overall. Game Maker and I, we'll be spending more time together in the future.

Anyway, I'm very interested in your feedback. Was it actually interesting figuring out what you had to do? Did the strict timing requirements drive you to quit in frustration? Isn't that ending a total letdown?

Pizza Time's picture

Sunday Balloon Trip

I was unhappy about not being able to finish Sunday Balloon Trip in the two hours I had so I am going to expand on it until it is finished. Yes, this will be a game I will actually finish making! Or not, let's not jinx it now.

Here is a screenshot of what I did over the past hour. As you can see a lot has changed with the graphics, the old house has been changed into a Balloon Research Facility for instance. What's not in there are the features I have planned like clouds, wind currents that blow you along and little things in the background that fly past you on your peaceful ballooning trip. Oh damn, I am making it more ambitious when I told myself I wouldn't.

snapman's picture

Return of Weekly Updating: do that again

Just when you thought I wasn't going to be updating anymore, a new update comes right out of nowhere!

A while ago I read an interesting article about the indie games scene, and the creation of what they referred to as "a new genre of game" that had arisen entirely due to the efforts of independent developers. While I think it can trace its roots to some rather big budget games first, it is an interesting notion: The origin of the time manipulation game genre. While it probably traces directly to the Prince of Persia commercial title "The Sands of Time", the concept has evolved a fair bit past simply rewinding time, fast forwarding time, pausing time, or perhaps the real father of the genre, bullet time. Now games like Cursor 10 and The Misadventures of P.B. Winterbottom have multiple timelines: parallel, intersecting, reversed, accelerated, and slowed all together. It's a very interesting concept, allowing for a lot of creativity on the part of the player, as to how the recorded movements are arranged or manipulated.

Which brings me to tonight's topic: Recording and playing back motion in KnP. The mechanic is something new, but that doesn't mean you can't make it in something old. My first thought on this was a description I read once of sending information between multiplayer game clients. It read something like this: "You don't just send the current location of all the players, you also send their direction and velocity. That way the computer can fill in the space between updates by moving the character according to the most recently sampled velocity and location" While taking a look at the path motion in KnP, it looked a lot like the principle from the motion sampling for multiplayer games I'd read about. But there was no way to manipulate a path object during a game, I saw a way to recreate it. If I could draw a path of objects, and have another object read them one at a time, I could record and play back motions.

Using objects for path nodes was necessary because KnP has no support for arrays of any dimensions (except 0!). But I had to make each object numbered, and store a speed and direction. I finally decided I didn't need to store a direction, since that would be taken care of by the position of the next node in the path. So I used a simple trick to number each objects alterable value A immediately after creation, along with storing the recorded object's current speed. Quickly I had a path of numbered objects with stored speeds. It was just a matter of waiting 5 seconds, and adding an object that would start reading at the beginning of the path, changing its speed as it read. The following object very nearly matched the motion of the recording object, with little difficulty or error.

I chose to destroy the path as it was read, but it would be easy to reuse the path as in TMOPBW, or reverse along the path like in sands of time. Or even record multiple paths, by setting the alterable value C!

Attached is the result of my experimenting. The first stage uses the mouse, which is capable of achieving speeds in excess of the KnP maximum 100, so it's not perfect. The second stage records the movement of a platform movement object, with one-way collision between the player and the echo. Press SPACEBAR to switch between the examples.

(It is important to note that this technique is better than constantly creating objects, and repositioning the trailing object at the oldest one. This trick is much smoother by simulating interpolation between points by the recorded velocity. Also, this technique allows for more complex timeline manipulation that this short example file demonstrates)

Pizza Time's picture

ZSBK test 2

This version features zombies that have health states and magically disappearing torsos because I haven't added the objects for those yet. That's not even half the stuff I had in my list but I really had to release something to make it look like I am actually working on it. There's a fullscreen mode in it though, which makes the game look hella 8-bit, almost like an Atari game. You'd think that was what I was aiming for, what with the stick figure characters and all.

kirkjerk's picture

the revenge of the gods trilogy

VIRTUAL SISYPHUS! Drag the boulder to the top of the mountain!
VIRTUAL TANTALUS! Reach for the delicious grapes, or duck into the pristine water to slake your endless thirst!
VIRTUAL PROMETHUS BOUND! Drag the bound firebringer away from the eagle that seeks to consume his delicious liver

snapman's picture

Weekly Updating 3: Turn, Turn, Turn.

I have an incredibly good excuse to not update this week, but I'm going to go through with an update anyway. It's going to be short.

Last week I got a comment linking me to the KnP tips & tricks thread here on Glorious Trainwrecks. One of the last posts in that thread was about making an object turn towards another object or direction. I remembered asking that very question of the KliK Kommunity a long time ago, and receiving almost the exact same answer: later Clickteam products have the direction calculator, which solves the problem entirely.

Not content with this, I decided to finally solve that problem in KnP. I got out some paper, sketched out the problem, and found a simple solution. I knew there were 4 situations. The first two were obvious: If the target angle is greater than the current angle, add to current angle (and vice versa). The second two were difficult. Under what situation should you subtract to get a larger number, or add to get a smaller number? What was the difference between moving from 12 to 20, and 4 to 28? The difference was, unsurprisingly, the difference. Once the absolute value of the distance between current and target grew greater than half the circle, it made more sense to loop around 0 instead. A bit of figuring, and voila! Turn Towards accomplished in KnP.

Note that this technique alone only works for one object, not a swarm of objects, because direction retrieval doesn't know which object pair to select from and give to. But that's a whole 'nother article. "Object selection" is one of the most confusing aspects of KnP event writing. Sometime I'll talk about that in greater detail. But for now, here is an example of a basic turn towards effect. Enjoy!

SpindleyQ's picture

Serenade: A Klik & Play Love Poem

I made my wife a Klik & Play Valentine on the bus yesterday. It's like Rod Humble's The Marriage, only the marriage depicted doesn't suck, and there's helicopters. Thought you guys might appreciate it.

Syndicate content