Engines, Names and Evolution - Part 1
Posted on 03.01.08 by Mike K @ 4:51 pm

Over the years, I’ve given names to game engines I’ve worked on. Most of my professional experience has been working on platformers and mini-game collections. Mini-games rarely share much in common, so by engines I’m referring to platformers, or engines for games very much like platformers.

I’d like to start talking about what I’ve been thinking about whilst designing my next engine. I need to set some context though, so I’ll be walking through some of more significant engines I’ve worked on.

Going way back, I really didn’t start naming my engines until after Secret Agent Barbie (Gameboy Advance). I did name my GCC driven Gameboy Advance tool-chain “ATK” for Advance Toolkit, but my priorities eventually changed. As a team we used the interal code name of “Bond“, but I’m sure that was just us wishing we were doing a James Bond game instead. :)

Bond“, like each of my platformer engines before it, was a “Megaman Physics” engine. Megaman Physics are what I call platformers that solve moving characters against static scenery, but do something artificial to solve object vs. object collisions. Pretty much every 2D Megaman games sets you to an injured state and gives you a brief constant velocity opposite your facing direction, followed by temporary invincibility. That meant you could walk right through the enemies after that brief interruption. In retrospect, I’ve started to think Megaman Physics might be superior for playability, but that’s a topic in itself.

Before I left DICE, I was working on a project with a coworker that we referred to as “Brown Box“. The name was a play on the idea of a black box, with a cynical inside joke a handful of us had. The essense of the joke was, if you came in one day and found a brown cardboard box on your desk, you were fired. Pleasant. :)

Brown Box was a 3D R&D project. On my own time, I was working on some 2D physics experiments. My early efforts became the Zooble prototype (with it’s very wrong physics), a verlet testbed Phiz, and a series of further physics experiments adopting such strange names as Popcorn, Cactus, and Canadianese Simulator.

Phiz
Phiz, where my verlet fascination began

Canadianese Simulator
Canadianese Simulator… isn’t it obvious… they’re red.

Destructure was conceived as my “Post DICE” engine effort. The name was chosen ’cause it sounded cool. I left in June 2004, just over a year after making the original PuffBOMB prototype. I left with the intention of building an engine for the PuffBOMB remake (and other projects), and eventually to help out a friend at his new company. I left as quickly as was appropriate, hoping to get a couple months of work on Destructure in. Alas, all I had time for was a couple weeks of R&R, and to start a compo game before I was called upon.

Destructure eventually became the engine for Atomic Betty (Gameboy Advance). I was well versed in classic and verlet physics at this point, and was using that experience to build a low spec cross platform game/physics engine. Beefy goals as usual. We landed the Atomic Betty project, so I re-purposed my design to suit the game. A fun aspect of Destructure is it, for a while at least, it compiled both on the PC (with Allegro) and for the Gameboy Advance. As the project kicked off, the GBA specific code grew so fast, it wasn’t practical (or necessary) to concurrently develop.

Destructure
Early PC version of Destructure. Red boxes are the overlap.

Some technical notes. Objects in Destructure used circles and axis aligned rectangles for collision, though Atomic Betty only used the rectangles. Objects were moved and solved with a bare bones verlet/relaxation solver. The rectangles were actually the 2 corner points, with a pair of verlet spring constraints (width and height) keeping it from collapsing in on itself. No square roots required :) . Solving two rectangles was rather novel. I took the overlap/union rectangle of the two, and used it’s shape to determine how to solve. If the overlap was wider than tall, I’d push them each half the height up/down out of each other, and vice versa. Unlike moving a center point, this actually squished the rectangles. Then the next frame, the springs restored it’s size to normal.

The next engine’s name and story is a little complicated, so we’ll save that for next time.


Filed under: Technobabble and PuffBOMB and Zooble
Comments: 2 Comments

June, can’t forget June
Posted on 06.23.06 by Mike K @ 9:38 pm

It\Well, I’m not going to let the month go by without posting something. After all, I have been doing much stuff. Not so much round up, but many many other things.

The project progresses. We’re busy preparing a pitch-able playable of the game that we’ll be pitchely pitching to potential pitch-able people pretty pitching soon. I’ll have less riddles and more to say about that in a few weeks.

Also, I’ve silently (and finally) put together a MacOS X version of PuffBOMB. Sadly, it’s only for Power PC based Mac’s running Panther (10.3) or better. I don’t have an Intel Mac, so I don’t know if it runs under Rosetta. I’ve also done some minor bug fixing with the Windows version (Dual Core friendly now), and made a slight improvement to the background (subtle teaser to your right, can you tell the difference?). This was inspired by and for something I’ll talk about soon (NDA).

As for other fun things, I’ve been toying with videos! I recorded gameplay demonstration movies of the infamous PuffBOMB, and one of a other lesser known prototype game of mine, Zooble.

Zooble - 2004 Game Prototype

Classic PuffBOMB - 2003 Game Prototype (revised in 2005)

I’ll probably encode more historic game videos later. I do have a couple prototype progress videos of the current stuff, but I’m sitting on those until we sign something.

And now I’m off to see if I can safely upgrade and “fix” my spam problem here. I temporarily disable commenting,that way I wouldn’t have wake up every morning and delete Viagra, Home Insurance/Mortgages, Casinos, Poker, and whatever other crap I’ve been manually filtering. Manual sucks.


Filed under: Stuffing and PuffBOMB and Zooble
Comments: None

Too Normal is about Mike, a kid with a healthy game making history.  From a youth of Indie Game development, to game industry code monkey in '99, to the adventures of establishing an Indie Games studio in 2005.

The Too Normal project is an archive of notes, doodles, mutterings, and meticulous analysis of seemingly inane things that peak Mike's interest.

The opinions expressed here are his own, and are not the opinion of any companies he may represent, or partners thereof.

Current Projects

Worth mentioning
Classic PuffBOMB (Updated Protoype) Atomic Betty GBA Zooble Prototype Barbie Gotta Have Games PS1
Polly Pocket: Super Splash Island GBA PuffBOMB Prototype Sheep Strike Prototype Secret Agent Barbie GBA
Diva Starz GBC Jump Start: Dino Adventure GBC Emperors New Groove GBC Hoyle Card Games GBC
Syko*War Poke Da Mon and Combat Soccer (GB/GBC) Islandgates Murmur's Dungeon

Main Menu
Home
Stuffing
The Business of Things
Scribbles
GameTunnel
Technobabble
PuffBOMB
IGF
Opinion
The Spider
Nostalgia
In The Media
Zooble
Fun
Ludumdare
Sound
Design Review
Design
VST
Ballistic Force

Search

Mike on the Net
Sykhronics Entertainment
MobyGames (Incomplete)

Project Sites
PuffBOMB.com

Other Projects
Ludum Dare 48 Hour Compo
GameCompo Mailing List

Previously
GameTunnel
Big Blue Bubble
Digital Illusions

Words
Code Dojo
Digital Sailor
Dan MacDonald
DrPetter
Free Lunch
Gee-off Howland
Graham Goring
Hamu Journal
loomsoft
Mark Fassett
metablog
Phil Hassey
qatfish
Russell Carroll
Screaming Duck
Stub
Tiger Sauce
Tim!

Credits and Copyright
© 2005-20xx Mike Kasprzak
No animals were harmed

Powered by a WordPress
Theme from a jive turkey

Articles
  • *About Mike
  • *Indie Softography
  • *Retail Softography
  • Game Prototype: Zooble
  • Inside Sykhronic Studios

  • Archives
    June 2008
    May 2008
    April 2008
    March 2008
    February 2008
    January 2008
    December 2007
    November 2007
    September 2007
    July 2007
    June 2007
    May 2007
    April 2007
    March 2007
    February 2007
    January 2007
    December 2006
    November 2006
    October 2006
    September 2006
    August 2006
    July 2006
    June 2006
    May 2006
    April 2006
    March 2006
    February 2006
    January 2006
    December 2005
    November 2005
    October 2005
    September 2005
    August 2005
    July 2005
    June 2005
    May 2005

    Recent Entries
    Broken Record (i.e. Ludum Dare 12)
    More Ludum Dare News
    Ludum Dare #11 - This Friday
    Engines, Names and Evolution - Part 3
    Engines, Names and Evolution - Part 2
    Engines, Names and Evolution - Part 1
    Sugar Magnet
    Welcome to the Future (AKA 2008)
    Retrospective?
    Ludum Dare 10 - Dec 14th Weekend
    Technical Difficulties (not really)
    The "New" Project, Part 1
    The "New" Project, Part 0
    Dan's the man
    AO got you down? Bring down Unrated.

    Syndication
    RSS 2.0
    Comments RSS 2.0