Wednesday, December 9, 2009

Twitter finally does something useful

After I found out Toasty was on Twitter, I decided to berate him about it.
However, I did find 1 (one, exactly one, no more) thing that Twitter has done properly.

My name is on that list, about halfway down. Suck it Toasty.

Tuesday, December 8, 2009

Open Source SMTC Level Editor? It cannot be!

Following some experimenting with Mercurial at my workplace, I've done some toying around and am now using it for the Level Editor. What does this mean for you? Well Google Code hosts Open Source projects and has support for Mercurial, so where better for me to try it out?

You don't know what Mercurial is? Find out!

And, then, if you wanna give it a try, feel free to check out the editor source code! The Google Code project is located at For those who want a direct link to see the source, here you go. For checkout instructions, please click on 'Checkout' just below the Source tab.

I have tested the project file with Visual C# Express Edition with the XNA Game Studio 3.1 package installed. However I have not compiled it, but as far as I know it should be good-to-go.

This post, like my previous, is likely to fall on deaf ears.
Maybe if it doesn't we can convince Salty to make his Open Source =P

Edit: Oh. And I signed up for Twitter. Follow me if you want.

Monday, November 23, 2009

Ohh no another damned readme!

I've updated the readme to reflect the changes made in the latest version.

As always you can find it at

Sunday, November 22, 2009

The One That Sounded Good

Today's release has been coming for two freakin weeks but I'm sure you guys will like it.

This one includes music!

Yes yes, hold your applause.

Here's a quick changelog. And by quick I mean not quick at all.

Music and Sound has been added. I've gotten all the sound effects I can think of, and they're in ogg format in the Sound folder. Might be missing a few.

The Room file format has been updated to version 1.2. As before, the Editor is backwards compatible but SMTC is not. Please load your custom rooms in the editor and save them back out to update their format.

The Editor now supports Objects. Objects consist of Enemies, No-Clip, Explosions, Items, and the Samstart object. It also has the objects that change the level's music but those don't work yet, as I only have the Brinstar music anyway.
Note: You must place a Samstart entity in your level to cause the Brinstar music to play. If you load into a room with no Samstart, Samus will begin at position 64x64 (top left corner) with no music and no intro music.

The entities are pretty obvious. No-clip makes the tile unclipped and can be moved through, the explosion makes the block a breakable, and the items/enemies are, uh, items/enemies. Note that placing an item inside a block will turn that block into a breakable and place the item inside of it.

SMTC itself has received several upgrades.
Gerutas and Sidehoppers now work. The existing maps do not have any in them but you can place them in the editor.
A new program called Detector.exe is bundled. Running it will cause Allegro to see which screen modes your graphics card is capable of. It sometimes hangs until you press Esc a few times, not sure why. Be careful when using it.
Several rooms have been fixed with their minimap problems. Several remain unfixed.
You should no longer get jumped by a Geemer when opening some doors.
Some of the items have been placed in their respective spots in Brinstar. Since Norfair is not done yet that's as far as you can go.
Palettes have been improved. There are now 4 palettes, activated by 1 2 3 and 4.
Press 5 to give/remove the equipment. Some rooms in BrinRed were designed for the High Jump Boots so you might need those to get around. Alternately, look around for breakables!
Hidden items have been implemented but only in BrinRed (since Metroid didn't have a lot to begin with). Find them all!

Toasty said he'd post a readme for the editor later on, so be on the lookout for that. Comments or complaints go in the comments section. Please also tell me about bugs you find.

Download it here.

As always, the latest SMTC Release can be found at

Thursday, November 5, 2009


This is a patch for the latest SMTC version. It's a new .exe, so overwrite your old one.

I've applied this patch to the SMTC_Release_Latest as well as the 04112009 release.

This patch should fix the camera scrolling error that some have been reporting.
To find out which screen modes you can run the game in, download this utility.
The utility may need to be run more than once as it sometimes hangs for reasons uncertain, but it will attempt to set all the screen modes and report which ones work and which don't.

Wednesday, November 4, 2009

The Post that Seems Impressive but Really Isn't

Today we have a version of SMTC that seems to be leaps and bounds ahead of the old version but, in fact, is not. Okay so it is, and I'm being humble.

The latest version can always be found here.

What's new? What isn't!

Minimap support has been implemented, and if you press ENTER you will be taken to the subscreen (since Metroid had none, I've used the Super Metroid template) you can view the full map. Sadly, there's no support for scrolling on this map, but there will be, I swears!

Press W on the map screen to switch to the inventory subscreen. Press X to enable/disable the item your cursor is on, and use the arrow keys to select items. Press Q to return to the map screen. Remember to press 4 to enable the improved loadout.

Full maps have been made for Brinstar Red and Brinstar (The one from Metroid) and work in conjunction with the subscreen. They can be found in the Images\\Maps folder if you're curious.

Full support for Enemies has been added. And by "full support" I, of course, mean the bare bones minimum. Rather than design a seperate mode, I told Toasty to turn them into tiles. So simply select the Zoomer tile in tiles mode and, uh, place the Zoomer! Note that Gerutas (the purple one on the right) don't work.

The Editor now supports DOORS! As a result, the Parser, Deconstructor, and Shell programs have been removed as the main editor now does all their jobs (more or less).
Rather, I have included a program called Updated.exe. This will update all your custom made .mcl rooms into the new 1.1 format (which supports the minimap). According to Toasty, his editor is backwards compatible but SMTC ISN'T.

Brinstar is finished, including enemies. A few things still need to be fixed (like making the pipes in some cases unclipped) and the minimap isn't perfectly aligned yet, I'll fix that at some point. Also the room to the Ice Beam isn't there for reasons I cannot recall.

More rooms have been added to the Brinstar Red series. The blocked off door in Brin0 is blocked off for a reason.

Water has been improved and looks better in pretty much every way. It should also no longer slow the system down by drawing it.

You can now select screen modes and color depths in the CFG file. Change the line
Cvar.screen_size 0 to change it.
0 is 256x256, the bare minimum.
1 is 512x512
2 is Fullscreen.

Also, you can change the color depths with cvar.color_depth to 0 and 1
0 is 24 bit
1 is 32 bit
As near as I can tell they're compatible, but I'd recommend leaving it at 1.

If you find the program cannot run a particular screen size, try changing the color depth.

Lastly, improved a few things concerning camera bounding.

Known Bugs:
Running the game, then quitting back to the main title, then running it again, causes the room to scroll back to the start. It looks cool, but it's not supposed to do that.

The minimap doesn't sync with some of the rooms in Brinstar. Cause is known, but it's a pain to fix.

If you have a bug concerning the editor, please check here. This is a google thingy Toasty uses to track bugs.
Also note that the current dependencies of the Editor are
.NET Framework 3.5
Microsoft XNA Redistributable 3.0

Post stuff in the comments. I tell you to do that but whether or not you do is unaffected. One might wonder why I do that at all.

Sunday, October 25, 2009

New items and improvements update

Today we add a bunch of useful items to the game as well as fixing the older physics bugs that were giving me a headache. Here's a changelog:

Most of the game's items have been implemented, including extra items like the Gravity Suit. So far, Space Jump, High Jump, Long Beam, Wave Beam, Ice Beam, Varia Suit, and the Gravity Suit are ready. To activate them in game, press 4, and press it again to deactivate.

Samus now runs at a speed closer to the original game's speed.
Samus now jumps the same height whether she is moving or not.
Samus's jump is now about the same as the original, and higher with the High Jump Boots on.
Water has been added but has no impact, it just looks kinda cool.
Backgrounds have been added, or at least support for them has. Since the original had no backgrounds, this feature may or may not stick depending on how much I care about it.
IPF and ISF files have been upgraded to a new version. Please don't use the old version or the game will crash on startup.
Several new sprites added, some not implemented yet.
Projectiles have been updated and no longer fire past the screen's edge.

As always, the latest version of SMTC can be found at
or by clicking here.

Leave comments if you have questions.

Also: I need suggestions on what exactly to do next. Should I concentrate on adding the remaining (handful) of enemies, or work on the newer content, or what?

Saturday, October 10, 2009

Update from the 08102009 Release

This is an update from the previous version, SMTC_Release_E_08102009.rar .
Thanks to Sudtrap and AlexR for noticing a problem with the IPF/ISF files.
The patched version should run correctly on all systems.

Metroid: A Primer


Executive 1: Hey I got an idea. Let's make a game about exploration with an excuse for a plot and lots of frustration!
Executive 2: Your plans impress me, as does the size of your penis.
Executive 1: I am impressive.

Metroid 2: Return of Samus
Executive 1: That first game was a big success, let's do it again but for the gameboy. Grainier, with less color, but somehow more gameplay.
Executive 2: You could satisfy an elephant, or a whale, or both at once.

Super Metroid
Executive 1: It's been a while since we made an actually good game, how about we follow up on that last Metroid game we made.
Executive 2: Penis size joke!
Executive 1: This wears thin quickly.

Metroid Prime
Executive 1: Prequels are "in" this year (and every year following and preceeding it) so let's make one.
Clown in a Suit: I can juggle 5 balls at once!

Metroid Prime 2: Echoes
Executive 1: I fired the clown, so let's make one of those trendy Dual World type games. Like most sequels to prequels, it'll be harder and weirder, but still somehow fun.
Talking Horse: A Mr. Ed reference? That's low.

Metroid Prime 3: Corruption
Executive 2: Hey, what happened to that well endowed go-getter Executive 1?
Executive 3: He was fired for possessing a dangerously large penis. It was a threat to national security. Let's make a crappy sequel to our two prequels that will enthrall most gamers but enrage one VERY SPECIFIC one with the poor quality and emphasis on shooting instead of exploring.
Clown in a Suit: Even I can tell that's a bad idea.

And so, the story of Metroid comes to a close.
Until the new one comes out and fails to impress a blogger with too much time on his hands.

Thursday, October 8, 2009

Karp Karp

The image here will only make sense to one person (if I'm lucky).
Don't get it?
You're not him.

New version of SMTC today, comes bundled with the cool, useful, and downright COMMENTABLE editor. Now with fewer bugs!

Also, we have some new levels for you to play with, though nothing within those levels can kill you. The levels are called BrinRedXX.mcl and are the default levels in the cfg file. If you want to play the old levels, open up the cfg in the Metroid Classic folder change it to Brin00.mcl or somesuch.

The new levels are 100% original, and made by me. I'll connect them to the main game at some point, and that's not the end of the new levels either.

Also, you can expect to bump into the new Reo and Waver enemies if you start in Brin00.

The CFG has been updated with some new cvars to customize your experience. You may notice that pressing ESC now brings up the pause menu, allowing you to resume or go back to the title screen. If you want to quit, press F12. You can turn this behavior off by opening up Smtc.cfg in notepad and changing:
cvar.esc_quits 0 to cvar.esc_quits 1
You can also use a similar technique to turn all the doors into missile doors. I gave you 100 missiles to compensate.

Get it by clicking this.

Update: 10-10-2009
If the editor isn't working 100%, try downloading this and see where that gets you.

Monday, September 28, 2009


Ahem, read the title. I'm not done and I'm not updating right now until I have something more substantial. If I made an update now, all the changes would be invisible to you guys until the editor supports the changes.

Here's what's done:
Saving and Loading (Press F3 to save when you do get your hands on the game)
Intro spruced up with a Load menu
Missile doors

With these done I'm going to start work on finishing all the enemy archetypes, then maybe add some sound.

Sunday, September 6, 2009

I hate Readme's

For anyone who needs help with the editor, I put together a short readme for you. It's not long, it's not complicated, but right now neither is the editor.

Take a look at it here

Look Ma, No Hands!

This week (or whatever time scheme I'm using now) we have an editor release. No, not some crappy editor made by me, a crappy editor made by Toasty in visual. It works like a windows program!

It makes Metroid Classic look like Pac-Man!

Also, I built an intro and made the Samstart entity work, but who cares what I did?

Download it here.

Still working on the mystery jump/shoot bug...

Monday, August 24, 2009

Palettes and not much else

This week I have practically killed myself to bring you palette swapping.
No it's not as simple as it looks. To perform palette swapping quickly without using much RAM I rebuilt the Tiles file into custom forms. For your benefit I have included the tools I used to build them.

Download it here.

Rar file, 800 or so kB.

Notes: Sudtrap, I can't seem to reproduce your doors bug. If you can, try pressing D a few times until you see the doors values and take a screenshot for me to see.

Also: If you want to see the other palettes then just press 1 2 or 3 on the keyboard in game to switch between them. I've added breakables to Brin01.mcl as well to make getting across the room easier.

Sunday, August 16, 2009

Oh no, Monthly?

Crap, it took a month just to slam this one out what with all that's been going on. Let's hope this doesn't become habit.

Here's what's done:
-About half of Brinstar has been added, and the first room of Tourian.
-A makeshift bridge is in the room where the Kraid and Ridley statues are.
-Elevators have been added, used to get from Tourian to Brinstar.
-The Parser has been patched and should accept more than 9 rooms now.
-Room transitions have been patched and look pretty damn clean I'd say.
-Door code has been cleaned up. You'll notice doors no longer randomly stay open or become untargetable.
-All the tiles have been ripped and integrated, with a few "special" exceptions. It should be possible to build all the rooms in Metroid now.
-Palettes are on the way so the tiles won't look so damned ugly.

Known bugs:
-With the present set of tools it is not possible to "unclip" tiles. So, those bushes in Brin07? Yeah, jump over them, lazy.

Get the update here

As per usual, leave comments or send emails if you find something almost dangerously amiss.

Also, if any of you know a good program for capturing video from programs, let me know so I can start making youtube teasers and demonstrations.

Sunday, August 2, 2009

To come

Been a very busy month, as I'm going to Orlando on the 4th and moving to a new city later on. All I've managed to scrape together is:

A minor patch (cures one bug I haven't seen reported)
Finished ripping all the tiles
About 8 new levels made

I'll put together a release tomorrow.

Edit: Too busy, back on the 11th!

Thursday, July 16, 2009

SMTC Shell Edit and Door functions

A triumph of UI engineering is upon us.
For I have created a functioning suite of (two) programs to edit SMTC levels with.
Really, they just allow the addition of doors to your levels, but the core is there so more stuff can be added quickly.

Also, a new version of SMTC and the old BMP Editor is bundled here, with some bugs fixed up. Big thanks to Sudtrap for finding several of these bugs.

Note: To quit the programs, just press ESC or F12. I don't recall mentioning that anywhere.


RAR file, 715KB.

Please read the Readme file before messing with the editors. Happy editing.

Tuesday, July 7, 2009

The Triumphant Return of SMTCLevEdit

Well not quite. This time I've built a .bmp parsing engine that can convert your levels into usable level files in Metroid Classic.


Once again, this is a .rar file and is 707KB.

Some basic instructions on using the editor:
Copy tiles directly out of the provided Tile Table.bmp file.
Save your bmp files as 24 bit or they will not be compatible with the editor.
Some samples of Brin00 and Brin01 have been included as a reference.
If you get in trouble, leave a comment and I'll see about fixing it.

Note that this new version has reintroduced some old bugs into the engine, since I radically altered the level structure to fit the new editor. More to come soon.

Thursday, July 2, 2009


My apologies on the late updates. Dev-CPP has decided to crap out on me so I'm changing to Code::Blocks.

Here's what my plan was:
A level editor that uses a bmp image created by the user to parse the level. Another hacked together program will come afterwards to add doors and enemies to the levels.

For now you have to settle for a busted IDE.

Tuesday, June 23, 2009

Vertical Rooms and New Tiles, plus more invisible stuff

This week's update comes to you courtesy of the frustration of designing large rooms using the current editor.

So, here's what's new:

The new Cambound feature, which prevents the screen from scrolling until the cambound is crossed. This can be seen in Brin01.mcl on the left half of the room, and it looks pretty smooth.

Vertical rooms and scrolling have been added. They were already there but there weren't any vertical rooms so you couldn't tell. A new one has been added called Brin03.mcl and is the default level in the SMTC Release folder.

About 6 new tiles have been added.

Minor bomb physics changes. Bomb jumping should be possible.

Keep in mind there are door holes in Brin03 but no doors. The zoomers seem to be able to wander outside the room and come back, but you'll crash the game if you try.


Note: It's a .rar and not a .zip file now.

Friday, June 12, 2009

Breakables Update

Minor bugs fixed and breakables are now in Brin02.mcl for you to blow up with your bombs. Another minor update.


Saturday, May 30, 2009

Saturday KABLOOIE Update

Bombs and missiles in this update, as well as a few other things like palette swaps.

Press A to switch to and from missiles mode. It doesn't take missiles to fire yet.


Friday, May 22, 2009

Update and Help Request

I'm back with another dumb update. Here's what's new:

Some bug fixes, but not all of the previously found bugs were fixed
Rippers are in, and found in Brin02
Shriekbats are in, and found in Brin01
Note: The shriekbat projectiles will not hurt you yet. Also rippers can be killed by anything at the moment.

It may not seem like much, and that's because it isn't. Slow and steady.

What I need help with is a listing of all the enemy HPs, immunities, damage done to Samus, etc. I could compile it myself but that'd take time I could be using to make more enemies and features, so if someone can either mail such a list to me or leave it in the comments it'd be much appreciated.

The update? Get it here.

Wednesday, May 6, 2009

Lucky Post 13

New Alpha out today. I'm out of town starting tomorrow so I figured I'd give a bigger update than usual, though it certainly didn't turn out like that.

Items now drop from enemies
There are usable energy tanks, missile tanks, and the long beam
(Only one energy tank is actually in the game, in Brin02)
You can use morph ball

Known bugs:
The left door in Brin01 doesn't close correctly
Kinda hard to dodge those geemers in Brin00
Some of the tiles don't fade properly in Brin01

I just threw the morph ball in there and didn't do much bug testing, so please post any bugs you find in the comments and I'll get to them sometime next week.


Friday, April 24, 2009

Scrolling and Injury Alpha

This week's alpha consists of the incredible scrolling room. The example now contains three rooms, the middle of which is 32x16. Also, geemers/zoomers can hit you and will reduce your energy when they do so. You can't die (yet) so don't bother.

As you can see, the game is now alarmingly close to being finished from a cosmetic standpoint, but there is still much to do.


Saturday, April 18, 2009

Transitions Alpha Update

The flashy-pants new alpha for this week features.... door transitions.

Yes those are the big things I told you about. They look really nice.

Download here

Tuesday, April 14, 2009

Big Things Week

Expect a major update this week. Finals are all but completed and that leaves lots of time for updates.

The more important set of news is that Toasty has agreed to restart the editor. Since he's a CS major, the editor will take no time at all and leave the actual game looking like a cut-rate 1st year project. My ego will take a similar dive.

As for this week, shot code has been tweaked, doors have been added, and some polish put in. Update on Friday as usual.

Friday, April 10, 2009

Friday Slow Going Kinda of a Let Down Alpha

Slow going this week due to exams, but promising developments nonetheless.

Here's what's new:
The geemer, when shot, will explode. This means that targeting data and sprite data are more or less complete.

Also, a drop of water will periodically fall from the ceiling in a semi-realistic fashion. Nothing fancy, but this demonstrates the power of the scripting that is to come.


419kb, Windows

Friday, April 3, 2009

Friday Borderline Sociopath Alpha

This week's alpha contains only minor improvements.

Shot code works. Feel free to test it out by mashing z and x to jump and shoot.
Geemers work. He'll walk around the room once he spawns.

No, you can't shoot the geemer. Do you know how long that fucker took to debug?


Notes: I have my lab finals next week so don't expect much then either, since this shit is pass/fail and it's extremely important that I pass. I'll at least try to get a functioning door in, but don't count on it.

Wednesday, April 1, 2009

Interesting RAM findings

So I was poking through the RAM the other day and I found when I locked certain addresses I got some... unusual behavior.

Most of the addresses do things like jam Samus in place or outright kill her. This one address seems to control the X scroll value in a room, so when it gets locked you actually walk across the room and come out the other side.

Here's a youtube video, take a look.

Tuesday, March 31, 2009

Toasty's Post

Hey folks, this is Toasty (you may know me as Crimson from my previous work with Salty on the old SMTC project). I've been talking with Salty about the new SMTC project, as well as helping with some debugging, and I shall get involved with it as well.

As you may or may not know, part of the reason we abandoned the old SMTC was a lack of time due to our studies at university. However, my degree is almost complete, and Salty's has been stretched to allow for more free time, and hence the prospects of piking this up again.

I'll be getting in on the action with making an editor again. This time it won't be buggy or as complex...well hopefully. I will soon have my BSc in CS, so through the years I've picked up some things to make this much better. Following the completion of my many academic projects (which should conclude in the next two weeks), I will begin work on the editor. If you have any input as to what you think I should do it in, feel free to comment, and I shall take them into consideration. I was thinking about doing it in a non-allegro program, likely using C# and .NET (Personally, I like how clean it is and how easy the classes are to work with), but this also brings up portability concerns.

Sunday, March 29, 2009

Sunday Alpha Madness

Oops, I meant to get the alpha up on Friday but was busy running down a memory leak, and I work all weekend.

Here is the link.

Send comments, but not bug reports. However, mysterious crashing should be noted but not reported, as there is very little crash or compatibility protection as of right now.

Size is 413Kb, windows executable.

Friday, March 27, 2009

Friday is release day

I'm going to try to release an alpha update every Friday. Expect this post to be updated once I actually upload something in a few hours. Until then, salivate over these fantastic features:

Clipping: Pretty much done, but no morph ball
Editable rooms: You have to use notepad and run it through a translator, but you CAN build rooms.
Precursor to doors: They're in, but they don't do anything.
Simple phyiscs: Jumping, spin jumping, blah blah.

For two weeks work, I'd say it's coming along well. More later.

Wednesday, March 25, 2009

The Obligatory Mission Statement

This is my mission statement for the Metroid Classic project.

First up, I recognize that Metroid has been ported to death, and that includes GBA/DS/Wii/Gamecube/PC ports (Yes, PC has been done. It's called Metroid Cubed). My goal is not to construct a simple port and recreation. That's just the first step...

The first goal is to get a functioning Metroid game working, playable from beginning to end. This will also come with a level editor which is pretty much 100% necessary to make the original game without my head exploding.

The second goal is provide modability, and that goes beyond the level editor. When making Super Metroid Classic (notice how Salty's MeTroid Conventional can still be SMTC :D ) I developed a 90% complete scripting engine complete with custom variables, functions, and the like. It never hit total functionality and I doubt many people did much with it, but it will make a return this time.

Expect this modability to also feature cool stuff like new items, enemies, and bosses too. And probably even scripted cutscene features like Super Metroid had. Those of you who saw Super Metroid Classic knew that this was mostly done as well.

The third goal is to upgrade to Metroid II: Return of Samus. Despite what you may think, Metroid II is not a major change from Metroid I, and both could easily work within the same engine. They're both 8 bit after all. I would, however, need someone to grab the graphics from Metroid II and color them so they don't look ugly.

The fourth and final objective would be upgrading this engine to Super Metroid levels. Once again, this is not that large an upgrade from Metroid I and II. The problem with Super Metroid Classic was that it was a major programming feat and I was an amateur programmer, but this time I'm not and I'm taking it in small chunks.

Intermediate objectives include interesting things like netplay (more on that later) and complete custom scenarios. I recall a lot of people making hacks for Metroid to make it harder or more baffling. I figure such scenarios would be more enjoyable in the SMTC built-for-PC engine.

So that's it. A list of my plans and what you can expect in the near future. Keep in mind that right now we're in an alpha phase. Expect some screenshots and possibly videos uploaded to youtube demonstrating my progress sometime next week.

Blog Creation

So I put together a blog for SMTC (new and slightly debilitated). Yep. Check here for updates.

Speaking of which, here's what's done as of this writing:

Samus movement
Basic room construction
Some of the door code

Toasty (aka Crimson for those of you "old hands") said he'd try to start on an editor but, as usual, is swamped with school work.

I'll try to post a very simple alpha download by Friday.