Friday, December 29, 2006

Christmas Confussion

Christmas was a confusing day for me. The first problem was knowing where dinner actually was, and the second problem was getting there.

A week before Christmas, my grandmother told me that my Aunt Brenda was going to have Christmas dinner this year. That was my understanding all the way up to Christmas day. I helped my grandmother down the steps, and she got in my mom's truck. Because my mom is a slow driver, I decided I would go in my car. When I got to my destination, I knocked on the door and waited for someone to come open it. After a good 5 minutes, I realized nobody was there. So I got in my car and thought perhaps everyone went to my Aunt Billy's house instead. Her car was there, but nobody was home. I thought to myself "is this a ghost town or something?"

I went home a little annoyed because I felt mislead. I know I shouldn't let little things get to me like that, but it's in my nature as a human being. It was pouring down rain, and I just didn't feel like searching around anymore. I decided it was their fault for not giving me accurate information and if they wanted me to come to dinner, they'd have to call me at home first. I did leave a message on my brother's cell phone to let someone know where I was so they wouldn't get worried.

Eventually the phone rang and it was my brother. They explained to me that they were actually up at my cousin's house. Apparently my aunt was supposed to have dinner, but they changed plans and forgot to tell me about it. I couldn't remember how to even get there. They told me and I was started on my way.

After going 8 miles, I figured I was just about there. I turned where I thought I was supposed to. I went up the hill on the dirt road, but it didn't seem to want to end. It took me all the way to the top of the hill. By that point I had already realized I had made a wrong turn. I saw a house at the top of the hill that appeared to still be under construction. I figured that would be a good place to turn around.

As I pulled my car to the side of the house, I realized I was in mud. It wasn't where I wanted to be because I don't like a muddy car. As I began to back up however, I soon forgot about getting mud on my car because I was stuck. It was like being in snow, only worse. I got out and walked around to try and find something I could tug under my back wheel to get some traction. I found some plyboard and tried that. It helped a little, but eventually I realized that I was just going to have to keep trying to maneuver my car back and forth until I could get out of there. It took me roughly a good 15 minutes, but I eventually got turned around.

When I got there, I was exhausted. I was 2 hours late for dinner, and I had mud everywhere. I walked in and told my story to get a laugh out of people. It was good to finally sit down and have something to eat.

Monday, December 25, 2006

Merry Christmas Everyone!

Merry Christmas everyone! I don't care if you celebrate it or not, I'm still going to tell it to you! It's a time for giving and goodwill. Personally I don't care anymore if I get presents or not, because it's more of a family thing for me these days. Sorry if that makes me sound old, but it's the honest truth.

Also I'd like to say I've read a lot of drama going on around the internet lately, and I'm proud to say I haven't had any here. My blog doesn't get thousands of visitors daily and doesn't receive many comments, so that's an important factor. I also feel it's because I've always had a positive attitude here. Rarely have I posted anything that could be taken negatively. If I posted a bunch of negative things I'd surely get more feedback, but people wouldn't like what they read. So lets try to be positive today.

Sunday, December 24, 2006

The New ProSonic Sprite Format

I have finished designing and implementing my ProSonic sprite format into the ProSonic engine. The format encodes sprites in 18-bit color and supports up to 65,535 sprites. It also has mirror and flip flags. In addition, animations are also incorporated into the format with up to 255 frames supported for each animation, and 255 different animations. Animation speeds range from 0 to 255 (measuring frames).

To test the format, I updated the old object code for rings. It displays flawlessly. The sprite blitting code I wrote in the engine also supports 64 levels of translucency which works really well, even when dealing with just 64 available colors in a zone (which surprised me).

The rings animate at the same speed as they do in the original Sonic the Hedgehog games. This is consistent with the old ProSonic engine code, but because the new sprite format has animation data integrated into it, this is one less thing to program. I believe game designers will have a little easier time managing animations with this method.

Wednesday, December 20, 2006

They Do Their Job, He Wants to Sue

Marion Barry was arrested for driving with a suspended license recently. Now he's threatening to sue and has accused the police of racial profiling. My opinion is anyone who drives knowing their license has been suspended and complains due to arrest afterwards is an idiot. He has a past of legal troubles, so I don't think he has a leg to stand on either. You can read about it here.

Sunday, December 17, 2006

Objects Function Again

I'm sorry I couldn't get objects working in the anniversary release of ProSonic. I have them working now though. This is one portion of the engine I decided not to rewrite because I felt it was already written well the way it was.

In the picture, you will notice rings show up. They're black because the sprites are still based on drawing methods of the old ProSonic code. I have a custom sprite format planned out, I just haven't coded anything to use it yet.

Also, you'll notice the level in the picture isn't Chemical Plant. I figured people were probably tired of looking at dozens of pictures of the same level, so I used LIMP (also packaged with the anniversary release) to import Dust Hill Zone from the Sonic 2 Delta II ROM hack. I applied heat filters to make it look like it was hot in the level.

Once the code for the new sprite format is in the engine, the next task will be to put a player in the engine. I am thinking I will write this portion from scratch too since it has proven to be a big challenge taking the old code and moving it over into the new engine code.

Friday, December 15, 2006

ProSonic Anniversary Pack

The ProSonic Anniversary Pack is here! It includes a couple goodies (including the ProSonic engine itself), although none which I will provide any actual support for. I don't consider this an "official" release. I have called this a "camera demo" because there's no player activity yet. I did what I could in the short amount of time I offered myself, so I hope some people are happy.

You can click here to download the anniversary pack. A Pentium II processor is the bare-minimum requirement, but I strongly recommend a Pentium 4 processor as it will do a far better job with performance.

Wednesday, December 13, 2006

ProSonic's New Friend -- AngelScript

I am 75% sure ProSonic will use AngelScript. I don't want to write my own scripting language because it's too much of a hassle, and there are other people who can do a far better job than I ever could. So I think this is a smart decision. It is very close to C/C++ code, and I think it will have the flexibility I need.

I know that as soon as some people read that, they're going to feel disappointed. So let me clarify this again -- you won't have to program or know anything about AngelScript. I will be sure to write software that will work like the popular "event editor" used by Click Team.

I have also been rewriting ProSonic from scratch. I took a break for a few weeks because of college work, but now I'm heavily involved in ProSonic again. On December 15th, I will release a couple of downloads to the public. I can't guarentee it'll be exactly what everyone wants, but I'm doing what I can with the short amount of time I have.

Backgrounds in the new ProSonic engine work flawlessly. This wasn't the case in the old engine due to the methods used to draw the screen. The minimum requirement might be bumped up to a Pentium III processor though. I'm hoping that isn't the case, because I would love to see it run smoothly on my old Pentium II - 400MHz computer.

The new PZF format is complete. I have a PZF compiler that works well too. I have a Chemical Plant PZF file I've been using during tests that's 1.13MB in size. With compression, it can be sized down to under 30KB. I'm excited about the PZF format because of the vast amounts of flexibility it allows. I have an entire library written for the format that is being used in the PZF compiler, as well as the new ProSonic engine.

The future looks bright for ProSonic. Check back for updates, because they're coming just around the corner.

Friday, December 01, 2006

A Little Boy Defends His Family

This is one of the greatest things I've ever read. This is incredibly awesome in my opinion. Please read the article and tell me what your take is on it. I imagine the robbers left the way they did because handling 3 children with one of them being brave probably made them feel uncomfortable. That's the best guess I can come up with.

Wednesday, November 29, 2006

Disaster Area

The house I grew up in about 85% of my life is falling apart. It's a real shame to think house the house used to look and how much things change over time.

A year ago, the roof collapsed in my mom's room, and eventually the roof collapsed in the corner of the kitchen too. A lot of furniture has been ruined since that time. You can't hardly breathe in the house anymore.

Today, me and my brother spent about 4 hours straight getting stuff out, because the roof is finally being redone. We took the water bed apart, tore up all the carpet, shoveled the drywall and other stuff laying in the floor, and basically moved everything out of my mom's room. We also moved some things out of the kitchen, but we were tired after 4 hours of hard work, so we called it quits. Plus, it was getting late (I got home at 10:00).

Eventually, everything in the entire house will have to come out since the entire roof will be changed. It's not just shingles that are changing, it's all the wood as well. I hope eventually we can get that house looking nice again. My dad criticizes me and my brother for not helping out enough, and he's right to do that. I do wish my dad made attempts to change the roof all those years it leaked. I understand it's expensive and such, but it was something that always got put on the back burner. My dad did a lot of hard work, so I'm not trying to say he's lazy by any means. I do think however that he ignored the problem when he could have done something about it. We didn't do anything to fix the problem 15 years ago, so now we're faced with the problem in a far more dramatic way now.

Right now, my legs and back are killing me. My shoes and socks are off because they are covered in mildew. I took a shower because I needed one desperately after being in that horrible environment for 4 hours. It's good to finally sit down.

Monday, November 20, 2006

The Slap Bet

Do you know what a slap bet is? See it in action -- Trust me when I say it's legendary! The clips come from "How I Met Your Mother". It might make a bit more sense if you saw this episode, but I'm taking my chances by showing it to everyone anyway.

Friday, November 17, 2006

Drawing Library Under Development

I have been working on several test programs in my free time to try out some new ideas I have for my ProSonic game engine. ProSonic has become increasingly difficult to update, so I have been rewriting some major portions of the engine's code. As I said before, this is overdue. With my drawing library in development, I should be able to support the features I want without having massive amounts of clutter. The only down side to this is rewriting the code might actually cause the engine to run slower on old computers. I have always had the benchmark set at 60fps on a Pentium II at 400MHz. There's still a chance I can pull it off, but there will no longer be any guarentees.

I have also redesigned the background filters. The old concept was a really good idea, but because the old drawing code was so messy, I found it hard to get background filters working exactly how they were supposed to work. So since I'm doing a rewrite of the drawing code, I figured I might as well update some file formats to support some new features, and the background filters have certainly been enhanced. These background filters are called "composite filters".

The idea of a composite filter is to mathematically break up the background into seperate parts. These parts are called "cells" and have many properties associated with them. Ultimately this will allow background effects in ProSonic like the ones in the original Sonic the Hedgehog games, but with absolutely no programming required. Cells can move on both the X and Y axis at any speed. They can also auto-scroll, grab pixels from another area of the background, and use distortion filters. The composite filters are different than they were before because instead of breaking up the background by horizontal lines only, the background is broken up in horizontal and vertical lines. This means you can carve out a square area and have that square move freely up and down across the background without anything beside it attached.

As usual, this probably sounds like hype. It is hype -- I like talking about what I'm doing for the engine and about all the different ideas I have for it. If I happen to finish the drawing code rewrite before December 15th, I will release a public demonstration of the engine. December 15, 2005 was when I first began writing ProSonic. I feel a 1 year mark is appropriate to release something. If I don't get the drawing code rewritten by that date, I still have something else I'd like to release.

Also, I still haven't forgotten those questions. I will get to them, I promise! Just give me more time please.

Sunday, November 12, 2006

Programming & Progressing ProSonic

I've been able to work more on ProSonic lately. I have completed the new PZF format and have successfully written the library to load, save, and compile PZF files. This is a major step in the development of this project because as I've said before, PZF files are part of the backbone of this project. They contain all the level data like object layout, block-maps, tile-maps, palette, and so on.

On top of that, I have designed a sprite format to be used by ProSonic. Originally I had stated that games using 16-bit color wouldn't be able to load certain types of data from 8-bit color games, and vice-versa. I can't guarentee that won't still be the case to some degree, but I can safely say the new format for sprites is the only format that will be used by the engine. It will work in both 8-bit and 16-bit color modes. It has a sophisticated design that also includes features such as built-in color cyclers and multiple palettes that can be activated on a pixel-by-pixel basis. This will simplify development so there doesn't have to be a standard "reserved" set of colors that are always in the same place in every palette. My format allows ProSonic to locate the colors used for the image and draw it accordingly, regardless what the color indexes are. Of course it also contains data specific to 8-bit color mode so it automatically knows what index it should search "first". And if a color isn't found, ProSonic will grab the closest color to the one it's looking for.

I will also be writing a library for drawing the sprites and tiles because it has become too complicated to rip code from the engine and use it in an editing utility. The problem is I always find myself searching through the code for incompatibilities to work out so the code works the way it should in the specific utility I'm using it in. If the code gets updated, I have to update it in every utility. So a library specific to graphics-related operations is essential.

Once I get all this kind of stuff sorted out, I can get utilities out much quicker and make developing ProSonic less painful. As long as I have the time, I am committed to continuing ProSonic and making it people's choice for a game development environment. I know a couple people don't take me too seriously because they either have something against me, or they simply need interactive proof. I'm trying to get there, but every project needs to go through a bit of a clean-up period sooner or later.

By the way, I haven't forgotten about those questions. I just haven't quite gotten around to answering them yet. I will do the deed, I promise.

Thursday, November 09, 2006

PZF Compiler in Action

I have a half-way working PZF compiler. What it does so far is read text files to store zone names, the number of acts, the number of stages (previously called "timezones"), and various stage-specific data such as level size, starting position, stage music, and so on.

The PZF compiler doesn't import data files yet, and it doesn't write the PZF file to the hard drive. Instead, what it does currently is compile it into memory so it is ready to be read through the game engine. This compiler will also replace the PZF file editor I had planned to do in Visual Basic. Although this isn't as user-friendly, it will be easy enough for most people to use. Hopefully I will be able to encourage others to help me write better tools for ProSonic, and that's one reason the PZF functionality is all programmed in a library that can be easily attached to any program.

PZF files are the back-bone to my ProSonic project because they consist of all the data required for the game engine to load a level. The new PZF format is easy to work with in comparison to the old PZF format. I am going to change it even further because the original plan was to limit files (that is, data files within the PZF itself) to 1MB in size. With the recent plan to allow game designers to have more tiles and blocks, 1MB won't be enough to support what I am aiming for. Instead, the file limit will be 16MB. The PZF file as a whole was supposed to be limited to 256MB, but this will get bumped up to 4GB because of the change to the size limit of data files. Some people may not understand exactly why I impose limits like these -- I do so to conserve space that will probably never be used for anything anyway.

Tuesday, November 07, 2006

ProSonic Still Going

I haven't talked about ProSonic much lately, and certainly I have made fewer posts in my blog lately. I have done only a minimal amount of work on ProSonic in the past week because college is my highest priority right now.

With the release of a new Sonic the Hedgehog 2 beta version, it is up to me to make sure my ProSonic level importing tool (known as "LIMP") is updated to support this newly available version of the game.

I've also only recently been thinking about some ideas to allow game designers to choose how many tiles and blocks they need for each level. So instead of being limited to 256 tiles and 1024 blocks for each level, maybe you need more for a particular level. Perhaps you don't need as many for another level. So I'm thinking of allowing multiple formats of tile and block files. Game designers could choose from 8 up to 2048 tiles, and from 256 up to 65536 blocks. This would allow designers to conserve space, and it would also allow them to have more level material available to them if the current limitations are too strict.

Finally, the PZF format is still being worked on. A programming library is being developed so other people can develop ProSonic tools that may require reading and writing PZF files (e.g. level editors). This library is used inside the ProSonic engine code itself, so it is very flexible and will allow programmers to work with PZF files easily without having to rip anything out of the ProSonic source code.

Monday, October 30, 2006

My Rant About the Price of Incomplete Games

Now I will admit that I get excited occasionally when there's an incomplete (called a beta) version of a game I like available on the internet. I got excited when 3D Realms released "LameDuke" which was a beta version of Duke Nukem 3D years ago. I also got excited when I first played the early versions of DOOM.

As for Sonic games, we've been fortunate to have a couple. We have early versions of Sonic 2, Sonic CD, Knuckles' Chaotix, Sonic Spinball, and now recently Sonic 3D Blast. From what I was told, there's also talk about another Sonic 2 beta version on eBay.

I have a complaint, but it half-way contradicts itself so bare with me. My complaint is back in 1999, you could buy a beta version of Sonic 2 for $200. Now we're paying $700 to get another early game? I do not intend to offend anyone here, but lets be frank for a moment -- that's dumb! I see people get all excited over this, and those same people bid up the price because they're actually willing to spew money for something that isn't even finished. Forget about "doing it for the community" and finding all these secrets. People research these incomplete versions and find them so interesting as I do a couple of them, but what will it ever give a person out of life? Not a darn thing. Nobody in the real world cares if a person owns an incomplete game or not. You can't put that on a job resume or anything. People are paying $700 instead of $100 or $200 because they are easily sucked in over something that isn't that great to begin with.

Here's something else to think about -- why should you have to pay even one penny for something that isn't finished? Would you pay someone to take your car apart to fix something but not put it back together for you? If you pay for a job that isn't done, you're being ripped off. What's even funnier is people who are willing to spend money on incomplete games are not only being ripped off, but they're doing it to themselves! Are secrets in a video game that is 15 years old all that important? Sure it's fascinating at first, but a year later you will look back and say "oh that's old news". So you basically pay a big load of money to get psyched for a couple months out of your life. Unless you don't plan to live very long, I'd say that's the dumbest thing I've ever heard of.

If Sega really thought the beta versions of those games were all that great and were worth money, they would have put them in stores and sold them. Instead, these games are being illegally sold, and they're being sold at prices that are way above those of the complete versions. I will take a beta anyday if it's free, but I will never pay anyone even one cent to get my hands on one. 8 years ago I would have considered spending my money on a beta version, but I'm mature enough now to realize it's a total waste of time and money.

Monday, October 23, 2006

Timed Leave & the Reactions to It

Lately I've been leaving a couple forums. I can't say the mood has been sudden. I think it's that I'm finally starting to listen to what I have been thinking and feeling about them for a long while now.

First I left FUS. I was at FUS for probably 1½ years. Then when I saw someone (who I didn't really know by the way) being repeatedly bashed by some of the forum visitors, I felt disgusted with the place. There were other problems too -- didn't get along with the admins, and I didn't like the negativity around FUS. A lot of people were speaking out against the bashing that was going on, and I used that moment to leave. My leave was well understood by many... or at least that's the story going around.

Then just the other day I left SFGHQ. I had been going to these forums mainly to promote my ProSonic project. I had been posting less frequently the last few months I was there for two reasons -- ProSonic interest seemed to take a dive (I guess they wanted less talk and more visual), and I've noticed some members getting pushed around by rude comments. I too have been the subject of rude comments. I usually push them to the side or make a low-level defensive statement against them. However when I made a topic about my recent GAO encryption I've been discussing, few people seemed interested. That was fine, but then one comment finally fired me up -- "Am I the only one who thinks this statement comes off as incredibly pretentious?" (referring to my October 27 deadline). Some people don't see the big deal, but I do. I argued and he continued on to say that my encryption would fail and basically never become anything. Never would he discuss what I truly wanted to discuss. So I left, and people thought it was the dumbest reason to leave... or at least that's the story going around.

If you compare these two situations, they're the same, yet they're different. I had a feeling I wouldn't get the same type of feedback I got from FUS. It's all timing. If you leave when all the problems involved aren't right up front where people can see them, then they're only going to look at the icing instead of the entire cake. They're obviously going to think you're nuts. If you leave at the moment when bigger problems are apparent, people probably won't think you're so crazy. It's interesting how people react so differently when distress is in the air around you than when it's only in the shoes you walk in.

Truth is I was planning to leave SFGHQ for months, but I never did because I thought maybe things would get better. It's not a horrible place, but I just don't like some of the attitudes of people -- "elitists" I call some of them. Elitism is thinking you're above others... but I look at it with a stereo-type that so far hasn't failed me. The stereo-type of an elitist is someone who thinks he/she can say whatever they want with complete disregard to anyone's feelings. If you have a problem with what they say, tough -- "that's life" they always say. But I say its people like them who make life that way. Outside the internet, it's like I live in a very different world. It's still life, yet I am surrounded by people I actually like! Perhaps that's because there's less of that elitism that I talk about.

The moral of all of this -- if they think you're wrong, you might be, or it could be that they're blind to see anything your way because they're used to their own environment. Just do what you believe and stick it to anyone who wants to laugh at you because of it. In most cases, you know if your actions have been warranted or not.

Friday, October 20, 2006

GAO Encryption

I had some spare time yesterday. So I decided to develop a file compression format of my own called "GAO". Turns out it doesn't compare to other compression formats such as ZIP, RAR, and 7z. However I am curious how well it works as far as encryption goes. So to test it, I have uploaded two files. I have done a single layer of encryption on a file, and I want to see if anyone is capable of cracking it. If you are, post a comment and let me know what you found. I'll give you this much -- the header is 8 bytes long.

If you have a hex editor and want to give it a try, go ahead and download the original and the encrypted files. I don't know how effective my encryption format is, but hopefully I'll stump people. The first one to figure it out fully and post a comment explaining the format by October 27 will get a chance to try the ProSonic engine.

Thursday, October 12, 2006

ProSonic Questions

I am willing to take up questions on ProSonic. I have been seeing some interesting discussions going on at different places and figure perhaps there's some things people have on their minds about ProSonic. Certainly the outline has answered a lot of questions, but I also understand that new questions are likely to come along as development continues. I will make an entire blog post dedicated to answering as many as I can. If you want to ask if a certain feature exists, questions about my recent commercial marketing plan or anything else related to ProSonic, ask it and I will try to answer it. I love seeing questions, but I don't like seeing people confused and making assumptions that simply aren't true (I have been seeing a good bit of that lately). Don't be afraid to ask questions!

I will say that claims that ProSonic won't support network play is flat wrong. I have mentioned dozens of times before that ProSonic will be multiplayer and will be able to run over a network. I plan to support up to 8 players (I might even double that already insane figure).

I also insist that $200 is a fair deal for the commercial license. I am actually considering raising it to $300. There is absolutely a 2D gaming market out there. It's not as big as the 3D gaming market, but it's still there and still has some energy in it. I don't expect many Sonic fans to pay $200 or $300 though. What I am hoping for is to attract companies to use my engine. Of course they can't make Sonic games and sell them -- that would be illegal! They could use my engine to make non-Sonic games though, and I believe my engine is flexible enough to support any type of game. The fee would be a per/title basis, so each game that is created to be sold would require a license. I would be willing to make a deal for companies who want to use it for several titles. Keep in mind however that this commercial license won't be available for a while now because ProSonic is still being developed!

On another topic, I visited my grandmother in the rehab center, and she's actually getting better I think. There's some color in her face, and she can talk slightly better now. She can more her right arm a little bit. She is looking better each day. I just hope she returns to normal, or at least 90%. The biggest thing above all is being able to walk again. Having her not able to walk ever again would be terrible.

Monday, October 09, 2006

ProSonic Objects & Licencing

Part of the idea behind ProSonic is for me to have something I could possibly use to make profit from if I decide to. It will be available for free to anyone wanting to make a Sonic game with, but I'd like to market it too for other purposes. That's why I will not supply anything that has copyrights attached. That's why it won't support MP3 files and why it uses the Allegro library. This shouldn't be a game engine that is limited to just creating Sonic games. The architecture it is being built on is very dynamic and allows for many different possibilities, so it could very easily be used to create non-Sonic games.

Because of this, I would like to spend most of my time programming the engine rather than the objects. The objects (which include players) give it a very Sonic feel. I want less of a headache, so I'm going to be releasing some documentation sometime on how to script objects. Anyone who wants to port objects from the original Sonic games over to ProSonic can do just that. I already have rings perfected, but anything else would be great. I may even give up my role in writing player code.

Anyone who wants to sell games they create with ProSonic will have to acquire a license from me. I am not sure of fees yet, but I was thinking $200. This would be part of the deal if game designers want to use my engine to make money from. I have never once attempting to make money off of any past projects of mine, but this one I feel has a potential that the others never could have had. Heck, I might even try to see if Sega would want to licence it (I doubt it, but I'd try anyway just to say I did).

Saturday, October 07, 2006

I'm Happier Today

My grandmother actually moved her right hand and foot today. That's an improvement since before she couldn't move anything on her right side. I'm so happy to have heard about that, and I hope the progress continues. My grandmother says she's determined to get better and isn't going to be like our neighbor who didn't even try to get better when she had a stroke.

Also, my brother stopped by today. He was telling me some jokes and I recorded one that I absolutely love. The interrupting cow joke is hilarious I think, and he tells it so well! Give it a listen. It's in WMA format, so you'll need Windows Media Player or something else that will play WMA files.

Friday, October 06, 2006

Things Got Worse

Well, we thought my grandmother was going to be doing just fine. The doctor said that she only had a slim 15% chance of having complications.

She can't move one whole side of her body. Her words are very slurred, and she looks very helpless. I tried all day long not to cry. I don't like to cry and always try to hold it in. I am usually successful, but I nearly lost it when I hugged her and said goodbye. It's so sad to see her like that. All my life my grandmother has been strong and kept on going. But I guess when a person hits their early 80s, these things start to happen. It's still very new for me. I was perfectly fine about all of this, but once I saw her today I was forever scarred.

I'm not saying my grandmother will pass away tomorrow. She's still got energy in her, but this is a new phase and I am fully aware that the grandmother I had a few short days ago may never again quite be the one I will have from here on. It's still her, but it's as if I'm looking at her in another world.

The one thing I can say that is positive for certain is that she doesn't look all that depressed. I'm sure she doesn't like being at the hospital, but she still smiles and laughs and all that stuff the same as she did before. The personality is the one thing that hasn't changed, and I feel so blessed for that. I just hope she gets to be a little more independent like she was just a few days ago instead of lying in bed like a vegetable.

Thursday, October 05, 2006

My Grandma Dodged a Bullet

Yesterday my grandmother was talking on the phone and suddenly had trouble speaking. I talked to her for a little bit and when she told me she couldn't hardly talk, I noticed the muscles around her mouth weren't moving. I told her that I knew exactly what was wrong with her -- she wasn't getting enough blood flow in her brain. So I twice asked if she wanted me to call someone (I had 911 in mind) and she told me no because her sister was on her way. They tell you to call 911 in these situations and not to wait around, but I guess it's hard for me to take charge around my grandmother. Her speech returned to normal, but I waited for my aunt to show up. Once my aunt got there, we called 911. I told them I thought it was a stroke. They came and got my grandmother.

The interesting part of all of this is the role I played. I was the one who was completely calm the entire time. My grandmother was freaked out, but was a little concerned about what was going on. My aunt was scared to death and out of breath (not good since she has breathing troubles). I smiled and talked gracefully to them and said I felt my grandmother would be just fine and that it was just a very mild problem. My grandmother didn't look as concerned anymore, and my aunt calmed down. So I was kind of the one controlling the emotions.

We got to the hospital, and eventually they told us they suspected a mini-stroke. They said since her speech came back quickly after losing it, the pipes were probably thinned and slowed blood flow down temporarily. Thank goodness it was only 5 minutes though, because my understanding has always been that brain damage begins to happen around 15 minutes.

My grandmother is still there. They said they'd keep her for 48 hours. I hope they solve the problem so that this is less likely to happen again. But it's also her responsibility I think to begin eating more healthy.

Saturday, September 30, 2006

Rained Out

My dad was going to have a bike show today at his shop. We were all disappointed when it started raining this morning. As you can probably guess, nobody in their right mind is going to ride their motorcycles up to my dad's place just to have them sit out in the rain and get wet. So when 9:00 came and nobody was there, we cancled it. It was unfortunate, but these things happen I guess. So we're going to try for next week. Because we spent so much time cleaning around the shop, I basically had nothing to do and decided to go home early at 10:00. That gave me extra time to do some work that I had to do.

Tuesday, September 26, 2006

Italian ProSonic Outline

Someone going by the name "Sonic the Hedgehog" has translated my ProSonic outline to Italian. It's in PDF format, and you can download it here. You can also still find the English version of the outline in PDF and DOC formats. If you have been following my ProSonic engine closely and haven't read the outline yet, I encourage you to do so.

Also, I have done another webcam video. You can check it out by clicking here. I discuss a little more on ProSonic in it. It's in WMV format, so you'll need Windows Media Player or some other compatible media player to view it.

Sunday, September 24, 2006

ProTools Interface

I'm starting what I am dubbing the "ProTools Interface". This is one single interface that is flexible and easy to work with I can use to create all my ProSonic editing tools. This is the reason I have started doing ProTools.

I love Visual Basic, but I don't know enough to get my PZF file editor working like I need it to work. So since I know more about programming in C, the idea is to still have a friendly interface to work with while sticking with cross-platform C programming.

Right now, I have a dialog box working that can be any size. It has the Green Hill Zone checkered designed. I will soon begin putting my old ProSonic text functions in so text can be written to the screen which I think will look really nice in the dialog boxes I created.

Essentially ProTools will be a library that I will be able to attach to any program I write so I have all the functionality I need without having to write everything from scratch. This will allow me to come out with editing tools a lot quicker. This will also make the rewrite of the PZF format a whole lot easier.

Wednesday, September 20, 2006

Host Troubles

I appologize to everyone who has been trying to grab files linked from this blog. It appears there are some technical difficulties with the host of A number of people have reported not being able to get the ProSonic outline recently, and the problem I stated is the reason. Compro told me his host is usually quite good at getting problems resolved in a timely manner, so hopefully everything will be back to normal soon.

By the way, I bought Sonic Heroes for my computer a few days ago. I had never played it before, and I have to say it's a great game! I can't understand why so many first-generation Sonic fans don't like it. I wouldn't mind if they put out another game similar to it. The only negative things I have to say is it has it's fair share of bugs. I've came by a number of them in the first day I played it. Bugs aside, it's a game well done in my opinion.

Tuesday, September 19, 2006

My Mom's Friend

Sunday my grandmother told me my mom was stopping later that day with a friend of hers. I thought "maybe it really is just a friend", but then I thought that sounded too weird. So I started to think perhaps she was seeing someone.

They stopped by and sure enough, her "friend" was a guy. From what I've heard (and saw once), my mom doesn't always have the best choice in people. However I can honestly say that this might be a good choice. I don't know him very well, but the first impression is very good. I often worry about my mom growing old and lonely, so I'm happy to at least see her making some efforts here.

Friday, September 15, 2006

PDF Outline & Music

A ProSonic fan known as Nineko has converted my DOC formatted ProSonic outline to the PDF format. For those who don't have Windows, this format might be best. I still recommend the DOC format for Windows users though. You can grab the PDF version here. Someone has also offered to translate into Italian which will hopefully increase interest even more in ProSonic.

On the note of music, I haven't forgotten about it. I still want to do more song recordings, but I haven't done any for a good while because my MIDI interface stopped working several months ago. I don't know why it would stop working, but I am thinking maybe I should just get another anyway because the one I have connects to a USB port. USB ports don't have any specific clock speed like standard serial ports do. This means SysEx messages don't work with it. If you don't know what I'm talking about, I'm basically saying I can't read and write voice data (instruments) between my keyboard and computer. So the plan is to find a serial MIDI interface, buy a USB-to-serial adapter (since my computer doesn't have any serial ports), and get myself back into action.

I'm thinking of trying some different types of songs, including some I think practically everyone will love. In the mean time, you can still listen to So In Love which I did several months ago.

Thursday, September 14, 2006

The ProSonic Outline Is Here

I finally finished the outline. You can get it here. You'll need Microsoft Word or another compatible program. If you don't have it, you can download Microsoft Word Viewer.

The outline provides details into the scope of the project and what my goals are with it. It also explains in detail exactly what ProSonic is and why I believe it will be a worthy alternative to making Sonic the Hedgehog games. I will likely update the outline as development continues, but this is a big chunk of information available to you right now. The outline contains over 4,000 words, so it's easy to see why it took me a while to complete it (especially since I've been busy with other things lately).

If you're into creating Sonic games like most of my blog readers, tell people about this outline! I have even provided a button for it if you choose to use it:

Post it anywhere you see fit. I am going to do some advertising myself around different sites.

Tuesday, September 12, 2006

What's Happening With Me

Over the past couple days, I've been busy with college work mostly. I have a report due for my Physics class. I have been taking a small amount of my time to work on the outline for ProSonic though, and I can say with confidence that it's getting close to completion.

Over the past couple days I have also been dealing with a bite of some sort. I noticed my leg was very itchy Wednesday or Thursday night. By Friday it was turning red, and Saturday it was blood-red. It was about the size of a baseball, and my leg was killing me. Unfortunately that was the day I also played music with The Legendary Hellhounds. My dad couldn't play with them because he had way too much work to do, so I filled in. It was a 3 hour gig, but it was a lot of fun. These guys are very friendly and enjoyable to play with. I know most of my blog readers are not in the area. If by chance you are I would recommend checking them out.

Oh and the bite mark is disappearing now. It was pink yesterday, and today you almost can't see it (except for the lump where something stuck me initially).

Thursday, September 07, 2006

Webcam & ProSonic

I bought a webcam recently and have been playing with it a little bit. While writing the outline I figured maybe since it's taking me so long, I could use my webcam to explain at least one small section of the outline to people.

I made a video with me talking about ways the programming isn't necessary to do sophisticated things with ProSonic. You can access the video by clicking the picture. You must have a media player that supports the WMV format such as Windows Media Player. The video is only 2.7MB in size which I think is reasonable.

I wanted to do a video to try something different for a change. Do you like this method of getting information from me? I'd like to hear your comments on this. At the bottom of this post is a link you can click that will allow you to post a comment. Let me know how you feel about videos. If a lot of people like this, I may do more.

Wednesday, September 06, 2006

Still Working On The ProSonic Outline

I still exist! I have just been working on the outline for ProSonic in my free time. It is taking a little longer than I thought it would. My goal is to "sell" ProSonic to people. I don't mean I will be taking money for it. I simply mean I want to convince people who haven't yet been convinced that ProSonic is worth the wait. So this outline is important. The idea is to write something that will last a good while. The outline will contain more information that I had originally planned. Think of this as a campaign to "convert" people. I'd like to get ROM hackers, programmers, Game Maker and Multimedia Fusion users interested enough in ProSonic to actually use it to create some exciting new Sonic games. So hopefully the outline will help me accomplish that, and hopefully that explains clearly why I'm working on this outline in the first place.

Also, I'd like to thank everyone who has used the new ProSonic images. Believe it or not, putting one of the images in your signature at forums you visit really does help. I have tracked a whole pile of visits to this blog from those images. I'd like to come up with some more ways to promote ProSonic. Just recently I was thinking of having a sort of "ProSonic army" for a lack of a better name. This would be a message that people could post on their websites or in their signatures saying they support ProSonic and such. It has to be a message that grabs their attention though. I'll think on this some more and if anyone else comes up with some other ideas, please let me know.

Sunday, September 03, 2006

Linking ProSonic Fans

After the creation of the ProSonic picture yesterday, I continued my efforts by making two buttons today. You can use these buttons to link Sonic fans to my blog for ProSonic information.

ProSonic logo - white background

ProSonic logo - checkered background

Of course if you still prefer the older buttons, you're welcome to continue using them. The smaller buttons are probably more friendly to sites that contain a lot of different links.

ProSonic 196x82

ProSonic 98x41

ProSonic 88x31

Saturday, September 02, 2006

ProSonic Logo

I have been designing a logo for ProSonic, and after playing around with some ideas, I came up with this. I have never been as good ad creating fancy images on a computer like others have, but this is one of my better jobs I think. I'd like to know what others think of the picture I created. I will likely have some variations of the logo (e.g. just have the "PS" by itself without anything else in the picture). I would also like to create some buttons and banners with the logo. I used an older image of Sonic in this picture because I wanted to push the idea that ProSonic was "retro" in that it returns to the roots of Sonic the Hedgehog games. Plus, I always liked the style Sonic was drawn in on the covers of the original games in the United States.

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.

Saturday, July 29, 2006

Metzeler Gone Wrong

The other day, my dad was tuning a gentlemen's motorcycle on the dyno, and on the last pull my dad felt the bike shake. I heard something coming from the dyno room, but I couldn't figure out what it was. My dad wasn't sure what was going on himself, but he knew something was wrong. He almost thought the bike was ready to blow up by the way it was shaking and by the loud racket it was creating.

When he got it slowed down, he got off and saw a bunch of big black chunks from the tire all over the place. He looked at the back tire to find this:


The treads came right off the tire! My dad was amazed, as was the rest of us when we saw it later. My dad in all of his 30-something years of experience working on Harley's had never seen something like that before. The tire was a Metzeler anyway, which my dad considers to be junk. Even so, it shouldn't have came apart like that, especially when it hadn't even had 500 miles on it.

Wednesday, July 26, 2006

Seeing Double?

I am providing some comparison screen shots. It shows how the data and screens actually compare between Sonic the Hedgehog 2 and ProSonic. I have a couple of modified versions of Sonic 2 that I use during testing. The debug counters represent different variables in each picture.

SNAPSHOT 1 - This shows the X and Y player positions. In the ProSonic window, the outlined area on the left shows the standard positions. The outlined area on the right shows the finer position values (256ths). They match perfectly.

SNAPSHOT 2 - You can see the player X and Y velocity values in purple. The player speed is in cyan, and the slope of the floor is in red. All values match perfectly.

This test was performed by having the player run to the right, pausing both Gens and ProSonic at the same point. The values match up at each and every frame. This demonstrates how accurate the algorithms are that I use. I am proud to say that it is more accurate today than it was yesterday. The next challenge is to add horizontal collision. That will fix a few remaining problems and give it even more of a Sonic authentic feel.

Once I get all the collision and movement complete, the final step would be to add block collision swapping. That would involve modifying block collision data as the player passes through certain points. This is an important part to making loop-de-loops work.

Monday, July 24, 2006

Some Hellhound Recordings

I have some recordings from Saturday's performance with The Legendary Hellhounds. I'm not in any of these unfortunately, but I thought they were still worth posting. My dad is playing in them, and he's a very good saxophone player. The mix was aimed to satisfy what is suitable for a typical live performance. This means that the mix isn't as good on tape, nor was it really intended to sound like a studio-like mix. I fixed a few minor things in the mix, but basically I'm putting them up as-is.

Pink Cadillac

Mustang Sally

Further On Up The Road

I don't know why the bass can't be heard. I will also point out that this band doesn't do too many dance songs unfortunately. I think for what they're worth though, these songs are pretty enjoyable. Hopefully you haven't heard them a million times over like I have!

ProSonic Notebook Idea

I came up with another formula recently for my ProSonic engine. This formula was used to create a table of values for the player's acceleration rate on different slopes. While I was working on this formula, I thought of an idea. I figured it'd be a neat idea to put the formulas and other types of information into a document to be made available for download. It would be the "ProSonic Notebook". It would basically outline how many things are done in the ProSonic engine. I thought of a similar idea before, but that was done using PowerPoint.

I still have to implent some code to make exceptions. By this I mean modify the values under certain conditions. There are a couple exceptions in the original games, and it's important that ProSonic is coded to handle these same exceptions. In addition to that, I still need to fix the collision detection. It sometimes thinks the player is off the ground when that simply isn't true. Once it detects the player as not touching ground, it messed up the rest of the movement by allowing the player to go completely off track. I want the player to be able to run down a hill without any problems. I'm not sure where the problem is, but I'll rewrite the collision code if I have to.

Saturday, July 22, 2006

A Night of Sax

My dad played tonight with The Legendary Hellhounds. It could have gone better, but it was fun for me because I got to mix the sound. My dad took over for one set, and I played saxophone in his place. My step mom took some pictures of it, so I thought I would share:

PICTURE 1 - Here's a picture of me playing one of the songs. I don't remember what it was, but I remember that I enjoyed it.

PICTURE 2 - Here's a picture of several of the band members. My dad and the actual drummer are not in this. The drummer in the picture is a guy who took over for one song.

PICTURE 3 - I'm blowing a saxophone solo in this picture. I was really getting into it. The crowd really liked it too. There was cheering and clapping which always makes playing music exciting and more fun.

PICTURE 4 - This is another picture of me playing. I think this might have been taken on a song where I didn't really know what to play to it. Most of the songs were never done originally with saxophone, so I have to make up a part. I'm usually pretty good at that, but once in a while there will be a song I have to think about.

Thursday, July 20, 2006

Pictures From My Trip

I have some pictures from my trip. I was going to ask Audrey if she would mind me putting some of these up. I keep forgetting, so I decided to just go ahead and post them. If she disapproves, she can yell at me later!

PICTURE 1 - Audrey's dad took a picture of us here. This was a fun one.

PICTURE 2 - This is another picture Audrey's dad took. I hate how messed up my hair is in this picture! Also notice I'm the only one who doesn't drink beer.

PICTURE 3 - I thought this was a pretty view, so I took a picture. I think it turned out rather well.

PICTURE 4 - This is Lake Mohonk. We went here to hike and swim, but unfortunately I had to get that flat tire.

Monday, July 17, 2006

Reworking ProSonic Physics

I spent half my day working on a new formula to fix some problems in the ProSonic engine. The formula addresses some miscalculations of mine in the player movement. Although there's more code to be added still, the formula is 100% correct. I've hard-coded the values needed to make the player's speed and acceleration work with precise accuracy. This decision was made so I could keep the engine running as fast as possible. It essentially cuts down on the number of times division, multiplication, and sine calculations are done. If anyone wants to recode the engine when the source code is available, I'll be keeping the complete formula in tact as a comment in the code so the values can be easily manipulated without creating a whole new table. Trust me when I say it's a very complicated formula, but it definitely produces the same results as those in the original Sonic games.

I'm rather excited about this because once I get movement completed, I will work on installing the jump, spin, and other code into the engine. The idea right now is to get the player's movement and functionality complete. A demo may be possible afterwards, but don't get your hopes up. I've been very skeptical of releasing a demo at this stage of development because I still don't think it's of good enough quality to deserve public viewing.

Also, I'd like to announce that I would like to do a Nintendo DS port. I've been thinking about it for several months now, and I really think it's a good direction to go in. Some people have been asking for a port to the Dreamcast and although I haven't completely ruled it out, I will say it's not my highest priority. I think the Nintendo DS would be a better system to port ProSonic over to. I believe there's a much larger audience with the DS, and I also believe the DS is much more easily accessible to people with and without the system.

Saturday, July 15, 2006

It Started Out As a Lack of Gas

My trip was wonderful, except that I paid a lot more than I had planned. I never would have imagined the trouble I had. It started out with me running out of gas.

See, we were driving up to Mohonk, and suddenly my car stalled. It's a mountain, and I was running my car low on gas. It was stupid, but understandable since I don't normally drive up mountains. I was in a bad place too, because you couldn't see around the corner where my car was. There was basically nowhere I could move the car where it wouldn't be in the road.

A nice gentlemen in a truck who was going up the mountain saw me and offered to tow me. There was nowhere on my car to really hook to, so he hooked around the frame. He was pulling me up the mountain, and everything was good. When he was at the top, we was planning to make a wide turn at the gate so I wouldn't have any trouble, but a car happened to be in the way, so he ended up making a much sharper turn. Without power steering, I couldn't turn my car sharp enough. I couldn't seem to brake fast enough either. My car pulled on the chain, and the chain got wrapped around the axle. It completely shreaded my tire.

When I finally got gas which Audrey's aunt and father brought, I headed back to a gas station to put more gas in my car. I was beginning to run low on cash and I knew fixing the car wouldn't be cheap. The steering was about 40 degrees off. I took it to a garage to have it looked at, and they told me I'd never make it back to Virginia unless I got everything fixed there that needed to be fixed. They put on two new tires, realigned my wheels, and replaced the tie rods. I had to pay $600 that I didn't have on hand. My ATM card didn't work there, and I didn't once think about writing a check for myself to get cash at the time. So Audrey's aunt paid for it and told me I could pay her back when I got home.

I'm home now, and looking back I've certainly learned a lesson about gasoline -- don't run it low when you're drive up a steep hill! It happens to all of us, and it doesn't really bother me. The part that bothers me is all the other trouble that came after it.

Monday, July 10, 2006

ProSonic Updates While I'm Here

Me and Audrey are going to get together this week to have some fun. We'll be up in NY which means that I will be away from projects for a little bit. That doesn't necessarily mean I won't be able to add to my blog, but it might. I figure because of this, I'll go ahead and present a little news on the ProSonic engine while I'm still here.

First of all, I have updated the FAQ. You can check it out here. There were a few things that needed changing, and I added to it as well.

Second, I've been working on redoing my algorithms for movement and such. I understand how the original Sonic engine did what it did, but sometimes it's trick to put these things into code. For the past month, I've been paying attention to some flaws in my engine, and I figure it's about time I do something about them. I'm redoing the way the movement is handled, and I really think it'll be a major improvement. After all, the goal is to make sure the movement and such is identical to that of the original engine, so I have to do it right.

Once I fix all of this, my engine may very well be prepared to move into a new phase of development. I will be selecting people to test my work. I will only be handing it over to a few people. Be prepared for this as I will be keeping tabs on the feedback I get from these people and making it public with their permission.

Sunday, July 09, 2006

Having A Good Time

I played music Saturday with The Legendary Hellhounds, a local band that my dad has recently been part of. My dad asked me to come along, and I gave it my all. We played from 8:00 PM to about 12:00 AM. I have some pictures from the event:

DSC01058 - This is the view from where we were. It's a nice and peaceful area. The view here is nothing compared to venturing up the Shenandoah Valley, but it's pretty nice I think.

DSC01059 - This is a picture of everyone getting situated. My dad is playing with the mixer and fixing a couple things. The building is actually a place where they make wine.

DSC01073 - Me and my dad are playing.

DSC01074 - Another picture of me and my dad playing. I think I'm really starting to get the feel of the music at this point.

DSC01077 - My dad is telling me something (don't remember what it was). I thought this was a neat picture because it looks like we're all grouping up together as a team.

DSC01085 - Would you believe this is another picture of me and my dad playing? Well if you don't believe me, look for yourself. The carvings on the horns stand out in this picture.

DSC01094 - This is me playing without my dad. I think by this point he went to take a break. This is probably one of the better pictures of me.

DSC01107 - I remember exactly what song this was. The band was playing "Stormy Monday". My dad played at first while I stood back and watched. Later he came to me and told me to play, so I did. I really got into it and knew exactly what to play. The crowd was cheering and clapping for me.

By the end of the night, they considered me a hellhound member. It was a lot of fun I must say. I guess they'll update their website and include me in the various sections as they did with my dad.

Friday, July 07, 2006

Never Again Will I Deal With Dell

A guy from Dell stopped by today to install a new hard drive to replace the one that died. Since it was under warranty, it was free. The problem I found was this guy basically said if we didn't have the operating system software, he wasn't going to install it and would simply give us a blank drive. He did find a disk though and began installing Windows.

We wanted him to install all the software needed for the dyno, but he refused and said it was against company policy. I found this offensive because it's fully their responsibility when a drive that is guarenteed to last for at least 3 years dies after just 3 months. It's just the same with my dad -- if he worked on someone's bike and it wasn't right, my dad would make sure it was fixed properly, especially if it is an inconvenience to the customer.

The Dell guy left with Windows installing, telling us we could simply follow the on-screen instructions to finish it. He didn't install any of the software we lost when the drive died. That company policy talk is just an excuse -- he could do it, he just didn't want to.

On top of that, we have to send back the old drive in 10 days or we'll be charged for another drive. Then the guy basically says that Dell will "refurbish" dead drives and resell them. He didn't actually say it in those words, but my step mom said "and that's the reason you're here". The guy denied that they "refurbish", and she said "no that's exactly what you're telling me". Who knows where that drive could have come from. I guarentee one thing, I will never do business with Dell ever again. I won't buy their printer ink, their computers, or anything they make. There are better computer manufacturers out there anyway.

Tuesday, July 04, 2006

Simulated Layered Scrolling

After many hours, I have advanced scrolling working in ProSonic. By advanced, I mean it doesn't just take the background and move it across the X axis at a given speed. It scrolls vertically too, and it can simulate layers. This means that designers will be able to split the background into sections and have each section scroll at a different speed both horizontally and vertically. Most levels in the original Sonic games didn't take advantage of moving different layers at different speeds vertically. It wasn't until Sonic the Hedgehog 3 that this was done (the water in Hydrocity and Launch Base). My engine fully supports it.

Obviously the background looks messed up in the picture, but it's supposed to demonstrate how the sky can be split into seperate sections that scroll at different speeds. Each layer will be able to have it's own filter to use too. This is all done on a single plane which means it won't slow the engine down much at all.

The Tornado That Ruined My Fun

My step mom called me today to see if I wanted to play music. My dad was going to this event in Middletown where a band was going to be playing music outside. My dad was going to play with them and wanted me to come along if I was interested. I agreed to it because I thought it would be nice to get out and play for a change. I got ready and told my grandmother I would be leaving around 5:30. By the time I got a shower and fixed myself up really nice, she had dinner ready.

After all this, my step mom calls back and says a tornado came through Middletown. It upset the tent, threw the lawn chairs all over the place, snapped the 2-by-4s, and basically created a mess. It was obviously cancelled. There was nothing they were going to be able to do to fix things just 20 minutes before they were about to setup.

I'm currently dressed up nice still. It's a shame though. I do actually like dressing up as silly as that might sound to some people. A good friend of mine from high school used to call me a "biker-prep"! But anyway, I figured since I'm dressed, I might as well show a photo of myself. It's the kind of photo I'd send my girlfriend.

Monday, July 03, 2006

Dell Quality

I have known for quite some time that Dell has been big into cutting their production costs so they can maximize their production possibilities, but this really surprised me. My dad about 3 months ago got himself a new Dell to use in the dyno booth in his shop. Everything has worked fine up until today.

He was running a dyno test and suddenly a blue screen popped up. I don't remember exactly what it said, but I knew it was something about the hard drive. I figured turning off the computer and letting the memory bleed, and then turning it on would fix the problem. Halfway into booting Windows XP, the same blue screen came up again. I tried safe mode, and it didn't make any difference. I checked the settings in the BIOS and it detected the hard drive.

Finally, I booted it up once more. This time, a different message came up. It didn't even begin booting Windows. Instead, it said there was no partition information. So I brought out the backup computer that he used before he got his Dell and tried linking the hard drive from the Dell to the old computer. It found a new hard drive on the old computer which likely meant the cables were working fine, but then it put a big question mark on the drive's icon and moved it into the "other" category. I tried to open it and it clearly said it was corrupt and couldn't be read. I viewed the drive's properties and it couldn't detect the size of the disk or the disk file system. It was safe to say the drive was toast.

My understanding is that these drives are guarenteed to 3 years? Well it's short about 33 months! We're going to see about having a Dell representative come down and look at it. Luckily, I don't have any fears about the warranty being voided because the computer doesn't appear to have a seal on it anywhere. Still though, doesn't this kind of thing make you seriously consider the quality of these computers? I've heard a few other Dell horror stories, and this one has just been added to the list. My computer is a Dell and it seems just fine to me, but I'd hate it if my hard drive just died out of the blue.

Saturday, July 01, 2006

Wrapping Around

I have done some more work to my ProSonic engine. Now you can wrap levels vertically as done in Metropolis Zone, Marble Garden, and other classic Sonic levels.

This trick is more advanced in ProSonic because it's more flexible. Sonic 1 and 2 allowed wrapping at 2048 pixels, while Sonic 3 and Sonic & Knuckles wrapped at 8192 pixels. ProSonic will allow designers to set a variable for each level that tells the game where to wrap. ProSonic allows wrapping between 256 and 32768 pixels. That's also a hint that ProSonic will support levels that are much larger than those found in all the original Sonic games.

Friday, June 30, 2006

Upcoming Interview & ProSonic

I'm in touch with Katrice of Sonic HQ about an interview. It's still in the planning stages at the moment. I'll post details on the interview when it happens. I'm not sure what kinds of questions will be asked, but I'm sure it'll be fun regardless.

As far as ProSonic, I've added springs. The springs aren't perfect yet, but they're getting there. I also fixed the screen so it scrolls the exact same way it does in the original Sonic games. It really adds more of the original Sonic feel to the engine I think. One thing I haven't changed yet but plan to is the way the main counters work. Right now they're controlled by the Sonic object, but that's not the way they function in the original engine. So I will be making them automatic, even if player objects are non-existant. This would also fix a couple small bugs in my engine.

Wednesday, June 28, 2006

ProSonic Tweaks

Plans to help Glu Mobile in porting Sonic the Hedgehog have stalled for the moment due to some technical issues. So for now, I'm shifting my focus back to adding features to the ProSonic engine. What I've done recently is bug fixing. I fixed a couple problems that would cause the program to crash, and I made it so the screen can't move outside the level area. In addition, I made the engine multi-level, meaning you can now move from one level to another. Before, I had the level files hard-coded into the engine, and it was configured to open whatever file I programmed it to open. I also made it so it will read a list to see what levels come in what order.

Sunday, June 25, 2006

Temporary Change in Focus

Some of the things I have mentioned about ProSonic may be put on hold. Right now, I'll be focusing on doing a couple favors for a mobile gaming company. They're working on a port of the original Sonic the Hedgehog game to a mobile platform, so they'd like to borrow some of my knowledge on the subject. They're also interested in viewing the ProSonic source code and the ProSonic level editor. One task I have is to finish the Sonic 1 support in my level editor tools since I only finished it in the engine itself. So I'm going to focus my time on what they need from me before I continue doing some of the things I was talking about doing with ProSonic.

Thursday, June 22, 2006

Reworking PZF Files

I've been working towards changing the PZF format used by ProSonic. There are a couple things about it that makes keeping it up to date really hard. I'm considering a slight format change that will make it much more similar to a file system on a computer. This will allow file sizes to be flexible, and it will make writing software to read files from the PZF archive easier.

This change came when I decided to design a file format to cycle through colors. After studying the original Sonic games, I came to the conclusion I would need to allow variable file sizes in order to make my engine fully compatible with the color cycling data from the original games.

I'm not sure if all the colors will be allowed to have cycle animations or if there will be a limit. I was thinking of limiting it to 32 colors, but maybe I can find a way to be more flexible there. Either way, 32 is far more than what was ever used in any level in the original Sonic games. The most colors being animated that I found in a single zone was 12. Since there are also under water animations (which would make it 24 colors being animated), ProSonic should therefore support at least 24, but more is better obviously.

Monday, June 19, 2006

Someone Special

You know, I could go on and on talking about all the stupid things about meeting online people. I always felt it was dumb to meet up with someone and expect to have something special with them. Those relationships rarely work, and it's a heck of a lot easier to simply find someone locally. I know a great many girls who clearly like me that I could start something with. Some are good friends.

But a year ago I started talking to Audrey. We connected quite easily. I thought meeting her would be really hard since we're a couple states apart. Friday I went to see her for the first time. Of course I had photos and have talked nearly every night to her over the phone, but that's not the same as animation. I have to tell you as stupid as meeting online people is, it was the absolute best experience I've ever had with a person. We're already talking about doing it again, and things have only seemed to get better for us. Of course I'm not going to trick myself into thinking she's "the one" or anything. I will say she's the best I've had so far.

I don't recommend trying to take online relationships seriously, but I do suppose there are a few rare exceptions where a couple can actually make it work. I've never been so close to any girl in my entire life. I'm still taking things slow with her, but even with a few troubles here and there she's still special to me. Of all the girls I could have, none of them at this point in time can replace Audrey. As long as things continue to stay good between us, none of them ever will. So I'm hoping for the best things to come.

On a side note, I want to mention the Sonic the Hedgehog live action thriller! This will blow your mind! It's worth taking a look at for anyone who's a Sonic fan. Sonic heads out to save Tails, and Knuckles assists Sonic WITH HIS FISTS!

Friday, June 16, 2006

Helicopter Pilot

I think this is hilarious! Someone from FUS made a topic linking to this. This is real footage of a guy from NC ranting about a helicopter pilot to a city council. If you don't like offensive language, you might not want to view it. It's just one word, but I thought I'd give all my readers a heads up just in case.

I should also mention I will be out of town the next few days. I'm making a trip all the way up to New Jersey to see a good friend of mine. I should be back sometime Sunday.

Wednesday, June 14, 2006

Sonic 1 Compatibility

I have added Sonic 1 zone compatibility to the ProSonic engine. Sonic 1 levels use 256x256 tiles, and most of the other games use 128x128. The 128x128 format has been native to ProSonic since the beginning, but with Sonic 1 compatibility, you can load levels using the 256x256 tile format too, so no conversions are required. In addition, the engine also supports 32x32 and 64x64 tile formats. Your game doesn't have to be limited to just one of those formats either, you can use them interchangeably. So you could have two zones for example, one using 64x64 tiles, and the other using 256x256 tiles. I figure this works nicely for team projects where different designers have different preferences. Hopefully people will find this flexibility handy.

Shown here is a screen shot of ProSonic running Green Hill Zone from the original Sonic the Hedgehog game. The downside is that because RAM in that game doesn't store the ring layout, there is no layout for rings in the level when being played. Of course people could either add objects to it, or they could import from the ROM. My LIMP utility doesn't support gathering data from the ROM, but this should certainly be a goal to work towards.

Tuesday, June 13, 2006

Fire Alarm Gone Crazy

Today I was in my Developmental Psychology class. My professor asked me something, and while thinking about it, this kid Chris spoke up and made a joke. We all laughed at it. Then suddenly the fire alarm went off. We went outside and waited for about 20 minutes. When it finally shut off, we went back in.

Chris wasn't in the room immediately. Class had continued, and about 5 minutes later Chris walked through the door. The moment he did, the fire alarm went off again! We went back outside and waited about another 10 minutes.

Back in the room a third time, my professor made sure Chris was in the room! It was kind of funny that everytime Chris did something, the fire alarm would go off. But Chris was in the room this time, and we continued class. When the fire alarm went off a third time, the professor told us to just go home... then it stopped about 2 seconds after he said that. We stayed and continued class.

About a half hour later, the fire alarm went off for the fourth time. The professor waited a couple seconds to see if it was a short one like the third one. When it was apparent that it was going to continue on, he just told us to go home, so we did.

I have no clue why the alarm kept going off. I don't know if it was a bomb threat or what. Back in middle school and high school, this kind of thing was cool because we got out of classes we didn't want to be in. As much as I liked getting out of class now, I have to say it was really annoying after a short while. Either I've just matured, or my patience isn't what it once was. I just hope it doesn't happen anymore because I got tired of sitting out there when I could be doing something more meaningful!

Saturday, June 10, 2006

ProSonic Resolution Pictures

Resolution modifications are now possible in ProSonic. I've made it flexible so any resolution can be used for the engine. Here are some benchmarks I took with the engine windowed on my Pentium 4HT 2800 computer:

- 256x192 (60 fps)
- 320x200 (60 fps)
- 400x300 (60 fps)
- 512x384 (60 fps)
- 640x400 (59 fps)
- 800x600 (32 fps)
- 1000x700 (22 fps)

Those numbers can easily change for better or for worse in the future, so they shouldn't be seen as anything but statistics on how the engine runs currently.

Also, I decided to take two screen captures:

- 640x400
- 256x192

SOME Editor, ProSonic Hi-Res

My good buddy Fuzzbuzz has been working on a music editor for the original Sonic the Hedgehog game for quite some time now. The editor is called 'SOME' and he has recently released a brand new version. I tried it and was left quite impressed. I believe his editor makes my Sonic QX music editor written for Sonic 2 look like fluff! Here's what he says about SOME:

Voice preview - a YM2612 emulated playback of the voice that you're currently editing. (sorry, no stop and play, just wait and listen )

TX81Z Sysex Import / Export - You can now import and export voices into a TX81Z format. TX81Z sysex patches are widely available and I've included a few that were included with SonicQX to get you started. Look on the internet for new sounds!

SonicQX (ymx) Import / Export - You can also import and export voices into Saxman's SonicQX format. Again, I've ncluded a few that were included with SonicQX to get you started. So congrats to all of you who use it.

More features....just take a look.

You can download SOME here. I recommend this wonderful program to anyone. You will need a Sonic 1 ROM file in binary format to use this.

Also, I have been working on the resolution enhancements in my ProSonic engine. It's not quite ready for screenshots yet. I was left a little disappointed when the fps dropped from 60 to about 55 in 640x400 on my Pentium 4 2800 machine. This means I'll have to work on some optimizations. The recommendation for anyone who wants their ProSonic-based games to run fast on older machines is to use 320x200 or 320x240.