I just want to make it clear and final that there won’t be any more updates here. Feel free to visit my new blog, at electronicmeteor.wordpress.com. I will be covering a lot of XNA topics and other areas related to game programming. Thanks for reading!
Hope you all had a great Christmas, and I’m looking foward to next year. I’ve already managed to roll out my first game this year, just before the year is over. It’s Pick-o-Mania, a straightforward puzzle game on matching colored pieces. It’s still in an early alpha stage for now…there’s no scoring system and menus aren’t in place yet. But most of the interaction is there, and I want to have it tested to see if it works properly (no crashes) with other people. Aside from what I just mentioned, some other game rules would be added, and graphics will surely be different in the final product.
This game was made on my graphics engine, which I will continue to develop as I learn more from this experience. Some of the features that the game uses from the engine are:
– Incremental loading (3D models are loaded as smaller chunks to keep a consistent framerate in loading screens)
– Entity handling and smooth movements of 3D models
– Per-instance culling (although it’s barely used in a game like this)
– Support multiple shader effects
– Color picking system (entities have unique ‘invisible’ color IDs that get detected when the mouse clicks on them)
Wanna try it out? Download it here: http://www.box.net/shared/2ozqm6rf2m
Simply click on the pieces that match two or more of the same color to remove them from the board. In the play screen, press “enter” to go back to the starting screen, and load the game again with a different set of pieces.
It’s for Windows only, and uses DirectX/Direct3D for graphics. So you may want need to download the Visual C++ 2008 runtime library, but I didn’t include it in order to save download time for those that already have it.
Right now I am just testing the efficiency of the rendering code with thousands of instanced objects, and half of them being updated individually in rotation and position in each frame. There are over 770,000 polygons in the scene. At 854 x 480 resolution, my ATI HD 4650 card runs it at a reasonable 87 frames per second with all objects in view.
Currently, the engine is capable of hardware instancing, and frustum culling per instance. Which means only renders objects that fall into the camera’s view. No further scene optimization has been done yet.
In a future post I will go more in-depth on the components the engine currently uses. Meanwhile here’s a cool picture showing part of a scene of 4000 instanced objects.
This game engine in progress is based on a few things I’ve worked on before:
- State management framework
– Various small Direct3D programs
The engine uses SDL for windowing and input, and Direct3D for graphics.
The state management framework is a simple way to keep track of discrete application states. Initially it was made to manage a stack of multiple states, but I found it unnecessary for my needs and simplified it to just have one state in memory and swap itand it has been made to only handle one at a time. It can be API independent, but I’ve currently written it to work with SDL, for initializing and shutdown, and for the GameState abstract class in handling input during frame updates.
I am reviving this blog for game development purposes. From now on, The 32 Bit Shell will be a game development blog until I move to another blog or change its name. And for starters I don’t like the name much anymore, but it will stay until I am set on something better…
What am I starting out with for now? As you may notice from posts a few years ago, I was exploring “rolling marble” games. I consider them a great blend of platforming action and puzzles. Well for a couple months now I have been working on a game framework to make one just like that.
Along the way, however, I may release other, more basic, games to tack on more progress and experience with making games. Developers too often get burned out by working on the same projects and sticking with the same goals. Making other simple games would be a good way to show progress of my coding and design process with game engines. The next post will be going into more detail in the actual start and progress so far with my work.
After a long hiatus, 32-bit Shell is back. Lately I’ve been getting more into using a Mac again, since the last time I really used one was in the computer labs at college. But I cannot afford a Mac computer at the moment. So I did some research into the OSx86 Hackintosh project and decided to make a PC that would be fit to run a version of Mac OS X properly. I continued my research in hardware and installation configurations and have almost completed my purchase decisions…
Currently I own a self-build AMD machine that runs on an Athlon 64 X2 5000+ and an Abit AM-N2 motherboard. This is a pretty good setup for general purpose use, but not so great for a Mac install. The first time I jumped into experimenting with OSx86, I tried to use two distributions of OS X Panther, Zephyroth AMD 10.5.2 (revision 1) and Kalyway 10.5.2. The Zephyroth build is optimized and used for AMD processors only- I got it to install and after a few bios tweaks, it was able to boot properly and run. But the hardware side felt very crippled- I couldn’t use the onboard sound and ethernet, and aside from that, I wasn’t able to get a successful dual-boot configuration (I had to reinstall Windows after that). I wanted to run Mac on a PC in the best way possible.
So now I decided that to get the best setup possible (and to use a patched retail version of OS X) I must go with Intel. The last time I owned an Intel PC was back in the Pentium days- mine was a 100mhz beige box from Packard Bell. It turns out that the Intel D975Xbx2 (the Bad Axe 2) is a great motherboard to ensure almost everything would work out of the box using Mac. I went for the original Bad Axe, which is very similar, and cheaper too. It’s based off the 975 X Express chipset and one of Intel’s flagship boards when it first came out. I would only need to make two purchases for my Mac build- the motherboard itself and a processor. Everything else I already felt was adequate.
But I lied- I only need to make one purchase, as the Bad Axe already arrived a few days ago. I was a little worried about the revision number- some revisions do not support the Core 2 processors which would really put me in the stone age and I would have to return it. I’d need revision 304 or higher to use them. Good news when it arrived- it is revision 306 so I’m in the clear. All I can do right now is save up a bit more to buy a good Core 2 Duo and look through the motherboard package and its generous set of accessories. The manual is also very comprehensive and detailed- no funny Engrish text here. Even if the D975Xbx is somewhat dated (and I can no longer use my DDR2 800 ram to its full potential) it’s easily my best motherboard purchase yet. Next, I will actually start rebuilding my PC once I get a processor and go step by step on how I’ll get everything to work smoothly.
Having been busy with finals and other projects, I haven’t put much time into working on Roll ‘Em Out, but to keep things going, here’s just a short gameplay video of a still early debug build of the game. The score display is just a mockup- I won’t actually be using this in the final game.
Third party developers and the Wii have an iffy relationship right now. Some of them really mean well, and others want to get away with the bare minimum (i.e. lazy bastards). With M&M’s Kart Racing you get the latter kind AND hilarious results from it. But you need to turn up your speakers to understand what I mean. Props to you, Destination Software. Your game is now ranked #1 in the Google search results for APPROACHING SOUND BARRIER (linky)
This game is meant for little tykes, and it may provide a small snack before the main course that is Mario Kart for the Wii, but its in-game announcer voice is immortal. Who knew breaking the sound barrier would require little effort in this game? I had a hard time doing this in the original X-treme G. A fellow member in a message board stated that the “sound barrier” quip might have been taken from the gyrocopter pilots in Warcraft III. Interesting assumption.
Wait till it hits the bargin bin, it will be the most sought after so-bad-it’s-funny game since Big Rigs. Maybe this is why the developers are so uppity about the posted Youtube videos of their game (most were taken down).
It’s been a while since I posted, but it’s still time to wrap up my last two-part post where I briefly reviewed two of four “rolling ball” games. Well, now for the rest. This time the games are Switchball and Super Gerball.
Switchball, the 800-pound gorilla- er, steel ball of the crowd. This game has the best production values, professional marketing and distribution put behind it, and backing by a major PC games publisher, Sierra. Just from visiting the game’s website, you can tell a ton of work has gone just into making it pleasing to look at. It sounds unfair to compare it to the other games on this list, but it’s all in a couple days’ work of research and testing out the competition.
Unlike the other ball games, and especially against Hamsterball Gold, Switchball is played at a more methodical pace and its central focus is solving puzzles. In the early stages you never feel like you’re coming close to falling off the ledge. It’s all about finding out what to do next, so logic prevails over steady nerves and reflexes. This would be a great game for anyone that finds other similar games frustrating because of frequent deaths. Adding to the puzzle-solving element are special contraptions that turn your ball into different materials. Your ball becomes marble, steel, or light-weight, depending on the situation at hand. A steel ball, due to its greater momentum, rolls down faster and moves objects around effortlessly.
As said before, this game pulls out all the stops in its presentation. This is the only game where you would actually need a good graphics card in order to experience all the goodness that its graphics have to offer. Features include high-quality textures and the ever-ubiquitous light bloom. Fortunately for users of older computers, you can turn these enhancements off and improve speed and performance. The menus are professionally done, as well as the sound effects. The music is never too invasive or annoying, but it does sound generic at times. Maybe not much of a big deal- you can turn down the game’s music if you so desire. Finally, the aesthetic is consistent and pleasing- the steampunk look works well all around and nothing feels out of place.
The physics are also worth mentioning. After proper adjustments, you never feel out of control of your ball. Your interactions with the environment are very convincing, and it’s all due to the highly acclaimed PhysX engine that the game is built upon. Switchball has a slightly weightier price at $19.95, but considering its production background, it’s a very good offer.
Now we’ve come to the last game that I checked out, Super Gerball. We’re back to budget quality, but how does this game hold up? Well, this game is high in spirit and hopes, meaning that its creator really tried to push to make this a Super Monkey Ball clone to the best of his abilities. Neverball and Switchball, beyond the gameplay, never tried to be exactly like SMB. But Super Gerball tries to get everything down pat, including the announcer voice-overs, cute critters and checkerboard patterned floors. You collect crystals, the equal to Aiai’s bananas, and many obstacles abound the trickier levels. The levels are grouped into themes just like SMB, and each set of themes are divided among three difficulty levels.
So is it a sure winner? I’m still hesitant to say yes. It has the fundamentals right, and even has the best control scheme imaginable with a mouse. You can click-drag to tilt the floor and releasing the mouse button “snaps” it to neutral position, just like a joystick. However, everything else about the game is not up to par. Most of the levels aren’t very creatively designed, or at least the easy/medium ones (you have to pay to play the hard difficulty) and the overall feel and look is sorta cheap. The midi-sounding music is not the best out of the four games I played, and the graphics, well, are passable. It would benefit greatly just from better textures. Neverball was done with programmer graphics as well, but at least with Neverball its creator understood his creative limits and played it safe by making the setting more abstract. In Super Gerball, you have to roll your gerbil in different house environments like the backyard, attic, etc. You need to put up with more realism to make you feel like you’re in the game (though I have to add, the motion blur on the ball is a nice touch).
The visual flaws in Super Gerball just stand out more simply because it strives the most to emulate a commercial-quality game. The similarities are many and they’re not subtle. But all is not lost with the game. It does have the added benefit of having a level editor, so you can choose to create wackier, more exciting levels if you choose to. They will just not look as good as ones in Super Monkey Ball, that’s all. Also at $19.95, the price is up there with Switchball, so I strongly recommend trying before you buy.
That is all for the review of Monkey Ball clones, and if you have found any more freeware/shareware/demoware games in this style, let me know.
For the past week, I’ve been concentrating on getting a new site up and running, and making some further tweaks to it. It’s called Portabalooza, which will be a place for updates and news on portable video games. Soon I will be thinking about doing game reviews, as well. Keeping up to date with the news is tough, but it’s still nice to give my views about certain stories and games. So whether you’re a DS fan, PSP fan, or love any sort of portable games, keep posted, because as the site grows it will be updated on a frequent basis.