Wednesday, August 30, 2006

Number Crunching

If you're not aware by now, I love polls and statistics. For example, everyday I check out Gallup online. I love to see trends and how numbers change over time.

Well with Google Analytics, I can gather a lot of information on my visitors (nothing personal or anything I could use against anyone). I thought this would be an interesting topic to discuss. I have a lot of data, and I'm willing to share some of it for those who might just be curious of the trends that exist among my blog visitors. I have taken measurements over a span of 7 days to gather this data. All the data has a +/- 8.7% margin of error.

What's the most popular web browser? This one surprised me a little. It's actually split even between Internet Explorer and Firefox! 46.6% use Internet Explorer and 46.6% use Firefox. I thought perhaps Internet Explorer would have a slight lead, but that's not the case here. Keep in mind however that Firefox is more popular among younger people.

How about operating systems? It should be no surprise that Microsoft Windows is the most popular operating system. 88.6% use Windows, while 7.6% use Macintosh. Just 3.1% use Linux. If we were to break down Windows into versions, 90.5% use Windows XP. I figured there would be more Windows 2000 users than there were -- 3.5% for that group. Just 4.3% use Windows 98.

What are the internet connection trends? If you're one of those people who believe dial-up is out of the loop in this time of broadband, you're wrong! This very closely reflects national statistics with 26.0% still using dial-up. Still a majority (60.3%) use cable or DSL.

And last, what are the trends by country? It's probably no surprise to you that a majority of my visitors are from the United States (55.0%). The United Kingdom comes in second with 9.9%. Italy is our third place winner with 9.2%. On down the line is France, Germany, Spain, Brazil, Canada, Austria, and so on.

Monday, August 28, 2006

ProSonic LZMA

I am announcing my decision to completely rework the PZF zone archiving format used by ProSonic. The biggest change to the format is the use of compression. Before I wasn't interested in using compression, but lately I see the use of compression as a good thing. So I am looking at the LZMA compression format developed by Igor Pavlov of Not only does it have excellent results, but it is obtainable with the right type of license I have been looking for. LZMA compression means far less space used on any disk.

There's also a change that since the 7z archiving format supports LZMA compression, I may use 7z in place of the PZF format. I'm not entirely sure on this yet, because there is a sort of pride in developing an archive format of my own. If the changes I make to the PZF format make it easier to update as I continue to update the ProSonic engine, then I'll keep it. Otherwise I may consider switching over to 7z, assuming the licence is right for me of course.

On a related note, I am still working on the ProSonic outline. As I have mentioned before, the goal is to make it more useful and informative than the FAQ. It'll include in-depth details of each and every aspect of the engine, as well as a variety of screen shots to look at to get an idea of what the engine is like and what to expect.

Sunday, August 27, 2006

My Dad's Cursed

This is unbelievable. All this time, I've been talking about all the problems I've been having with Dell. It's not so much the fact they shipped a lemon that made me mad, it's mainly their lack of support and insane policies. So to make sure my dad to wouldn't have to have the Dell mess up on him for the thousandth time, we swapped the dyno and office computers. Now the Dell is in the office with all the office work on it. That stuff is easier to backup and isn't as big of a deal to lose as my dad's information is. The computer we moved to the dyno room is a Compaq.

Let me put emphasis on this -- we've never once had any problems with the Compaq. It has worked great for us. The day I moved it in the dyno room, it was running fine. By the end of the day, I was setting up Microsoft Backup on it to automatically backup files. I had simply restarted the computer. While Windows was shutting down, I walked away for about a minute and came back. It told me Windows had not been shut down properly. I didn't understand why until Windows tried to start up again. It would get about 2 or 3 seconds into the boot process, and then the computer would just restart itself. It didn't matter what I did, it continued to restart itself.

Right before restarted each time, there was a blue screen that would pop up for a split second. I grabbed my dad's camera and tried to take a picture. After several tries, I got captured it. The whole message doesn't print on the screen, but it's enough information to be useful. It says "BOOT VOLUME UNMOUNTABLE". Immediately I thought "oh no, now the hard drive is going in this computer too!". According to Microsoft this can either be a bad cable, or it can be a damaged file system. Microsoft also mentioned if the EBX register has 0x32 as it's value, it's the file system. There are enough pixels in the image to see what the EBX value is, and the value is 0x9C. What this means, I'm not sure. I'm going to look at it more when I go back to work on Monday.

I hooked the eMachines computer in the dyno (the computer he had before he bought the Dell). It's ironic because as many people who have said eMachines is junk, it's the one computer my dad has never once had a bit of trouble with. What he wants to do at this point, I am not sure. I'm thinking he might be so sick of computer trouble that he just would want to stick with his old computer. It's not as fast and it's showing age a little, but it still works.

Thursday, August 24, 2006

Unanswered Questions

I was recently asked two very good questions by Chaos Hedgie. The questions are about the ProSonic engine. I thought I would put them here:

Question 1
[23:01] Chaos Hedgie: Great, want to get my facts straight.
[23:01] Chaos Hedgie: Wanted to ask you, were you going to implement a time-travel feature?
[23:02] Chaos Hedgie: Or would a person have to code that himself?
[23:04] ymtx81z: The time travel 'objects' would likely have to be scripted by the game designer. The actual support of a past, present, good future, and bad future, will be integrated and fully supported by the engine
[23:04] ymtx81z: So it's like I build the house for you, and you just have to build the car to drive there.

Question 2
[23:07] Chaos Hedgie: Last question of the day, you know of the Super-Sonic Exculsive level, Doomsday. Will you have support of Super-Sonic only levels in your engine?
[23:09] ymtx81z: Those kinds of things will be script dependant. Certainly any character could be played in Doomsday, but the game has programming to stop players from accessing it. The same will apply to ProSonic. It'll be up to the game designer to stop certain players from accessing levels they're not supposed to access.

I have also decided to create an entire outline on ProSonic. The reason for this is there are too many people who still don't understand what it actually is. For those who know what it is, most don't understand the benefits it offers over the more conventional fan gaming and ROM hacking. The goal will be to explain to Sonic game designers in full detail exactly what ProSonic can do for them. I'll be presenting it here at my blog, so keep an eye out for it. Hopefully it will answer some questions that haven't been answered, and it will help people who are new to it understand it. The FAQ isn't really doing the job I need it to do. I'm positive the outline will do a much better job!

Tuesday, August 22, 2006

The Dell Looniness Continues

We haven't had the Dell for even 6 months yet and it has had the hard drive replaced, the fan replaced, and USB ports act up randomly on it. Believe it or not, there's more!

The HP printer that was hooked up to it just suddenly died out of the blue about a week ago. It won't work on that computer, and it won't work on any computer. The ink cartridges still have ink, but we tried new ones anyway. It simply won't work regardless what we do.

A few days later, a Dell-specific BIOS message started popping up everytime the computer is started. It basically says that there's something not right about the hard drive and that Dell recommends backing up all the data on it. Windows still boots up and my dad can still use it, but we're really worried about the data.

I put the Microsoft Backup program on the machine, and when I put in my pen drive into the USB port, the machine kept reading from it but wouldn't do anything. No files would show up in explorer or anything. I restarted the machine and the light on the pen drive continued to flash. I had to turn off the machine and turn it back on to get it to quit reading from my pen drive. After that, it worked fine.

We called Dell and they said they'd replace the hard drive. We told them about the USB ports, but they said they could only send "one part at a time". To make things even more stupid, they won't replace the machine or refund our money because their policy doesn't allow this after having it for 21 days. We have a 1 year warranty with them that so far has been spent replacing parts. It's obvious to me that there's something wrong with the machine that is causing the USB ports to not work right half the time, cause the relatively-new HP printer to die, have 2 hard drives go bad, and cause the fan to go bad.

I said this the last time and I'll say it again -- I'll never ever buy anything from Dell again. I don't want their refurbished junk. Some people thought I was going a little overboard the last time I said this, so lets see what they have to say now.

Monday, August 21, 2006

Back to College

I started a new semester of college today. I had microeconomics today. I took macroeconomics back in the spring and really enjoyed it, so I figured I would continue it. I know most people hate economics, but for some reason I love it. I understand it and really get into it.

When I got to school, I got a free candy bar. 50 minutes later, class let out and I was off to work. I'm pretty excited about things, and I hope I can get at least a 3.2 GPA this semester.

Oh, and I am officially advertising Google AdSense. I have been using it since the beginning of this blog, and I am quite happy with it. I truly recommend it if you're interested in getting some revenue from your site. Check it out by clicking the button on the side bar!

Tuesday, August 15, 2006

Camera Zoom

I have added a camera zooming feature to the ProSonic engine. I figure this would be neat to have on certain areas of levels where you need to see more area for whatever reason. It's not well optimized right now and has many bugs, but it essentially works! The engine has zooming levels between 1 and 65535 (16-bit instead of 8-bit to make slow zooming look smooth). A value of 0 is ignored because everyone knows you can't divide by 0! A value of 32768 is the default "normal" zoom level, meaning you can zoom both in and out.

ZOOM IN - As you can see, the graphics look messy since my engine doesn't currently resize the pixels.

ZOOM OUT - My only regret about this at the moment is it slows the engine down a lot. As mentioned before, it hasn't been optimized yet, so it draws pixels it doesn't need to draw.

ZOOM ALL - This a zoom level of 1! This takes roughly 25 seconds to process a single frame on my machine. Once the engine is properly optimized, this shouldn't be the case. I doubt anyone would ever need this level of zoom, but I thought I'd show it anyway because I thought it was neat.

Saturday, August 12, 2006

Some "Engrish" Toys

Take a look at this. I love some of these goofy translations and horrible spellings. They gave me a good laugh, and I think they'll probably give my readers a good laugh too.

Friday, August 11, 2006

One Small Step Closer

My engine is yet another step closer to loop-de-loops. ProSonic now interprets solidity on multiple sides of the level instead of just one. This allows the player to take multiple paths over the same area.

See the difference there? It's not entirely perfect. There are some small glitches in the way the engine interprets the solidity between the two sides, but they can be worked out with time.

It's true that I've been slow in the past few days. I have to remind myself to rest and allow myself to do other things besides work on the ProSonic engine, so that's what I have been doing. There's still plenty of reason to continue to see more updates posted here as the days progress.

I've also been looking for a little more promotion of the engine as of late. There's still many people who don't know about it or what it even is. I haven't done a heavy load of advertising because I figured the blog would sell the idea itself, which it has for the most part. However, as the engine moves closer to the possibility of a public demo, I'm starting to think more about getting more people interested. It would be a great deal of help to me if some readers could spread the word a little. Perhaps link people to the FAQ or show some screen captures I have all over my blog.

Tuesday, August 08, 2006

Damian Grove?

Take a look at this. It's a picture of "Damian Grove". It's a real place! Someone was nice enough to name a beautiful place after me. I don't know who really cares about this, but I thought it was kind of interesting and decided to post about it.

By the way, I thought I should tell everyone about a brand new website a friend of mine put together recently. It looks really good and has a lot of information on the 1993 Saturday morning Sonic the Hedgehog cartoon. You'll find several goodies there, including links to unused music that was made for the show. I recommend taking a look!

Sunday, August 06, 2006

The Updated Collision Editor

I've been updating all my ProSonic editing tools to prepare them for the new data now required by the engine. I'm fairly happy with the progress so far. The most important update is to the collision editing tool. It will now let you set different collision data for different sides:

It's coming along little by little. Maybe if I continue updating the utilities, they will be at the kind of quality Ken Silverman's programs are.

Thursday, August 03, 2006

Dell Problems & ProSonic Progress

Dell is coming to my dad's shop (again) soon to replace the fan and the processor in the dyno computer. They don't know that that's what needs to be done, but they thought they'd try. It's amazing that the people who come to fix your Dell are not technitions, but simple parts replacers.

The deal is everytime the computer processes lots of information over a period of time, the fan slowly gets faster and louder. Windows will sometimes display the blue-screen-of-death saying it is shutting down to prevent damage. It doesn't do this if the computer is sitting there doing basically nothing. It's obvious that something is getting way too hot. I'm thinking this might be the reason the hard drive went bad before. I have also noticed that the USB ports in the front sometimes stop reading pen drives out of the blue, and I see no reason for that to be a software problem or anything to do with the drive. I'd say whatever is cooking inside, it's cooking many other components inside the computer case as well.

By the way, I've been updating my LIMP utility (the one that imports levels from the original games into ProSonic's format). I haven't made any major changes to the ProSonic engine yet because getting additional level data that I didn't bother with before is essential to getting loop-de-loops working. LIMP now gives each block 4 different sets of solidity data, 2 slope values, and data to allow designers to modify the plane that each 8x8 chunk of a block is drawn on. Before, my engine simply allowed designers to make the entire block either on a high plane, or a low plane. To keep compatibility with the original games, I am supporting this new method. ProSonic still uses 16x16 blocks with each sprite being 16x16, but the engine will be allowed to split it into 8x8 chunks to simulate the use of 8x8 sprites as done in the original Sonic games.

What LIMP doesn't do (correctly) yet is import what I call "side swapper" objects. These were first introduced in Sonic the Hedgehog 2 and allowed multiple sets of solidity data to be swapped. These too are essential to making loop-de-loops work. I haven't programmed these objects into the ProSonic engine yet, but that will be the very next task once I get LIMP fixed and modify the engine to read the new data formats created by LIMP. Right now, I'm trying to debug LIMP to get rid of a silly infinite-loop bug. Because of that, object data isn't being ported properly.

Tuesday, August 01, 2006

Information Will Come Out Soon

I was hoping to make my next blog post (this one) about how I have loop-de-loops working in ProSonic and such, but I haven't had the time required to really do much work in that area. I will definitely be working on ProSonic again shortly to put in all sorts of new code to make sure the player can do everything he/she should be able to do in a Sonic game.

Someone is currently checking out the editing utilities I designed for ProSonic. I'll be asking him his opinion on them, how easy they were to work with, and his overall general feel for the designing aspect so far. If he's willing to allow it, I'd like to post his thoughts on my blog.