Monday, October 3, 2011

Sonic remixes

Without a doubt Sonic the Hedgehog was one of the best and most influential games from the 1990s. They were a lot of fun, had great graphics and sound for the day, and plenty to explore. So it's no surprise that these games had a big impact on a generation of video gamers. Some of these gamers have gone on to program their own Sonic games for the PC. Commonly referred to as "fan remixes" here are 3 fan remixes of Sonic to keep an eye on. None of these three are done yet, but they all have promise.

Retro Sonic Nexus

Retro Sonic Nexus is quite a mouthful. Me personally I prefer its previous name Sonic XG. This game has some impressive game play and cool level design. There is a playable demo you can download.

Sonic the Hedgehog 2 HD

If you ask me, the best Sonic game was Sonic 2. Well here's a project that is taking Sonic 2 and completely redoing the game but in high definition. They are not creating a new game, nor are they making the game in 3D. Just enhancing the same game but with HD graphics. Check out the video on their webpage, it looks impressive! There is also a playable demo you can download.

Sonic Fan Remix

This very ambitious project is recreating the first Sonic game but rendered as a 3D game. It's still a side-scrolling 2D game, but rendered in a 3D engine. Very impressive. Check out the video on their webpage.


There you have it, 3 Sonic remix games to keep an eye on.

Thursday, September 29, 2011

Adobe and Apple BOTH suck!

I remember back when the iPad was released, Steve Jobs told the world that the reason the iPad didn't support Adobe Flash was because Adobe could not write good software and Flash was the cause of the majority of computer crashes. In effect he was saying Adobe didn't know how to program well. I personally find this ironic because I consider Apple to be guilty of the same thing.

First off let me say I totally agree with Steve Jobs, Adobe software does suck. My biggest gripe is it's bloatware factor, meaning it installs way too much. Case in point Adobe Reader. This program is over 110 MB in size and all it does it display PDF documents. Compare that to SumatraPDF which is about 4 MB in size. And I've never had compatibility problems with SumatraPDF, it opens and correctly displays every PDF I've thrown at it. Why is Adobe Reader so big? That's a good question.

But Apple is guilty of the same "sin." The latest version of Apple's iTunes software installs over 410 MB of files!!! To give you a point of reference, Media Player Classic Home Cinema is about 12 MB in size. So again, why does iTunes install so many files. I think the root problem is developer laziness. Apple iTunes installs tons of files for every possible language. iTunes should only install files for the language I'm currently using. If I speak English do I really want 100 other languages installed on my computer?

So in conclusion; Apple and Adobe both suck at producing software. Their developers are lazy and we the consumers are the ones who pay the price. I recommend avoiding them if at all possible.

Friday, September 16, 2011

How to Profile

No, I'm not talking about racial profiling. The term "profiling" is used in computers to describe the process of analyzing an application for performance reasons - to locate and reduce or eliminate bottlenecks. Profiling an application can be as simple as making changes to your code and using a stop watch to time executions to improve performance. Fortunately there is a much better way, there are tools to help you profile your application. Below I'll tell you have to use Visual Studio 2005 to profile your application. Note that most every version of Visual Studio has a Profiler, and the use of that Profiler may very. This is only for Visual Studio 2005.

For starters the Profiler is only an option on the highest levels of Visual Studio - I believe they call it Team Suite. You also have to select the Profiler option during Visual Studio installation. From your Visual Studio IDE, select the Tools menu and look for a "Performance Tools" option. If you don't see it then you didn't install the Profiler and/or you don't have a level of Visual Studio high enough.

If you have the "Performance Tools" menu option then you've crossed the first hurdle. Next you need to select a Release build of your project. You can profile a Debug build, but you'll get a lot of "noise" so best to use a Release build. You need to do two things before you compile your code. First, enable Symbols for your Release build. Second, you need to add the "/PROFILE" switch to the linker. This option must be added manually in the "Additional options" section. The /PROFILE switch instructs the linker to generate output that is friendly to the instrumenter.

At this point you can use the "Performance Tools" menu option to create a profile session. To profile your application you must run it from within Visual Studio, and you must use the "launch" button in the profiler view.

There is one more gotcha. If your application is more than a single EXE, if it contains DLLs, the Profiler will NOT traverse down into those DLLs which is probably what you want it to do. To profile your entire application including DLLs there is an additional step. You have to manually instrument your DLL files. To do this open a command prompt. The command is "vsinstr.exe a.dll" Note that when you instrument a file is generates a new PDB file.

Happy profiling!

Tuesday, September 13, 2011

Pier Solar

Today I wanted to talk about a new game for the Sega Genesis. Yes, you read that correctly, a new game was released for the Sega Genesis in 2011. It's called Pier Solar.

Arguably one of the genres Sega did the best at was RPGs (or role-playing/adventure games). The Phantasy Star series was incredibly. A group of fans decided to create their own RPG for the Genesis. As I understand it they worked on this game for 5 years or more before completing it. But this isn't just another hack, they went the full nine yards. The game is by far the largest game ever on the Sega Genesis, 64MB versus I think 4MB for Super Street Fighter II (the next largest game). If you own the Sega CD attachment you can pop in a CD for enhanced sound and audio. All and all the game is awesome! They even created packaging, manuals, physical cartridge production, and translated the game into multiple languages.

Obviously this is going to be a very limited production run. The game was sold on their webpage for $55 (not bad considering Phantasy Star games cost more than that back in the 1990s). As of now the game is no longer for sale, I'm guessing they sold out and who knows if they will produce more. You can buy them on eBay. This game is sure to become a collectors item because of it's rarity and uniqueness.

I purchased my copy, although as of yet I haven't opened the packaging. I've been too busy to play it, so for now I'll keep it unopened.


Friday, August 5, 2011

Video Game Prices

Video games are just another type of computer program. Since I work as a computer programmer, I think it's interesting to breakdown the pricing structure and look at the logic behind the prices.

Video games, and any computer software, have several "expenses" associated with them. One of the largest costs is development. The video game has to be developed, typically by a team of developers working over the course of months or even years. This costs a lot of money; salaries, rent, hardware equipment, licensing fees, etc. Once the game is ready the next cost is manufacturing. The game has to be produced for mass distribution. Even if the game is to be solely distributed via the Internet there are hosting fees. And finally, the company may offer some form of customer service to cover customer issues, defective products, etc. When you add all this up, ideally you can sell the game for more than this.

What I find interesting is video game prices have gone down over time. Back in the late 80s and early 90s, video games typically cost $40 - $50. I remember buying Sega Master System and Genesis games, it was rare to find a game priced under $40, but there were a few games that cost over $70. Compare this to modern game prices (XBox 360, PS3, and Wii). Many of the games are in the $20 - $40 range. This is made worse when you account for inflation. When you account for inflation those video games in the 80s and 90s typically cost between $60 and $100.

Newer games are a LOT more complex, as a result the cost associated with development is higher. Also the costs of doing business (salaries, rent, etc.) are higher now than 20 years ago. So why have game prices gone down? I can come up with 2 reasons why.

  1. Larger target audience. More people play video games nowadays so a company can expect to sell more copies of its games. More sales means lower prices.
  2. Cheaper distribution media. Most new games come on CDs or DVDs which are dirty cheap to mass produce (cents each). Many games are distributed electronically which eliminates the need for physical production. But 20 years ago video games were all cartridges, and whereas you would assume cartridges would be cheap to manufacture, they were not. Cartridges use ROM (read-only memory) to store the game. ROM and RAM (random access memory) are cheap today, but 20 years ago ROM and RAM were expensive. In 1995 I purchased 4 MB of RAM for my computer, it cost me just over $300. Literally this RAM was worth its weight in gold (at the time).

Friday, July 29, 2011

32-bit versus 64-bit

The computer word is undergoing a change right now, from 32-bit to 64-bit computers. Back in the early 90s it underwent a similar change from 16-bit to 32-bit. 16-bit was a severe limiting factor on what the computer could do, so the switch to 32-bit was definitely worth it. So by the same token, the switch to 64-bit is worth it for everyone to switch over, right? Well as it turns out, the change isn't really necessary, at least not yet.

The first "myth" I'd like to debunk is that 64-bit Windows is faster and/or more efficient than 32-bit Windows. This is completely false, there is no speed improvement from 32-bit to 64-bit. The only benefit to 64-bit is increased memory access. 32-bit computers are limited to 4GB of memory, whereas 64-bit is limited to 1.67 million TB (or 17 billion GB) of memory. But just because your computer can access more memory doesn't mean you should upgrade. First off, unless your computer has more than 4GB of RAM, the switch is moot. Second, you need 64-bit software. If every program you run is 32-bit, it doesn't matter how much RAM you have in your computer, any one program is limited to 4GB. And finally, you need one or more 64-bit programs that would actually benefit from increased RAM. This last one is the big one. Most programs need only a fraction of that 4GB of RAM. In order for 64-bits to pay off, a program needs to use more than 4GB of RAM - and very few programs use that much RAM. Examples of software that does use that much memory are; DB engines, high-end image/video/sound editors, 3D CAD editors, some larger video games.

So to sum up, you should only consider upgrading to 64-bit if and only if:

  1. Your computer supports 64-bit
  2. Your computer has more than 4GB of RAM
  3. You have a high-end program that would benefit from increased RAM
  4. You have a 64-bit copy of that high-end program



Now I'm not saying to avoid 64-bit. If you buy a new computer and it comes with 64-bit Windows, that's fine. But don't go out and buy 64-bit Windows unless you meet all of the above conditions.

Wednesday, July 27, 2011

Waffle Irons



I've noticed the last few years there is this tread for waffle irons that flip upside down while cooking. These waffles irons cost a lot more, but they produce a better waffle... right? Well as it turns out, no. At best it will produce the same quality waffle in which case you've spent a lot of extra money on a waffle iron than you needed to. And at worst it may produce an inferior waffle.

Before I go any further I want to say that "better waffle" is obviously subjective. What one person enjoys is not necessarily the same as another person. That said, taste-tests suggest that most people prefer waffles with a crisp exterior and a moist interior, versus a waffle with a uniform texture. Turning the waffle upside down during cooking does not affect taste or texture in anyway. It doesn't matter the orientation of cooking, it will come out the same.

The way you produce a waffle with a crisp exterior and a moist interior is with heat, a lot of it. You want to cook the waffle hot and fast. Since most waffle irons are electric, that means watts (wattage). You want a waffle iron with as many watts as possible, and not all waffle irons are created equal so shop around. But there is an upper limit for household appliances. In the US most households have 15 amp circuits, meaning they cannot exceed 15 amps of current. 15 amps x 120 volts = 1800 watts. This is the upper limit. No standard appliance can exceed 1800 watts without blowing a circuit. Most waffle irons are well below that, maybe around 1000 watts. One example of a waffle iron that pulls close to the 1800 limit is the Chef's Choice Belgium Waffle Iron (around $50 from places like Target or Amazon). This is the waffle iron I own, and it does produce excellent waffles with crisp a exterior and a moist interior.

Going back to the flipping waffle irons. There are two types of these waffle irons, the ones that produce 1 waffle at a time and those that produce 2 waffles at a time. The single waffle model could produce a crisp exterior with a moist interior if the watts is close to the 1800 limit. In which case the only problem with this waffle iron is it costs more than it needs to. As for the two waffle models, since you're cooking twice as many waffles on the same watts, you've effectively split the amount of watts going to each waffle. At most each waffle is getting 900 watts, well below the 1800 watts of the single model. This is why the flipping waffle irons are a gimmick and not worth the money.

But wait, what about those professional waffle irons I've seen in restaurants and buffets. They flip and they produce two waffles. Well the reason it works for them is because they are not standard 120 volt appliances, they run off of 220 volt. This allows them to pull more than the 1800 watts.

If you do buy one of these high-wattage single waffle irons, you'll be in for another treat - speed! A typical iron may take 5 minutes to heat up, and then up to 3 minutes per waffle to cook. A high-wattage iron heats up in about 2 minutes, and individual waffles take 60-90 seconds. They come off quick, which is great when you're cooking breakfast for a lot of hungry people.