Development Diaries

captaincabinets's picture

intermission!

Fellow trainsurfers, I am moving my ass interstate (Sydney, to be precise) in pursuit of the three pillars of society: beaches, bitches and a philosophy major. So, I will be MIA like olivia newton-john's boyfriend until I get my computer working, an internet connection, and a fixed address, and not necessarily in that order. Needless to say I will miss this month's KotMK. Also, needless to say, I'll be back, with a head full o' ideas and salt water.

Until then!

Keep the spirit alive, etc.

Pizza Time's picture

Progress in animation (ZSBK)

I've been beavering away at this for the past few days which explains the week or so between updates.

If cabinets and snapman can impress us with their groundbreaking engine manipulation then I guess I will have to impress through animation.

Beholden to my combo animation concept (which looks funny as she's walking on the spot and there's nothing in the background);

The next thing I will have to do is implement it in a way that positions the player at the coordinates of the final frame of each individual sword swipe so that it won't look like it's instantaneously jumping back to where the animation started. It wouldn't be too bad for the first swipe since the sprite only steps forward a few pixels but for subsequent swipes it's going to look damn amateurish and I'd like to have an air of above-amateurish around this game. Also have to adjust the speed of the animations depending on the frames since there's a bit of that in the gif. Not forgetting fixing inputs so you won't be constantly attacking whilst you hold down the attack key, I'd like some modicum of timing in there.

captaincabinets's picture

Holy freaking rhinocerous on a coke binge, batman, we have a KnP ROGUELIKE

...well, more a proof of concept.

But seriously, I present the first version of Krawl! At this stage, it's just a random maze generator. It takes a little while, but it's kinda mesmerising. Linear searching of a matrix has never been so much fun!

This took me some hours. Though I've gotta say, it is one of my proudest achievements in Klik & Play to date.

Next step is making it look like a mad proppa dunjin with rooms and naturalism and all that bebop, but I'm a little spent.

Edit: For those interested, the algorithm is a slightly modified version of part I of this page . That page, in turn, came from the pretty interesting (for the mechanics-minded of you) 300 mechanics page.

snapman's picture

Weekly Updating 2: The Best Movement

Welcome to part 2 in our ongoing series of weekly updates on my experiments with my old friend, Klik & Play. Last week I discussed linked/paired object chains, and their potential application to swing simulations. While I considered using this week's entry for a further discussion on pairing or the advantages of wait-based simulation, I decided to talk a bit about one of the most overlooked object movements in KnP: The Platform Movement.

The Platform Movement is generally looked down upon. It doesn't function well with sprite animations of irregular height and hotspot combinations, landing a jump zeros horizontal momentum, its rudimentary inertia simulation mirrors momentum when the player tries to switch directions, and the wall jumping bug is well known. But despite all this, the built-in platform movement has great potential.

If you've every tried to make a two-player game with the platform movement, I'm sure you've noticed that the "bounce" condition when applied between two platform movement objects treats the slower/unmoving player as a wall. But a simple trick can change that dynamic. One of my recent experiments was to try transference of inertia between platform objects of different speeds. It's simple. Three events. The first tests collision, and object A moving faster than B. If A is faster, B takes its direction, and both object swap speed. The second tests collision, and object B moving faster than A. If B is faster, A takes B's direction, and both objects swap speed. The third event simply tests collision, and results in a bounce. The effect of this (with tweaking) is the ability to unexpectedly shove the other player off a platform, or into a trap.

But the greatest potential I found came from not using the platform movement as a player movement. Set a number of these object to control by an imaginary player 2, and lock player 2 input at the start of a level. When two of the same collide (from being shoved by a player object), "switch position with another object" and the two appear to transfer inertia from horizontal collisions! I've found a few other tricks with locked platformer objects, but I'll probably save them for the next KOTM. It's coming up in about 11 days, I think?

edit1: fixed a few typing errors. Original post was written under time constraints.

Pizza Time's picture

Zombie Slash Bikini Killers, the list-ening

I've decided to compile a list of stuff for the next release, for shits and giggles. Feel free to print it off and tape it to the side of your monitor so you can add exclamation marks next to the features that I neglect to add.

- Sexy combo animations
- Zombies that change attacks/animations based on how much of their
shit gets messed up
- Use hitboxes for attacks instead of that separate sword-trail object
- Hidden meaning that compares the relationship of the zombies and
the claustrophobic urban setting as some sort of reference to the
mental struggle of humanity and their modern day environments
- Puddles of gore that hang around due to the low amount of on-
screen dead people (so no huge swarms like in Dethbus and
Zombie Invasion: the Body Explosion).
More blood+less zombies=more violence!
- Trash and chaossss!!!!

snapman's picture

Potential Controversy

Two days ago I had an incredible idea for a hilarious, but easy to make game. I've spent some time collecting the basic sources for it, ranging from sounds to art, to ideas, to "implementation/translation". There's just one problem with this idea. It is likely to be highly controversial. It's a parody of a well known game series, but with a strong message, that is likely to upset a fairly large group of people. The presentation is pure Stephen Colbert, where I present ideas in an accurate, but self-contradictory manner.

The game would not be fun, for the most part. Much of the humor would come from this fact. But it would be interesting, and informative.

I sometimes wish Glorious Trainwrecks had private messaging. I'd like to ask SpindleyQ if he feels it's appropriate or not. If I find him on IRC, I'll ask him there. If he thinks it would be too much hassle for Glorious Trainwrecks, or not in the spirit of the site, I'll take the idea in another direction: either as a Shockwave Flash game submitted somewhere else, or as an animation on YouTube.

My first instinct was to make the game in Klik & Play, simply because I've been getting to grips with the system again, and I thought it would be a fun experiment. But the topic may be too serious for the light-hearted nature of our community.

Pizza Time's picture

Zombie Slash Bikini Killers

Test release.

Use the arrers to catwalk strut around, Z to give it all some bladed wrist action and C to magically appear more zombies.

In my continued efforts to avoid working on Monster Mashers (and due to a bolt of inspiration) I am now working on what is basically Oneechanbara with a dinky visual style and more exploitive animations. I've laid down the basic groundwork here which I will obviously elaborate on further. Zombies will wander around aimlessly until they approach a 64 pixel radius to you where they will then home in. Slashing them with your sword will cut them in half when they will shortly disappear. Only a maximum of 32 zombies can hang around at once if you ignore the few that are hanging around at the start, slightly more than 32 if you leave those cats be. I intend to enlarge all the sprites but only after I have all the animations done so you'll have to bear with the titchy bird and her dead friends for the time being.

Next version will probably have more attack animations (combos!), blood, zombie dismemberment and my version of the 'tired' animation which is totally different as it involves more ass shaking and breast swaying. Achievement Unlocked: Objectivism Get!

snapman's picture

W.U.1 Addendum

Attached are screenshots from my linked even/odd object pairing tests. There are two shots of the rope/grappling hook test (old version) and three from an attempt using the same idea to generate artillery-like landscapes. (I have it set up to make the ground in the middle steeper than the flatter terrain, in hopes of it generating mountains.)

Sorry about the boring solid-colored research-paper-like graphics, but I am just messing around with behaviors and effects right now.

snapman's picture

Weekly Updating 1: Grappling Hooked

In an effort to help this site grow, I will be giving weekly updates on my various experiments with Glorious Trainwreck's favorite democratized game creator, Klik & Play. I haven't used KnP in 8 years, during which I've learned a fair amount about both programming and game design by making games in other languages, and working towards obtaining a college degree in computer science (the last part being in the last 3 1/2 years). So far, returning to the event-based game design paradigm has felt extremely limiting. Many simple things I could do in more advanced languages are either difficult or impossible to accomplish in Klik & Play. What I've found very interesting, though, is that solving Klik & Play problems rely on both computational, and physical strategies. What would be impossible to do with the built-in object movements can usually be done with numbers, and what is difficult to do with the limited calculation abilities of Klik & Play can be assisted with the built-in movements, or other properties and behaviors of the program.

One of my later projects in KnP was an attempt at recreating the grappling hook, or "Ninja Rope" from the game Worms. At the core of my original design was a platform movement object constantly shooting particles at the grappling hook center point. I assumed that I could measure the distance from the player to the center point by the number of particles not destroyed by contact with the hook. Whenever the number was too high, I would lift the player higher. Eventually there would be some swinging code, changing angles, and everything would work out fine. Of course, this didn't work at all. The player quickly levitated off-screen, never to be seen again.

Yesterday, I took up the problem again. My first notion was to create chained object groups in even-odd pairs, aligning them by hotspot to action point. After a lot of testing various object selection methods (to some rather hilarious and frustrating results), I found a simple cycling scan worked best to build a segmented chain. I could easily manipulate the length by setting visibility cutoffs for chain elements with values higher or lower than the desired length. The biggest drawback to this multi-object line was the apparent refresh rate, due to the cycling update. With only 16 chain elements, the fastest I could rotate the construct was once per 30/100th of a second. I went as far as adding objects to calculate and visualize impulse speed (IE: letting go of the rope), but the results were inconsistent.

Today I plan to revise the system to a two-origin line, by calculating the end point of the chain directly, and drawing the line from both ends. This should effectively double the refresh rate, and thereby the maximum rotation speed. But by calculating the end point directly, the chain becomes not the driving force of the simulation, instead a visual cue. If the visual representation of the chain becomes broken slightly at high speeds, at least the actual positioning of the end point will remain consistent.

I have taken screen shots of this experiment, but I'm not currently at the computer they're on. I might post them later if people are interested in them. Next time I'll either talk about the difference between a swing simulation powered by update wait adjustments vs distance adjustments, or I'll talk about misuse of the built-in platform movement to approximate a limited physics simulation. Whichever people are more interested in. Or I'll post some pixel art. Who knows for sure!

Back in the heyday of Klik, I sometimes called myself "The Master of Useless Effects". I've spent a lot more time on game design balancing as of late, but sometimes it's just fun to make effects. At least now I have a better chance of transforming these ideas into finalized projects!

snapman's picture

Statement of Purpose

While I realize this community is relatively new, it seems a pity that so few people participate in such an inviting opportunity to rapid prototype simple games and quickly receive feedback. Much of the humor of this site comes from the internet stigma of Klik & Play, which can both serve as a retro incentive for creators to return to using tools they had long since discarded (and discover new possibilities), and to deter potential creators with our self-deprecating ironic use of horrendous pre-amateur design. While we can appreciate the unique aesthetic of non-design, it should not be the isolated goal of Glorious Trainwrecks to reproduce the past without recognition of the present. There have been changes in the independent gaming scene. Just because we use a tool from 1994 doesn't mean we must use it as it was used in 1994.

A defense of Klik & Play:
On the surface, KnP may appear limited. And in many ways it is. Events will never be like lines of code, and "Active Object" is not the only class we need. But consider this: Many of the games gaining recognition in the independent gaming community today could have easily been produced in KnP, if not for a few surface details in graphics. KnP could be used to make interactive comedy like "I wanna be the Guy" or "Death Worm". It could be used to make surrealist experiences like "Psychosomnium", or introspective commentaries like "Passage". It could even present political commentary like "Harpooned". KnP may lend itself more easily to comedy, but it gives your average Joe a chance to try to say something with a game.

My goals here on this site are twofold. First, I will use my participation in the KOTMK to experiment with pure game design. I wish to see what new goals I can set for a player, and what new ways I can have the player interact with a system. Secondly, I will begin a Hosted Trainwreck, the purpose of which will be to push the boundaries of advanced KnP event writing. KnP is capable of far more complex things than we think. The Moteur engine proved this. KnP Tetris proved this. Time and time again, people have done unexpected things with a limited palette.

And who knows? Maybe my impression that KnP still holds potential is perfectly in line with the overambitious naive klikkers of yesteryear. If my lofty ideals are doomed to irony, there is no better place for me to fail than here.

Shovel some more coal on the furnace, and sound the steam whistle. This train is on its way.

Syndicate content