Three weeks ago, I began the process of porting Midnight Mansion HD to Windows. So far, I have been astonished how quickly the process has gone. I had about 90% of the game compiling and running on Windows in two weeks! Today probably 95% of the game is up and running. There are still a number of things left to do, some of which may take a while (particularly testing), so the game’s release is likely still 2-3 or more months away, but so far it has been really fun seeing how quickly and easily the port has gone!
Archive for the ‘Developer Diary’ Category
Today I’m working on further optimizing Midnight Mansion HD’s graphics engine. Some users have reported slowdowns in some rooms, which means I need to eek more performance out of the game. While Midnight Mansion HD already has a lot of optimizations built in, I have ideas for another way to optimize things that should solve the problem. However, that idea is rather complicated and will take some time to implement.
In the mean time, I’ve been experimenting with other changes, and have so far bumped one room that was running at 30fps on my system up to 47fps! Things will get even better when I add the more complicated system to optimize tile drawing in layer 6, but for now, even just these small changes have resulted in rather nice performance improvements!
One recent addition has been to add a “glow” to the zapper beams. Here I think the before and after pictures speak for themselves! (Ignore the tiny pieces of glow at the ends from the “before” picture.)
Progress on Midnight Mansion HD continues. Today I added a glow effect to the lava. It’s amazing how much better it looks now! The cool thing about the glow is that it’s dynamic, so as moving platforms pass over, the glow lights up the bottom of the platform. Or, if Jack falls in, he glows too.
Also attached is a new title screen. And, it’s animated! There is a new surprise here too, but I’m not going to say what it is — you’ll just have to wait until the game is out!
Have you ever wondered what goes into the drawing process for Midnight Mansion’s artwork? Well, wonder no more. Jacob has recorded the process he used to draw the new Midnight Mansion splash screen. He’s sped up the video, so 3 hours of work is compressed into 3 minutes. It’s fun to watch it all unfold.
When I first started work on Midnight Mansion in 2001, it was standard to have displays set to 640×480 or possibly 800×600 resolution. When the game was finally released in 2005, the state of displays had advanced, and Midnight Mansion’s 640×480 graphics looked a little pixelated when fullscreen on Apple’s new (at the time) 21-inch flat-panel displays.
Nowadays, with 30″ displays, and even the iPad having higher resolution that typical computers of 10 years ago, it’s time for an upgrade! The past few weeks, Jacob has been redoing most artwork for the game from scratch, redrawing it all by hand in a higher resolution. In most cases, he first traces over the original artwork, to get the new looking as close to the old as possible, then redraws it from scratch. The results are just fantastic!
Another change that took a lot of work, but I think was totally worth it, is the game now makes the bricks different shades of darkness, to make them look a bit more like a real brick wall, where the bricks aren’t all exactly the same color. This makes them much easier on the eyes, and also makes the castle look a bit more like a real castle — old and in disrepair.
Take a look for yourself!
Some of you may be wondering “If so much of the updated game is working already, why don’t you just release it already?” Well, below is a list of the big items I have left to do before I can release the Universal Binary update to Midnight Mansion. Some of these will be fairly easy, taking just a few hours, but a good number of them will take a day to several days each. But, the fact that the list only has 17 items is significant! I might post updates to this list as I get items checked off. Today’s update no longer has “In-game map screen”. That was one of the biggest items, taking over a week to do, but it was sure worth it — it’s a big improvement over the old mapping system!
- Reading signs
- Story screen text
- Faster rendering of High Scores screen
- Stereo sound effects (like snake/zapper beam)
- Collisions working properly for hi-res artwork
- Pulsing “light saber floor” tile animation.
- Ability for a mansion to replace tile/sprite graphics (this makes Blackheart Keep’s background messed up for now)
- Handling of app suspend / resume events.
- Custom mouse cursor on title screen
- Anything requiring a dialog box (high score name entry, player profile, saved/suspend game)
- Registration codes / license files
- Mansion file checksum verification (so game knows mansion wasn’t modified)
- Menu bar
- Ability to load mansions from a ZIP
- Online high score submission
Added a couple of cool new features to the new and improved Midnight Mansion today. First, mouse scrolling of the map screen. Just click and drag to scroll, and use the scroll wheel on your mouse (if it has one) to zoom in and out. This is a really nice way to move around, and allows far quicker navigation than the keyboard does (which you can still use if you prefer).
Secondly, I added gamepad support. One nice advantage of SDL (the programmer’s utility library I am using for the new Midnight Mansion) is that it made adding gamepad support a snap! This likely would’ve taken days or weeks if I had added it directly using Apple sample code.
Yesterday, I added a super-cool zooming effect to the map screen. When you push M to show the map, the screen “zooms out” from the current screen to the map in a seamless and smooth-as-glass effect. When you’re done using the map, it quickly flies back to your current room which zooms back to full-size. It’s a really cool effect that makes Midnight Mansion feel like a first-class citizen in MacOS X.