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

Sugar Magnet
Posted on 02.29.08 by Mike K @ 11:29 pm

February 29th! How could I not say something today.

Just what to say is the question.

Blogging in the past, I’ve noticed the tendency to want to turn the blog in to something. A community, articles and subjects, talk-back, and all that stuff. And that’s great and all, but it’s a lot of work for not much return. Traditionally to make ends meet this way, you plaster your blog with advertisements, or actively soliciting contract work. No thanks.

Any readership I may have either hits me once a month, or watches me via RSS or an aggregator. And hey, that’s great. I’m impressed that I have a readership :) . A project shrouded in half-ass secrecy isn’t great content. Pulling away the curtain entirely isn’t easy to do, at least until the perpetual “later”. So instead, this blog collects occasional rants and the odd picture.

Exciting.

Not really.

I’m not ready to promise a change or anything, but I have a bit of a multi-part rant brewed. I’ve been putting a lot of serious thought and planning in to my next project, and in several ways it’s already started. I want it to be blogged right and from the beginning. That just happens to mean I start now.

So tomorrow, March 1st, I’ll be at least posting part one. I’m not delay it for suspense or anything. The rant I’m staring at is long, technical, and self referential. The type of rant that’s really been holding me back from having more to talk about. For cohesions sake, I just want to sleep on it to be sure it all sounds right. It’s looking like it’ll be between 3 and 5 parts long.

Then, in theory, I can finally start talking in the present. Wow!

I want to start walking through my thought process of architecting “the next“. Where I’ve made mistakes, and so on.

Heavy technical, just like mom used to make.


Filed under: Stuffing and Opinion
Comments: 1 Comment

Welcome to the Future (AKA 2008)
Posted on 01.01.08 by Mike K @ 9:30 am

Start the year right ‘eh?

I think each year I’ve had a blog, I’ve told myself “Yes sir! This year we’re going to blog more often… and it’s going to be great!”.

I’m not crazy enough to think that’s going to happen, but there’s always the intent. :)

- - - -

Some fun code I toyed with over the past couple weeks, completely unrelated to each other. The VST SDK (audio instrument/effects) and the WinTab SDK (tablets). I know I’m an oddball programmer, as I prefer MinGW (GCC) to Visual Studio. That’s totally asking for headaches when it comes to non open source stuff, but I don’t care. :D

As expected, neither of these SDK’s ship with a MinGW or Cygwin friendly build option (though VST SDK is portable). As far as the effort in getting them working, I gotta say, thumbs up to Steinberg, thumbs down to Wacom.

VST wise, I got started on a VST port of sfxr. I have the sound engine working both as a sound effect generator, and a key’d instrument, but the real meat of sfxr is in the GUI. So if I manage to discover another day of VST inspiration by April, we could have some Instrument + Sound Effect integration for LD11.

Tablet wise, I really just wanted to know exactly what was involved in adding tablet support to an app. Apparently Windows API coding, and lots of obscure searching. :P

- - - -

Ludum Dare #10 results went live Sunday night. 52 submissions. They can be found here, and the entries can be found here.

Phil Hassey, you rock for hosting it. :D

Ludum Dare #11 is scheduled for April this year. The exact weekend, we’ll figure out some time before then. If you want to chime in on weekend suggestions, leave us a comment. There’s mutterings of a 10.5 between then and now. If you’re interested, get on the mailing list, and we’ll let you know if it happens.


Filed under: Stuffing and Technobabble and Ludumdare and VST
Comments: 5 Comments

Retrospective?
Posted on 12.10.07 by Mike K @ 8:06 am

Yeah, sorry. I wanted to do detailed commentary of The Spider stuffs, the in between stuff, and get in to the new PuffBOMB stuff, but it looks like it didn’t happen. I wrote an outline and drafted a couple parts, but I wasn’t happy with the results.

“New PuffBOMB” has been down to just me since October. The artist finished his work, which turned out great. Richard got a job, and has been unavailable to help since. So, I’ve had to make that adjustment, which has been keeping me busier than I’d hoped.

The 2nd video of the retrospective, circa March 2006. It’s actually been online for some time. Just ’cause I don’t like my commentary, doesn’t mean you can’t watch it.



(Click the last button on the top for fullscreen, 2nd last to toggle scaling)

Invisible object in the way. And yes, in case it wasn’t clear, I did not continue with this, the ball+rope game (AKA: The Spider).

Prior to really diving in to doing a “physics game”, I really did think heavy physics were the way to go. But a number of them have come out recently, and after playing them (and my own), the novelty has really started to bore me. If it’s not bad controls, it’s level/puzzle content ‘en mass. 100 levels, because you’re supposed to have 100 levels. Personally, I just don’t care to play them anymore.

Mind you, I don’t play a lot of games anymore.

This wasn’t my reason for switching from The Spider back to New PuffBOMB. After all, it’s just as much a physics game as The Spider was. If anything, it falls in to the new gaming cliché of an Incredible Machine clone with physics. If the Wii isn’t bombarded with these, I’d be surprised.

Switching back to PuffBOMB was one of economics. The Spider was really just a step in the development of a physics engine. The game concept was undeveloped, and lacked an art foundation. As much as I’d have liked to do art, beyond character designs, I’m not all that useful as as artist yet. Every prior game I’d worked on was low resolution, pixel art driven. This project I wanted to be HD ready, with vector/flash graphics. That should have been reason enough to expect outsourcing the art. With my limited art budged, there was no room to take chances on an undeveloped concept. Sure, there were ideas, but nothing concrete enough.

So, PuffBOMB it was decided. This was around October/November of 2006, about a year since Richard came on board to help me out. Take the original game, HD it, and do more with the idea.

We had our ups and downs. We’ve made mistakes. But I do think we still ended up with something interesting.

I suppose the first project always seems to be the toughest, even though I’ve made games before. I keep telling myself I know exactly how to approach the next one. But right now, this one is the important one.

Development continues…


Filed under: Stuffing and PuffBOMB and The Spider
Comments: 1 Comment

Ludum Dare 10 - Dec 14th Weekend
Posted on 11.29.07 by Mike K @ 1:29 pm

Ludum Dare #10, December 14th-16th 2007. Make a game in 48 hours.

Updated rules, after all these years. If Geoff doesn’t have the site functional by the start time, Phil Hassey’s hosting. For the latest, see:

http://www.imitationpickles.org/ludum/

Also, if you’ve entered a previous compo, do stop by and add your game to the blog.


Filed under: Ludumdare
Comments: None

« newer posts previous posts »
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