Note: image not yet created


What have you been up to in March of 2008?


If you want to understand the blog and how it's laid out, go here.

Apr 30, 2008: Mega progress with my 2D game was made, mostly programming. My story has finally been rewritten in the new format. An unexpected trip to Bismarck occurred though the vacation is now highly unlikely to happen. GameBridge has stopped working and the battle for a replacement TV tuner has begun. 9.95 days is third place record of same song and same day. 27 new dreams are added, now passing over 700 (709).

#1 Mega progress with my 2D game: Starting since mid February of 2008, I began the programming of the 3.x version of my 2D game. I branched off of my "The Interactive Animation" project. I began by first adding what I now officially call the Northern Mebna Hills. These were previously known as the prelake hills. I added one at first to check the looks, then added another to see the effects. I added a few more and the more I added, the more amazed I became. I did previous simulations by using my old-fashioned spreadsheet method to get an idea on the looks, but this gave little in the way of an idea for how it would move and behave. After the hills and mountains were added, I then got to see how the actual result really looked. The first thing that grabbed my attention was how nice it was, if it wasn't for the weak scenery used in the previous project. I eventually got rid of the mountains, houses, and hills from that previous project (I still have the original project - I just opened it and saved my source files under another name then branched off from there. Opening the original "The Interactive Animation" project and running it works just fine).

Disliking the ground I had for the previous project, I wanted to replace it and thus began the numerous redos of the grass texture. First there was too much green, then it was too dark, then the browns weren't visible that well, then it wasn't rough enough, then it was too dark, then not enough browns, and it just kept going on like that... 500 or so times (yeah, I lost count already). Of those 500 revisions, I tested it in the game engine about 50 times and the total time spent doing it was 12 hours, considering it'd normally have only taken about 20 minutes. I soon came up with something, weeks later, that resulted in a very good look. When I began adding the grass texture to the engine the first time, about 30 or so revisions into it already, I began running into a frame rate problem. It turned out that the resolution was far more than I originally thought. I thought that the area in the lakes needed a layer spacing of 0.1 for the minimum. Out in the area where the scaling is around 400, this is minuscule. I think I maybe forgot to account for a detail here or there. The actual result I got was 0.4 for the spacing, mimicked by setting the ground resolution to 4 (which should be avoided).

I had over 34,000 basic layers for processing. By the time I added the first 9 groups, roughly 7500 layers (that'd take 67,500 lines' worth of panel definitions in Gamestudio, not including having thousands more for position setting and stuff), the frame rate was getting unbearably slow. It was dropping below 10 fps sustained and I was hardly past the starting line. I began thinking of ways to increase the speed. From an experiment, I found that DrawDibDraw, the previous function I was using, could only draw 1200 times per frame to maintain 60 fps, really low. I found that AlphaBlend, even though the ground doesn't need transparency, was 3 times faster. I got a few steps further, but again, the frame rate dropped below 10 fps and was unbearable. I knew I needed to add some optimizations to reduce the draw count.

Enter ground quality. Ground quality is simply the number of layers that I skip while drawing the ground. If I set ground quality to 10, there's be 1/10 as many draws needed. 10 is medium-high quality and the best balance between visual looks and CPU usage. With that started, I got quite a bit further, but again, I ran into that dreaded frame rate problem. I figured that the only solution was to use a ribboning effect. That is, each row of pixels had a set scaling that changed based on height. The ground would only shift horizontally and not vertically. This was unrealistic, but it lead to the solution to texture-blurring special effects. I reverted back to my old system and looked for ways to optimize it. I first had a rather awkward system which was quite erratic. It worked quite well and allowed me to finally finish the ground and still have enough processing time for a constant 150 fps. I fiddled with the system some and found a way to mimic the ribboning effect, but also allow the "expanding" and "collapsing" of the ground with the change of height. This didn't have as much of an effect on the frame rate, but it was very decent, until the ground resolution went above 20 where odd black spots were occurring near the horizon. Quality 20 still looked very good overall and it's hard to detect the "defects". I found the solution to this a bit later which allowed quality to get to 50. Even that isn't all that bad.

With the ground all set, I began adding a few special effects, first the ground fog. I used the dynamic scaling method thought of for the ribboning effect to get this and once the bugs were fixed, the result was spectacular and fairly realistic. Since more distant objects are fogged out more than closer ones, the scaling, which is essentially the distance, would determine how intensely fogged out something is. Although it caused another 384 draws for 384 lines (at 1024x768), the frame rate was still decent. I could easily see optimization potential that I hypothesized could reduce it to 1/3 of the original. I went from 384 to 144, 3/8 of the original, which is quite close to 1/3. The 144 is the worst case though. Low to the ground or very high up, this drops to as low as just 48, 1/8 of the original. I then added in another special effect. This would cause the grass texture to blur to a monotonic texture in far distance. This effect also meant another 384 draws. Optimizations would come a few days later that reduced the draw count from 768 to about 270 or so at the worst, a significant improvement.

I then began to redo the entire 90-mile landcape. I took out GIMP and used the same method I did the previous 3 attempts. Upon doing so, I got a constant waving effect throughout almost the entire terrain. It was hard to see in the 1:60 zoom preview which was already a very big image. The problem became most apparent when I began adding the landscape representation to the view. At first, it was okay, but wouldn't you know that there would be a need for yet another redo? When I previewed the landscape, which took much, much longer than I thought, over an hour, I had a very constant waving effect throughout almost the entire landscape. That is, it would steepen up to the 45° slope from the 35° slope, then return back to the 35° slope, with occasional changes where it woulc go to the 50° slope alternating with 40°. Also, at the far zooms, the mountain slopes are far too constant, of which is unrealistic. I knew I needed another redo. At first, I began the fifth revision using the old method of GIMP.

It then hit me - why not use the game engine itself to generate the landscape? I was already a quarter mile into the fifth revision. I was thinking that it would be nice if I could use the up and down arrow keys to adjust the slope's angle. I knew I would loose the randomization I had, causing slopes, especially on mountains, to look more jagged and rough. After a few simple adjustments to the game engine and a temporary function, I got the landscape generation working. I added a few shortcuts like pressing the enter key to duplicate the current slope the cursor is on and append it to the end if fewer than 10 blocks away (originally 4). I ironed out the bugs then began the real thing. It worked very well. When I got into the mountains, the waving effect returned some, but far different and better. Since a 37° slope is not available, it can be replicated by having a pattern of 35, 40, 35, 35, then 40 lined up like that. It's a basic, simple design. That's just 5 pixels, unlike the previous cases which had 20 pixels or so with up to 10° slope differences. During the first two lakes and the Stugu Plains, I, again, had the waving effect, but it was much more gentle and more natural. This went away quite a bit towards the end. New areas were added as well during these revisions of the landscape. I didn't have a "Stugu Swamp" or a "Mebna Islands" anywhere.

The landscape is split into four regions (5 if you include the background). The area you start at is in the eastern part of the Mebna Plains (going to the right is going east - the camera faces north). The Mebna Plains lead into the Western Mebna Hills, short hills that get progressively higher. The Eastern Mebna Hills follow the same design. The Mebna Mountains are next, first with a mountain named "Twin peak" as it has two peaks next to each other with a central dip into the clouds (one of my visions). Mount Mebna follows with the highest mountain of all, Mount Sky, next. Mount Sky is a source of 2 of my visions, including the months-old case where I'm running up a 3:1 (18.4°) slope just above the clouds. The Stugu region follows, starting with the second-tallest mountain, Mount Stugu. Mount Stugu has the 4:1 (14°) version of that, but slightly closer to the clouds. Mount Aza (took a while to come up with a name for this one) is further to the east with Cloud Mountain after it. Cloud Mountain has a lot of its slopes into the clouds and its peak barely gets above the clouds. The Western then Eastern Stugu Hills follow after the mountains, getting progressively lower. Stugu Lake is next, which contains the deepest point, 760 feet underwater, located in "The Great Abyss". The Stugu Plains, containing Stugu Swamp are further east. The Windias region is next, starting with Lake Windias. Lake Windias is the longest single span of water. The Windias region has constant high winds, causing Lake Windias to have the biggest waves. The Windias Hills are just east of the lake and are mostly just rough rolling hills (like old mountains worn down by erosion). The Quredda region starts with Quredda Lake, medium-sized one with small waves and hardly any wind. The very flat and gentle Quredda Plains follow. It's the most level area of the entire land scape as there is very little elevation difference and nothing steeper than 5° for slopes, all easy to get around on. Mebna Lake is next with the Mebna Islands on the eastern side, two sudden hills that rise out of the lake itself. The western part of the Mebna Plains is last with Mebna River at the very start. The city is only found in the area near the place you start at.

Various other changes have been made as well. First, I rewrote the entire function that displays texts to screen. I still have a problem with wordwrap when spaces and tabs start a line, but this is a rare occurrence. I've also added some formatting functionality beyond what sprintf offers. Sprintf doesn't have comma-separated numbers and there's no way to get rid of the "+" in exponential form, at least, from what I've seen. I've always left the comma out of 4-digit numbers (like 6942 or 1728), but I do for numbers of at least 5 digits (like 32,768 or 79,014). When %E is used in a sprintf statement for a number like 773, it would write it as "7.73E+02". If you actually saw how I format my exponential numbers, you never see them with the +. Instead, it would be written as "7.73E02" instead. Exponentials are only used for extremely large numbers, traditionally over a billion, 1E09. This game has it for over a trillion, 1E12. Normally, I use exponential numbers for easier multiplying and dividing of large numbers (plus the related powers and roots). 100 billion stars per galaxy times 200 billion stars in the universe times 5 potentially habitable areas is much easier to work out in exponential form for finding a rough idea on the number of habitable areas in the universe - 1E11*2E11*5E00 = (1*2*5)E(11+11+0) = 10E22 = 1E23. That's a 1 followed by 23 zeros - that's huge!

I do have a host of problems to resolve. First, my timing method is in great need of an alternative, but I have no idea how. Basically, it involves setting up a clock and repeatedly checking it until at least a certain amount of time passes, 16 2/3 milliseconds, to keep in sync with the monitor. There's a very strange bug with this. Whenever I switch to Windows Task Manager to watch CPU usage, I see that there's 30% CPU idle availability and Windows Task Manager only adds about 0.5% or so of this (assuming I cover everything up but this from other programs overlapping it. The rest is going toward the game itself. Oddly enough, however, even though Windows Task Manager is only using 0.5% of the CPU, it's apparently enough to cause the game to frequently jerk due to the time delay being over 16 2/3 milliseconds. In some cases, its as extreme as 40 milliseconds. When programs run in the background such as Norton and Windows Update running automatic updates (Norton being the worst as it causes about 20 seconds of high CPU usage (at normal priority - background tasks like this should be at "below normal" or "low" priority to prevent jerking as it affects Virtual Dub, Winamp, GameBridge TV, and many other time-important programs unless their priority is set to "above normal" or "high", both of which risky as, if one gets into an infinite loop, then closing it is far, far more difficult.), the jerking gets really bad, sometimes with as much as 120 milliseconds for a delay (6 skipped frames!). There is also random jitter that occurs, where areas at a certain vertical position on the monitor vibrate very quickly and it easily becomes an eyesore. The fix is vertical synchronization, but then comes my biggest weakness with programming - knowing what non-self-created functions are needed. I can't create the functions myself as I have no idea how to make variables and strings change the content displayed on the monitor. However, even if I had vsync, there's another problem. My monitor is set to 60 Hz refresh rate. If someone played at 75 Hz refresh rate, which is more common, then the game would run far faster than it should making even rank 4 look very tough, like playing rank 7 (higher ranks mean a much more difficult version of the challenge). This is because 25% more frames are being processed based on 60 fps rather than 75. If I set it to 75 instead of 60, which only takes a few adjustments, then players who run at 60 fps would easily reach and complete the highest rank, rank 8. I would have to find out what the refresh rate is reliably to prevent both cheating, and unfairness. I don't have a solution to this either.

The second problem is much bigger. Experiments have told me that, for a sustained 60 fps and without background tasks, I can only get 3600 draws per frame for just 60 fps. If you run at 75 fps instead, this drops to 2880. That seems like a lot, until you look at the overall breakup. I used to use DrawDibDraw for things that didn't need alpha blending, such as the ground. I used the ground as a guide. I commented out my DrawDibDraw and AlphaBlend versions of the ground, causing the ground to not be drawn at all. The CPU usage was 40%, 28% due to the timing system. That's not all that bad. I uncomment the DrawDibDraw version and I see that the CPU usage jumps to 70%, an increase of 30 percentage points. I comment that out then uncomment the AlphaBlend version and I see it jump to only 50%. This tells me that AlphaBlend is 3 times faster. AlphaBlend reaches the 60 fps limit at 3600 draws per frame. At first, this is not a problem. However, it does become a big problem when you factor in every single detail, especially the landscape. At the 2048x1536 resolution, the landscape in the foreground, at quality 7 (the best balance between visual looks and CPU usage), the landscape needs a monstrous 20,000 draws. If only that was being drawn, you're looking at a frame rate of about 11 fps, terrible. AlphaBlend is just too slow. I need a function that is significantly faster, at least 10 times faster but I have no idea. I actually took out my old, dull-looking 2.4 version of Gamestudio just to check CPU usage and estimate the number of draws per frame. I'm getting about 900 and with practically no CPU usage (about 0.16%). Working out the math, this means that something is 200 times faster than AlphaBlend. AlphaBlend's speed comes from its slow execution. It draws fast, but is slow to execute. I don't notice any difference between hundreds of draws of 8x14 images, for fonts, and sigificantly larger 2048x32 images. 1000 draws of 8x14 is the same as 2048x32, or at least, too close to it to tell any difference. Calling "SelectObject" is also very slow. AlphaBlend has an annoying downside to it as well - premultiplying. If I'm going to have dynamic lighting or dynamic fog, then it means having to reload the original and reprocess the premultiplying. While I can do what AlphaBlend does myself, as I've known the formula since 2002 (except for transparency on transparency outside the resulting alpha, but this does not apply as I'm going from transparency to fully opaque, of which is the method I've known since 2002 (I figured it out since MSPaint, the only worthy enough image-editting program I had at the time, didn't support any transparency). The antialiasing effects could be done, but it's too slow to begin with. While, yes, I know about SDL, I mostly just don't like the terms for commercial use (and there's still my major weakness - knowing what functions to call for those not of my own creations). I just haven't had the motive for it. For now, however, the landscape is just an infinitely thin plate.

This table compares the approximate draw count (per frame) for each feature for various resolutions, comparing the 2.4 version. See the related footnotes for in-depth details on what these elements are, how I figured the draw count, and notes about them.

Feature1024x768
in 2.4
version*
512x3841024x768**1680x10502048x1536***
Ground†54~200~400~580~800
Landscape‡0~1200~5000~10,800~20,000
Clouds~80~80~90~105~125
Mountains††~1012121818
Postlake Hills††~20~17~21~26~30
Lakes††0~400~800~1300~1600
Prelake Hills††0~22~30~45~55
City‡†~16~25~35~50~60
Character†‡11111
Decals‡‡~16~75~80~90~95
Text†††~750~800~800~800~800
Waterࠠ0~80~100~120~150
Special effects†‡†~4~220~450~1100~1600
Other††‡~2~4~8~14~16
Total‡‡†~9373114782715,04925,350
Max frame rate‡†‡~36,000~69~28~14~8.5


Table footnotes:
* This is to compare my old 2.4 version at its most extreme. It functions as a control.
** This is the "standard" resolution and a common one, also used as a reference to the control.
*** This is the maximum allowed resolution for the 3.x version. Although I can only test out to 1920x1440, testing at this very rare resolution is only theoretical-based, which is much less capable of finding bugs, especially those unique to this resolution. It involves the use of knowing patterns and studying the code for a case in which this would actually apply.
† The ground is based on quality 7, the point in which the visual quality is at its maximum (lower values mean better quality up until this point) and processing time is reasonable. Quality 20 is low quality, but it still looks quite decent.
‡ The landscape in the 2.4 version was the ground itself, flat and extending infinitely in all directions. The 3.x version uses a full-fledged landscape. The draw count is based on the worst case scenario and with the greatest optimizations I have. That is, around the 12,000-foot area, 5 textures are to be blended at the most. At first, the rock texture is drawn. Second, the grass texture is drawn on top with an opacity dependent on the elevation. Above 13,200 feet, the grass texture is not drawn as its opacity is exactly 0. Third, the snow texture is drawn on top of this, also dependent on elevation where below 10,560 feet, the snow texture isn't drawn. Next, on top of this is that for lighting, which is dependent entirely on the angle of the slope. Lastly, a chunk of this is chopped out out to form the actual slope itself, simply done by making the upper areas become fully opaque. All of this is done in a temporary 96x512 image. Then, for each terrain block, starting at the furthest point, where each terrain block is 45 pixels (rather than the 60 the character is at), this is drawn several times at an ever-increasing width. The number of times is based on the quality, which uses the same system as that for the ground. The value is based on 7. From the 0.25 scaling at the closest point to the 0.5 area, there are 2496 base draws. Quality 7 reduces this to about 357. Another optimization, where the draw count is further reduced based on distance from the horizon. The closer to the horizon something is, the more "squished" it becomes and fewer draws give the same apparent result. This could reduce the draw count by another 70%, meaning just 110 or so are needed, though this depends on the vertical resolution and the position of the ground itself. At 512x384, the ground spans from 288 to 384, the point where the greatest number of draws are made. At 2048x1536, this is about 440 instead. This is then repeated for each terrain block. Another optimization would be to repeat this draw for other terrain blocks in the focus area with the same slope, but this only saves 5 draws, not much on over 100. For 512 resolution, there are 512/45 or 11.38 of these. At the worst, this would be 13. Why 13 instead of 12? If the far left only needed 0.1, that counts as a full draw, even if 0.001. 11 normal, full ones are made after this, but you still have 0.28 left. Leaving that out will result in a strange look so this needs to be included, adding another. 13 copies of 110 draws means at least 1430 draws like this. If the area is not visible off the far sides of the screen after being drawn, then more can be saved. This could mean roughly about 1200 draws after adjusting, already 1/3 of what AlphaBlend permits on my system. This is how I determined the number of draws for the landscape itself. In certain areas where the 512-pixel-high image isn't enough, more drawing is done, but only at the very closest so that the entire screen is covered for the lowest areas, adding only a miniscule amount of extra draws, typically 1% more. This, however, only occurs when lower to the ground rather than being in the prime area so it has no effect on the most extreme draw count. At the 2048x1536 size, there's over 20,000 draws needed, close to 7 times what AlphaBlend can do for 60 fps. That means you'll only get about 9 fps with just that alone and that is not acceptable at all.
†† The mountains (officially called the "Urusu Mountains") were present in the 2.4 version, only there were 5 layers and not realistically spaced. The postlake hills (officially called the "Urusu Hills") and prelake hills (officially called the "Northern Mebna Hills") did not exist in the 2.4 version. The 2.4 version did have hills though, but they were bunched up in one group. The value for 2.4 is used with the "postlake hills" group. The 2.4 version didn't have any lakes in the background, simply because Gamestudio's design meant needing over 5000 panels and 45,000 lines of code making it boring, tedious, and just not worthy enough. The lakes lie in the "Urusu Valley", as I have it officially called. Because this feature is not yet finished and knowing that it uses a system very similar to the ground and pathway, this is a fairly close educated guess.
‡† The city for the 3.x version is almost entirely unplanned so I can only make an educated guess for now. The only planning is that I want a city/town to be included, and that the fundamental nature of it is to be a small town (the type you'd see far outside of a major city, like one with 100 residents (These are the kinds of things I'm used to so I can more easily and more realistically create such a thing - big cities and sky scrapers of even 10 floors are practically foreign to me.)). The only mid-level planning done is the general position of it, between the pathway (at 0.5 scaling) and the southernmost part of the Northern Mebna Hills (at 7.5625 scaling), a span of just over 700 feet.
†‡ The character (currently unnamed, though "Andre" and "Demetrius" are the two thought of so far, equal in compatibility (this makes decision-making difficult where I often let probability decide for me)) only has one instance of it needed. Although it has hundreds of images, only one such image is to be drawn per frame. If I do find ways to get multiplayer up and going, this could increase based on the number of players, probably 4, 5, or 8 at the most.
‡‡ Decals are not planned in great depth. They do not include special effects like the sky darkening with height or the flare effect. They include objects completely unnecessary to the scene, but help enhance it. An example is an airplane flying high above the mountains, as one of my visions has. Other examples include trees, cars, essentials for challenges (the starting line for example; these cannot be disabled), signs, boats, grass that "buries" the character when on the ground (in certain areas), and various other things. Due to the lack of more detailed planning, reasonable estimates are given.
††† While it seems strange that texts are so high, they play a considerable role. Just to draw the word "example" needs 7 draws, one for each character. Although the draws are small, AlphaBlend takes a long time to start the initial execution for drawing but the drawing itself is very fast. It's this long time to start the initial drawing that makes text a problem. There's more text displayed than "example" though, a lot more. This means that it'll take a considerable amount of time to display. Take the speed area. There's 3 types - diagonal, horizontal, and vertical. The left side has "Speed", "X speed" and "Y speed" in three separate rows. Spaces and line feeds do not add to the draw count. The right side has the actual numerical speed display. It may show "1800.0", "-1080.00", and "-1440.00" for the values. This is a total of 22 for the numerical output and 17 for the text. The header, if added, is another 5, "Speed". This totals 39 or 44 and that's just the speed part. With everything showing and the highest verbosity setting, this easily gets to several hundred. I have no idea what Gamestudio does for drawing or whether or not it draws individual characters as I do. I don't see how a whole chunk could be done without grouping common clusters of letters together like "er", "st", "br", "es", "tion", "ght", etc. but even then, it still gets up fairly high. The value is a rough estimate based on extreme cases (and thus, likely overestimated). That from being in the menus doesn't count, though this could easily add another 200.
ࠠ Water was not present in the 2.4 version as Gamestudio's limitations prevented it (the var's low range and accuracy being the biggest, let alone a few extra panels). The exact method for water (including waves, but not the darking effect when deep under), is not yet entirely planned out. Some optimizing could be done as well.
†‡† Special effects are not planned in detail. The biggest ones are grass, cars, and trees. The space effect, stars, underwater darkening, flare effect, pound stomp shockwaves, etc. are all minor in comparison.
††‡ These are other things, and for the most part, it's just the sky backdrop.
‡‡† This is simply the sum of all the draws of each of the other elements. The more draws, the worse off the frame rate gets. Even with the lowest resolution, 512x384, you can tell that AlphaBlend is not an option. After all, 3600 is the limit on my mid-range system (at the low end of mid-range), and what the 512x384 resolution would have would be 86.5% of the way there.
‡†‡ Max frame rate is how many frames could likely be processed at once based entirely on the drawing as I have it. You might be wondering why the 2.4 version has 37,500 fps for the maximum. It gets 937 draws per frame and it uses 0.16% or so of the CPU (using Windows Task Manager as a guidepost - it shows 0% for 20 refreshes (each a half second apart) then, for the next refresh, it shows 3%, then has another streak of 20 at zero before another 3 occurs). For full CPU usage, you'll need 1/0.0016, or 625 times as many draws to get 100% CPU usage. 625*937 gives 585,625. That's just one frame. 585,625 is roughly 150 times higher than that of what AlphaBlend permits (which is only 3600). That 0.16% is based on 60 frames per second. One frame would need only 1/60 of that, or a very tiny 0.00267%. 1/0.0000267 gives the actual frame rate at full usage. For a sustained rate, the value would have to a bit less, which gives the 36,000 value instead of 37,500. For the 512x384 resolution, getting 3114 draws per frame, its significantly lower frame rate comes from the fact that, for 100% CPU usage, roughly 3600 draws per frame for the same CPU usage conditions. 3600/3114 gives 1.156. Since the value is less than the max for 60 fps, you'd except the value to get above 60. 1.156*60 gives 69.36. For the case with 2048x1536, it needs to draw roughly 7 times as much in one frame, taking 7 times longer. Since the CPU usage can't go to 700%, the consequence is a reduced frame rate. A frame rate of at least 60 fps is needed at the minimum for best play. 30 to 60 fps is still good, though the game is still playable and manageable. 20 to 30 fps is fair as in this range, the game can get more tricky to control, though still managable. Below 15 to 20 fps is poor as this is low end range at which the brain thinks of it being in motion. Gameplay is barely manageable. Below 15 fps is terrible and should be avoided.

So, let's compare where things have come over time through various screenshots since the beginning (ignoring my animated GIFs which would, in a way, date back to late 2001).

The Interactive Animation v1.0 - my first released program
Late Jan 2005


Screenshot #1: The Interactive Animation version 1.0. This is what started it. It was released during late January of 2005, 3 1/4 years ago. The graphics were very simple though a design in Gamestudio caused the images to become 16-bit ones instead of 24, causing a little distortion. It was, afterall, my very first program.

The Supernatural Olympics v2.4 - best scene
Aug 2006


Screenshot #2: The Supernatural Olympics vesrion 2.4. Once I completed my first program, I began to make my first game. As I made progress, fighting Gamestudio's limitations and annoyances, mostly the var's very low range and precision, I finally completed the game. At first, it was impressive, but it had several weak points. Many of them were posed by Gamestudio's limitations.

The Interactive Animation v1.1 - my first released C program
Late Apr 2007


Screenshot #3: The Interactive Animation version 1.1. Although Gamestudio had a feature called "Lite-C" that was to be released, and knowing the case on how long it took before the 6.4 update came (well over a year), I figured it'd just be faster if I went directly to C programming. It took a long time to get the basics - keyboard input, drawing to the screen, setting up a back buffer, and various other things. My biggest weakness in programming is what really slew me down and delayed the project for months. If it involves a function I don't know about or there are so many small variants of it, then I often just ask on forums and sometimes I get ignored, trying a while later. Soon, however, I got the program released and it gave a first hint as to the kinds of capabilities I have - dynamic fog being the first.

The Supernatural Olympics v3.0 - The background scenery
Feb 21, 2008


Screenshot #4: The first developments for version 3.0 of The Supernatural Olympics. This is a view of what the game looked like on Feb 21, 2008. The grass texture, by then, was already around its 300th revision by then and is a case of too much green. The screenshot was taken when I still had the black borders on the right and bottom sides. The sky was also from the previous project.

The Supernatural Olympics v3.0 - The enhanced background scenery
Mar 23, 2008


Screenshot #5: This is what I had shortly before I began working on adding the landscape. When I snagged this screenshot, I was very surprised. It became the best screenshot of all my own creations and within the top 10 of all screenshots. You can clearly see the grass texture blend effect I added. The debug panel shows various variable values in real time. The top 3 lines on the left side shows the speed values, the diagonal, horizontal, then vertical. Acceleration does not change for now. Height is shown in feet with almost the highest verbosity setting used. Visibility does not change either. Draws per frame is the number of draws made to render that frame. This, as stated many times before, can only get to 3600 before the frame rate drops below 60. The time is displayed in seconds, and is the amount of time since the program has been running since it was started. The right column contains various test subjects for which real-time monitoring is needed, where the step-by-step method is useless for.

The Supernatural Olympics v3.0 - developing the landscape
Apr 22, 2008 (click image for full res version)


Screenshot #6: Creating the landscape's fifth revision. After the fourth revision of the landscape, I began adding the functionality of viewing the landscape. Once the bugs were fixed, I examined the landscape, but noticed that the waving effect I thought was going to problematic was indeed problematic. I started the fifth revision using my previous method, but also having the game engine itself as a guide to preview it. The light bulb went off and I modified the game engine slightly to create the landscape in the game engine itself. I fixed the bugs then went at building it again. The screenshot is a view toward the end area, a few days back. The extras around it are some of the things I've encountered. You might be wondering why I have internet blocked and why the "local area connection" window are also showing. For details on this, see the "Norton - the worst tech support so far" headline. The MSPaint window is a scaled down view of the landscape. This is the 1:100 zoom setting of the area with the center of the window being the area shown. To the left (west) is Quredda Lake and to the right (east), is the start of the Quredda Plains. You might recall about the waving effect being a problem and how it was still present in the fifth revision. Well, this is great example. The slope here is intended to be 3°. To get a 3° slope, when I only have 0 and 5 available, I need the repeating sequence of 5, 0, 5, 5, and 0 for the slopes. There are slightly more 5's here making it a bit steeper than 3°, more around 3.1°. This slope is very easy to climb up. What's with the white boxes? They're fake clouds. Yes, fake. The actual clouds are far from finished, but, in order to keep closely to my visions, I need some way to gauge them, so I came up with this design. I didn't care about sorting so you see the most distant clouds being drawn on top of objects that are very close by. Fog is also absent, but I don't need that either. It was solely to get an idea where the clouds would be so I can accurately mimic my visions, especially the case of float-running up the 4:1 slope to the left just above the clouds, my original vision. They are only temporary until I get the actual ones completed, of which will have fog and proper sorting and look much better and more realistic overall. Why the boxed look on the terrain? This has to do with AlphaBlend's slow speed and, worse yet, SelectObject. Another case involves the lack of a way to "cut out" an area. If I could "cut out" an area at the top of the texture, I could improve efficiency quite a bit. Short of using a lot of separate images that hog up a lot of memory, I don't have any solution. To at least get the basic shape of the landscape, I use this boxed effect. Until I find a solution, it'll remain.

I've also recorded a few videos every now and then and posted them on YouTube. This playlist is dynamic and will be appended to later on. The first 3 videos shown are accurate as of the time this blog post was written.



#2 Story rewritten (and in my new format): I've been wanting it for about 1 1/2 or so years by now. If you might recall, I once wrote my story in movie format, where there are plenty of "cut to", "fade to", "montage", and various other things. Before this, I used a confusing play-like format that I saw while in school. I tried book format, but I didn't like it when it came to characters speaking. For 1 1/2 years or so, I wanted to combine the movie format style (mostly for appearance and somewhat for character speech with rare exceptions), my old play format (occasionally used with character speech), and book format (mostly for actions). The best way to compare and explain this is to use an example of the same bit of story (not the actual story or any part of any existing stories):

Book format:
Chapter 14: The fleeing driver

        As I was gliding along outside Kansas City, almost supersonic, I spotted trouble on the highway below. The traffic was in evening rush hour. I dove down toward the ground almost 1200 feet below. I landed in less than a second where I saw policemen speaking with someone at a traffic stop. The drivers were outside speaking with the police about a case of speeding.
        The driver remarks, "I was going 49, not 65!"
        "I got you on radar," said the cop, "and you were going 65 in a 50 zone".
        Suddenly, the driver bursts back toward his car. The policeman chases after him, but, unable to get to the driver in time, he quickly returns to his car. The driver takes off, squeeling the tires, and the policeman takes off a second later. A car chase begins.
        I jumped 90 feet high and began to glide in the direction the driver took off. The policeman follows with a confused look on his face.
        "Who's that guy?" questions the policeman watching as he takes off.
        The driver begins to weave around traffic as he desperately attempts to flee. He comes across an area where two cars are side by side in separate lanes. The driver avoids them by turning into the emergency lane on the right side of the road. The driver encounters an 18-wheeler just ahead in the right lane and remains in the emergency lane until he passes the 18-wheeler. The policeman does the same maneuver.
        I followed the driver, including the tight turns, and often pitched up to keep both height and speed in check. I waited for an opening in the traffic up ahead, but, being rush hour, I doubted that there would be one. The driver, unexpectedly, took the exit after crossing a short bridge over another roadway. I followed along, but realized that the driver was in trouble.
        The driver began to fish tail wildly. He clips the side of a small red Honda then falls into the ditch and crashes into a tree. The red Honda, although it fish tails a little, does manage to recover. The driver, after a 4-second pause, gets out and begins to run on foot.
        "Foot pursuit!" said the policeman into his radio. The policeman gets out and quickly chases after the driver, who fled into the woods. I had the advantage of high speed and great maneuverability, though I was behind at the time. I got up ahead of him, then dove toward the grassy ground. I caused him to trip by simply getting in his way. He couldn't see me through the tall, dense grass. The policeman quickly closes the gap from this. I jumped up and landed in the trees 20 feet above. I saw a small stream just ahead.
        "Get on the ground! Get on the ground!" yelled the policeman. The driver refuses while attempting to get up. "Get on the ground!" The policeman tackles the driver and quickly handcuffs him.
        "What did you run for!?" asked the cop.
        "I wanna go home!" said the driver, very upset.
        "If you didn't take off on me like that, you'd have had your ticket and be on your way. Now you're going to jail for felony evasion and hit and run."
        "Please don't, I'll explain."
        I jump down off the tree and lands on a rock nearby. I look at the cop and the cop looks at me a bit surprised.
        "I helped by tripping him," I said. "This bought enough time for you to capture him."
        "Thank you," said the cop.
        I jumped up and while still going up near the top of my top, I used the flash attack to gain a lot more height, enough to get above the trees and glide around to look for the next area of trouble.

Chapter 15: The robbery


Strengths: lots of text on one page, keeping paper usage down; a very common format; simple formatting; no known restrictions on fonts and font sizes.
Weaknesses: Tricky to find the spot one leaves off at on a page; little organization
My skill points: I'm most skilled for the parts with actions.
My weak points: Paragraphing, character speech punctuating, and the "x said" cases where I get very repetitive.

Format design: New paragraphs are tabbed, character speech is in quotes (each new character is a new paragraph), and paragraphs are all in a block. Chapters split various events and parts group up chapters with a similar theme.

My old play format (used since Jan 1996, 12 1/3 years ago):
< Act 5: Tough, quick crimes >
< Scene 14: The fleeing driver >
Driver(the main character is gliding, almost supersonic, over a highway outside Kansas City; traffic is in evening rush hour; the main character dives toward the ground 1200 feet below, landing in less than a second; sees a policeman speaking with someone at a traffic stop) I was going 49, not 65!
PolicemanI got you on radar, and you were going 65 in a 50 zone. (driver suddenly bursts back toward his car; chases after driver; driver gets in car before policeman could; runs back toward own car; driver takes off squeeling the tires; takes off after the driver in a car chase; the main character jumps 90 feet high and follows the chase gliding; confused) Who's that guy? (Driver weaves around through traffic desperate to flee; two cars side by side in separate lanes force driver to use emergency lane on the right to pass them; An 18-wheeler is directly ahead on the right keeping the driver in the emergency lane; the policeman does the same maneuver; main character follows the driver, including the tight turns, and pitches up to keep speed and height in check; Driver takes an exit after a short bridge over another roadway; Driver fish tails wildly, clips a red Honda, drops into a ditch, then crashes into a tree; the red Honda fish tails a little, but recovers; 4-second pause; driver gets out and runs on foot into the woods; into radio) Foot pursuit! (Policeman gets out of car, chasing the driver; The main character glides ahead of driver then dives into the tall, dense grass; driver trips over main character; main character jumps up into trees 20 feet above; main character sees a small stream ahead; yelling) Get on the ground! Get on the ground! (driver gets up) Get on the ground! (tackles the driver and quickly handcuffs him) What did you run for!?
Driver(upset) I wanna go home!
PolicemanIf you didn't take off on me like that, you'd have had your ticket and be on your way. Now you're going to jail for felony evasion and hit and run.
DriverPlease don't, I'll explain.
Main character(jumps down off tree; lands on a rock nearby; looks at policeman; policeman looks at me surprised) I helped by tripping him. This bought enough time for you to capture him.
PolicemanThank you. (main character jumps; while still going up near the top of jump, main character uses flash attack to get far above the trees; main character glides)
< Scene 15: The robbery >


Strengths: can get into fine details; somewhat organized; plenty of text per page keeping paper usage down
Weaknesses: actions and speech seemlessly blended together making it very hard to distingush
My skill points: Easy to write, character speech easy to work with
My weak points: It's hard to distinguish between actions and speech when proofreading.

Format design: Character names are on the left side while speech and actions are on the right. Actions are in parentheses and are usually very short. Multiple actions in a single group are separated by semicolons. The last action in a group does not have a semicolon. If the last actions are done with the next character to speak, the actions go with that character, otherwise, they go on the current one. If an action is not something the current character does, the character that does it is mentioned first before the action itself (i.e. "Main character jumps" instead of "jumps" - the latter refers to the active character, the one who is speaking). Scenes function as chapters, grouping events together, titled based on the events, and, like HTML, put inside angle brackets. Acts function as parts, grouping scenes together, named accordingly, and put inside angle brackets. Scene numbers are contiguous where, if the last scene in act 1 was scene 3, the next scene, in act 2, would be scene 4 rather than scene 1.

Movie format (as a very close approximation):
CUT TO:

Exterior: Highway outside Kansas City - evening rush hour

The main character glides over the highway. Trouble is seen 1200 feet below. The main character dives toward the ground where a POLICEMAN is speaking with a DRIVER in a traffic stop.
DRIVER
I was going 49, not 65!
POLICEMAN
I got you on radar, and you were going 65 in a 50 zone.
The driver suddenly runs to his car and enters it. The policeman chases the driver but fails to stop him. The policeman returns to his car as the driver takes off, squeeling the tires. A car chase begins.

The main character jumps 90 feet high and glides along following the chase. The policeman sees the main character.
POLICEMAN
(watching the main character gliding)
Who's that guy?
The driver weaves around other vehicles, desperate to flee. He then drives into the emergency lane to desperately avoid two side-by-side CARS occupying both lanes and an 18-WHEELER directly ahead. The policeman does the same action. The main character follows, pitching up to keep height and speed in check. The driver crosses a short bridge then takes the exit ramp and fish tails, but too quickly. During the fish tail, the driver clips a RED HONDA and crashes into a tree. The red Honda fish tails, but recovers. After a 4-second pause, the driver begins to run on foot heading toward WOODS.
POLICEMAN
(into his RADIO)
Foot pursuit!
The policeman gets out of his car and chases after the driver. The main character goes into the wood while gliding getting ahead of the driver then lands in the tall, dense grass. The driver trips over the main character allowing the policeman to catch up. The main character jumps onto a tree branch straight above.
POLICEMAN
(yelling)
Get on the ground! Get on the ground!
The driver gets up, refusing.
POLICEMAN
(yelling)
Get on the ground!
The policeman tackles the driver and quickly handcuffs him.
POLICEMAN
What did you run for!?
DRIVER
(upset)
I wanna go home!
POLICEMAN
If you didn't take off on me like that, you'd have had your ticket and be on your way. Now you're going to jail for felony evasion and hit and run.
DRIVER
(upset)
Please don't, I'll explain.
The main character jumps off of the tree and lands on a nearby ROCK.
MAIN CHARACTER
I helped by tripping him. This bought enough time for you to capture him.
POLICEMAN
Thank you.
The main character jumps up and uses the flash attack near the top of the jump to clear the trees then starts gliding.

CUT TO:
Interior: police station - evening


Strengths: Very well-organized; easy to read
Weaknesses: Confusing to write; formatting complex very restricted (to keep to standards); cannot get into fine details; usage of all-caps can get distracting
My skill points: Character speech and organizing are easy to do.
My weak points: Keeping to the formatting style, and avoiding going into fine details.

Format design: Search Google for an in-depth look at the actual format. Character names are actually not centered, but they're fairly close even though left-aligned.

My new design (combining the 3 styles above):
Act 5: Tough, quick crimes
Scene 14: The fleeing driver


        The main character glides along outside Kansas City, almost supersonic. He spots trouble on the highway below. The traffic was in evening rush hour. The Main character dives dive toward the ground almost 1200 feet below and lands in less than a second. A policeman, upon landing, is speaking with someone at a traffic stop about a case of speeding.

Driver
I was going 49, not 65!
Policeman
I got you on radar and you were going 65 in a 50 zone.
        Suddenly, the driver bursts back toward his car. The policeman chases after him, but, unable to get to the driver in time, he quickly returns to his car. The driver takes off, squeeling the tires, and the policeman takes off a second later. A car chase begins.
        I jumped 90 feet high and began to glide in the direction the driver took off. The policeman follows with a confused look on his face.

Policeman
(confused; while taking off) Who's that guy?
        The driver begins to weave around traffic as he desperately attempts to flee. He comes across an area where two cars are side by side in separate lanes. The driver avoids them by turning into the emergency lane on the right side of the road. The driver encounters an 18-wheeler just ahead in the right lane and remains in the emergency lane until he passes the 18-wheeler. The policeman does the same maneuver.
        The main character follows the driver, including the tight turns, and often pitched up to keep both height and speed in check. The driver, unexpectedly, took the exit after crossing a short bridge over another roadway. The main character follows along.
        The driver began to fish tail wildly. He clips the side of a small red Honda then falls into the ditch and crashes into a tree. The red Honda, although it fish tails a little, does manage to recover. The driver, after a 4-second pause, gets out and begins to run on foot.

Policeman
(into the radio) Foot pursuit!
        The policeman gets out and quickly chases after the driver, who fled into the woods. Although behind some, the main character had the advantage of high speed and great maneuverability, allowing him to get ahead. He dives toward the grassy ground, of which has tall, dense grass. The driver trips because the main character gets in his way and can't be seen. The policeman quickly closes the gap from this. The main character jumps up and lands on a branch in the trees 20 feet above. A small stream is visible just ahead.

Policeman
(yelling) Get on the ground! Get on the ground!
        The driver gets up, refusing.

Policeman
(yelling) Get on the ground!
        The policeman tackles the driver and quickly handcuffs him.

Policeman
What did you run for!?
Driver
(upset) I wanna go home!
Policeman
If you didn't take off on me like that, you'd have had your ticket and be on your way. Now you're going to jail for felony evasion and hit and run.
Driver
Please don't, I'll explain.
        The main character jumps down off of the tree and lands on a nearby rock. The main character and the policeman look at each other a bit surprised.

Main character
I helped by tripping him. This bought enough time for you to capture him.
Policeman
Thank you.
        The main character jumps up and while still going up near the top of the jump, he uses the flash attack to gain a lot more height, enough to get above the trees, then begins gliding.

Scene 15: The robbery


Strengths: Easy to read and follow along; well-orangized; fairly simple formatting; full flexibility with fonts formatting (face and size); can get into fine details;
Weaknesses: Somewhat higher paper usage, though still 10% less than that of movie style;
My skill points: Easy to write, character speech is easy to work with, actions are easy to work with, proofreading is easy
My weak points: None!

Format design: Character names are centered above their speech. Speech has increased margins, typically double to quadruple that of what a tab would have, usually triple. Actions that directly affect speech such as feelings and timing are included in parentheses at the correct areas where they are to occur, usually at the beginning of speech. Semicolons separate multiple actions in a group. Actions that don't directly affect speech use the page margins and are formated in the style books use. That is, they are separated into paragraphs with a tab at the start of one. Separating actions from character speech or separating two different characters is a blank line. This can be a whole blank line or a half of one, half usually since it helps save on paper.

Do note that the spacing is off some due to the design of HTML. There are supposed to be 2 spaces after colons and blank lines between characters. These are strangely left out and I don't know how to fix it.

As you can tell, the new style has pretty much all of the strengths, and I don't have any major weak points with it either. It looks and resembles the movie format a lot, but there are a few differences. The only downside is that it uses about 10% more pages than that of book format. My old play style has been in use from 1996. It stopped around 2005 or so. This is about when I was introduced to the movie format since I wanted my story to become a movie. Books don't appeal to me much. Finding someone interested in looking at it wasn't getting me anywhere at all. I got two responses, one close. My motive soon dropped into negative territory causing me to lose interest.

Then, making use of my math skills, I figured that a book has a much greater chance of success. However, the problem with this came with formating. Book style involves otherwise jumbled up text. There's little in the way of organization. One of my main weak points with book format involves punctuation around character speech. Because of this weakness, present since before 1996 and still present today, I went with the old play format where actions were in parentheses and speech was outside of parentheses. The character names were on the left with the dialog on the right. I recalled seeing this type of design while I was in school. But, having experience with the great organization of the movie format, I used it for the bulk of the design, though I combined aspects of the two other styles. Movie style is based on a minute per page. My style varies (Then again, when you've got a lot of actions and descriptions, then the time per page reduces. Lots of speech means that it increases.). By avoiding fixed-width fonts (Courier New is a fixed-width font), the page count can be reduced significantly, by even 30%. By widening the span for character speech more, the page count drops even more.

The new style has the overall appearance of movie format. The book format aspects are used in the actions. Movie style format is used with character speech. My old play format is rarely used, but in speech, you can still see it, though only when it directly affects speech. The most common things are notations like feelings/tone (e.g. "confused", "shocked", "upset"), and other things involving timing (e.g. "one-second pause" to denote that the character stops speaking abruptly for about one second (this is the most common one (and duration)), "upon reaching 100 mph" to denote that speech is to start/resume when the character gets to 100 mph, "slowly" to denote that speech is to occur slower than the usual, or "yelling" to denote that the character is yelling and is louder than normal). This all combines into a format with numerous advantages, both for me to write and work with, and the overall design and appearance.

With this now in mind, I had just one obstacle: motive. For a long time, over a year, I've had thoughts of rewriting the entire story and using this new format. What stopped me was negative motive. I did get an occasional start, first in book format getting to scene 4, but lost motive. Months later, I tried the new format, which worked okay, but again, scene 4 was the point at which motive went negative. Close to a year later, I gave it another go wondering if I'll make it past scene 4. I had a choice. Nothing was on on TV that was of interest, so I couldn't work on my landscape with any motivation so it was taking out Super Monkey Ball 2. But, playing it for 6 hours straight gets quite boring, even though I've logged 900 or so hours at it already (!). Although I had thoughts of going at it again for about a month, this is what gave me that last extra boost of motive. I crept along, completely rewriting the entire story to account for my more modern methods and know-how. The basic story line's major details are practically the same as that of the third revision. The actions and speech vary. The first revision was that of my hand-written version, at 384 pages. The second revision was when this was typed. The third revision is when I rewrote the entire story from scratch in the design a lot like the current revision. The fourth revision involved converting it into movie format, around early 2005 or so. The fifth revision is the first to use the grand combo format and is the current one. I reached scene 4, the first of act 2, wondering if I'll get past it. After all, the second half of scene 4 and all of scene 5 are nearly my top favorites in the entire story, only after scene 16 in act 6. Scenes function as chapters and acts function as parts. Revisions 3 to 5 have 8 acts and 25 scenes for all of them and the basic, major events within them are practically unchanged. Revisions 1 and 2, however, had 17 acts and 84 scenes. The scenes in versions 1 and 2 were only about 30% as long as my current version. Then, when junk was on on TV again, I returned to my story and made it even further than scene 4, which was quite a surprise. In fact, I kept on returning to it until the entire story was rewritten.

In addition to converting to my new formatting style, there were many other changes I wanted as well. The first of which was the "useless speak" as I often called it. This was otherwise not-so-entertaining character communication that had little to do with the story's plot. I also designed it so that it would be faster, reducing the page count. The movie format version was 324 pages. This new revised version is only 168.2 pages, barely half that. This, however, does not take into account proofreading, which is likely to add more, images, and other minor formatting changes. If the small change between styles (the new style over the movie format), this value, as is, would actually be 269.12 pages, much of which due to a different font used. Bound in a book of a typical 4x7 size (at least, that I've seen and a rough average), this becomes 742 pages, roughly 4.4 times as much. Why that extreme? Consider the printing area. 8.5x11 inches with half-inch margins means a 7.5x10-inch printing area, 75 square inches. A 4x7 book size also with 1/2-inch margins, which also appears to be the norm, means a 3x6-inch printing area, 18 square inches. With word wrap occuring more often, a slight amount of extra is added so we'll call it 17 instead, which is a reasonable adjustment. 75/17 is 4.4. This means that the 168.2 pages becomes 742. Do note that I haven't done any proofreading nor the images done at the time I wrote this blog entry. That means that the actual page count could be about 2 to 5% higher, as it usually is, knowing every case in my past. Converted to book format, this 742 may be about 450 so it's a fairly substantial book (given a 5:3 ratio, which is a close approximation).

So, you might be wondering, what about publishing? Yes, I intend on publishing, provided I finish. There are only 3 requirements in a publisher, ordered from most important to least important:

1. It must support new writers. Because I've never been published before, this is a potential blockade. I have practically no experience with publishing at all.
2. It must cost very little and give a rough idea on the pricing (like $x service fee for up to y pages, then z¢ per page beyond this, as an example).
3. It must support the printing of images. Color printing is not necessary as almost all images are just maps and diagrams, where color really isn't needed. If images are not supported, I have a somewhat worthy alternative - using an even-width font at an extremely small font size, then using characters that fill up as much of a space as possible (for black anyway, the character map hints to others I could use). Even then, I can still get worthy grayscale. I would, however, need to convert a grayscale image into a bunch text written in a TXT file that I can just copy over then convert to the very small font size (and the smaller, the better). My programming skills are strong enough to do that without any need for assistance.

In addition to the requirements, these "extras" would be especially useful for me, again, ordered from most important to least important:

1. It should allow me to upload the DOC file. Knowing that computers are so common nowadays, this is likely to be the case.
2. I get at least 10% royalties, though 15% and above is preferred, both 10 and 15% are common.
3. It should have a service, preferrably low cost, that allows me to suggest scenes from the story to use as a front-cover image and have artists draw it. I'm not a graphics artist and something at the resolution and quality most books have would take me at least a year to do, far too long. It's already taken me 3 months' worth of actual work to get the scenes of my 2D game the way they are and there's still plenty left to do. I have 3 major design ideas at the moment, all scenes of various events from in the storyline, one during scene 8, another during scene 23, and the third, of lowest interest, is one during the end of scene 15. That of 8 is what I actively use as it involves the main elements of the story. Scene 23 involves the main adversary and the main group.
4. Contact with them outside writing should be of great use (Vantage Press fails in this regard). E-mail or forums are far more preferred. I don't trust "live chat" type things, outside toll-free phone. My sleep-wake cycle causes potential problems with phone usage, so E-mail is still high on the list.
5. It should have the option to have proofreaders go through the story, though this often costs a lot so it's of low importance. The new style may pose some problems with this as well.

So, while I proofread my story myself, fixing whatever faults I encounter that way (which makes it easier on the proofreaders if that does occur), you could assist if you wanted by looking for publishers that meet at least the requirements.

#3 Unexpected Bismarck road trip: On April 7, 2008, I, unexpectly went to Bismarck. I had about 10 days' advance (around March 28 or so), but this was not intended. It has nothing to do with the supposed vacation either. Since a family member needed to go there [reason classified], I wanted to go with as it's very rare that I get to get outside of my "cage". A vacation is where I'm away from home (even within this "cage") for at least 36 hours. A road trip is for less than 36 hours but outside of the "cage". While I have taken many photos, most are of the scenery. I also kept a minute-by-minute log as well:

11:56 AM - left home
12:00 PM (noon) - got gas (and myself Hot Tamalies (a candy))
12:12 PM - left gas station
12:34 PM - passed by large windmills, probably 250 or so feet high
12:46 PM - reached Max
12:58 PM - reached Lake Sakakawea (and roadwork; lake was frozen, the first time I've seen it like that)
1:04 PM - Coleharbor grain elevator reached
1:15 PM - Got photos of a coal power plant
1:22 PM - Stopped at a very scenic rest stop and got a panarama-type scene
1:27 PM - Left the rest stop
1:59 PM - Reached Bismarck
2:19 PM - Arrived at destination, taking long due to getting lost with a vague address (and a named street making my address trick useless)
3:02 PM - visit done
3:05 PM - stopped at a thrift store
3:50 PM - left the thrift store
3:56 PM - stopped at a second thrift store
4:41 PM - left the second thrift store
4:46 PM - got photos of a bridge
4:53 PM - stopped at Cracker Barrel (no booths meant I stood instead). See the area after this for details on the puzzle there.
6:12 PM - left Cracker Barrel and for home
6:35 PM - passed by a wind farm (where plenty of wind mills were present)
6:56 PM - stopped at the same scenic rest stop as before
7:04 PM - left the rest stop
7:12 PM - passed by coal power plant and the 150-foot-tall crane (estimated height, based on movement)
7:26 PM - Lake Sakakawea reached
7:38 PM - Reached Max
8:02 PM - Reached Minot, familiar territory
8:14 PM - Came home - mission done!

While at Cracker Barrel, there was a puzzle where an equilateral triangle of 15 spots was present. There were 14 pegs and you were to use any one peg (not the same one) and jump over another - the jumped one is removed, like checkers. You were to get one remaining and only jump over one spot (move 2 spots). On my first run at it, I had it down to just 2, though with some further examination, I got it down to 1, the ultimate goal.

#4 The Game Bridge has collapsed: If you've seen on YouTube that GameBridge has suddenly stopped working, you'll know. If not, I've run into a disaster where GameBridge has stopped working. I'm not referring to it not being able to record videos, GameBridge, as a whole, has stopped working. As soon as I get GameBridge running, it actually hard freezes my system where the keyboard doesn't work (alt+tab overrides anything, but even that had no effect) and moving the mouse doesn't cause the arrow to move at all. If this was a bug, it'd be class 7. I haven't encountered any destruction from it, so it wouldn't be class 8, the highest on my bug scale.

For over a year, I've always used GameBridge the same way. When I want to record something, I hook up my console system to the coaxial input part of GameBridge, if it's not already connected. Then I connect the USB cable. With the USB cable connected, I close all programs except Windows Task Manager. I right-click on the red "V" in the bottom right corner near the clock then choose "Home Theater" from the popup menu. This runs the software for GameBridge. Even today, this works fine. When it loads, of which there aren't any problems, I see three choices - TV, GameBridge, and Videos. The GameBridge part involves the use of the RCA cables, of which I don't have (since my TV doesn't support them) so I've always clicked on "TV". I get a green "Loading..." in the top right corner. Still, no problems. After a second when I click on the "TV" part, I push the power button on my console. This is the point at which the program stops working. After it would normally fully load, the system hard freezes where the mouse arrow never moves, the sound, if anything is playing, becomes that of a single, monotonic tone. Before this happened, I'd get a "send error report to Microsoft" notice. Before that, the TV display jerked a bit then ran as if it had been running for quite a while without any further problems. However, while still loading and the motion is smoothed out, I double-click the TV display to switch to a full-screen display. This takes a while to happen. After it switches to full screen mode, I minimize the window, switch to Windows Task Manager, locate the "Home Theater.exe" process, right-click on it, choose "set priority", then "above normal". I click the "OK" button on the warning that comes up. This is to work around problems Norton causes from its LiveUpdate feature and to drastically minimize jerking (I'd do this with Norton, but I get "access denied" instead). Once the priority is set, I click on the minimized window in the task bar to return to my TV-viewing, which is displaying my game. I've done it this way for a very long time and not once have I had any problems outside a class 5 bug when it comes to recording where the program uses 100% CPU for roughly a minute, of which only happens when the priority is at "above normal" rather than the default "normal". When I'm ready to record something, whether its for archiving or, most commonly, for YouTube, I click the red circle to record. Because of the class 5 bug, I then wait for almost a minute, where absolutely nothing happens outside 100% CPU usage. I get a drink or go to the bathroom and even with both, I can still be waiting for it to start. When it does start, it works fine without problems. I do what I wanted to record, then, when done, click the black square button to stop the recording. This is what I've been doing for over a year.

It was only when April came that the problems started. When I attempted to get the "race course item fun" video of Super Monkey Ball 2, that was when I first encountered troubles. When I clicked on the "TV" banner, it loaded fine, then I got the notice of sending an error report to Microsoft and the program closes. The error report said something of an unhandled exception, probably from writing to memory outside of the program's range, of which is unlikely given that this has not happened once in the 1+ year that I used GameBridge. I restarted the program the same way, thinking it was just an odd case, and it happened again. Once more and it happened again. The fourth attempt, however, worked without problems. I went on to record the video, which was the very last one I was able to get. After having gotten a perfect for SMB2's races (96 points in grand prix mode), I wanted to record a video to show my skills, as I've done for a long time. I, again, encountered the "send error report to Microsoft" notice and got it twice more. Then, on the fourth attempt, it finally loaded fine, but when I followed my usual procedure from before, I encountered an unusually long delay of nearly 4 minutes upon pressing the record button. The longest beforehand was probably about 80 seconds, not 220. This raised orange flags. I thought that the driver went corrupt. When the program did begin to start recording, the system hard froze and the sound began playing this constant monotonic tone that made me turn down the volume my speakers. Alt+tab didn't work and the mouse arrow would never move no matter how I moved the mouse. From that, the only way to get back was to press the reset button on my computer's case.

I then began to follow common troubleshooting tactics. Removing the driver, restarting my system, then reinstalling the driver. I tried again, but the system hard froze again. Thinking that the software was problematic, I uninstalled the software entirely, restarted my system, then reinstalled it. As it began doing the channel scan, it was working fine when the channels it had selected were all static, but when it got to channel 5 or so, I noticed I forgot to turn on my console again and did. Upon doing so, my system hard froze again. How could the console, which has no direct connection to my computer, cause that to happen? This meant that something went wrong with the GameBridge device itself, not the software or the driver. It's not receiving any signal outside static from the big bang until I turn on the console and its at that moment that it stops. Having otherwise mostly ruled out software as being the problem, I began going to the hardware end. I tried switching to another USB slot, which caused the driver to reinstall itself, but that didn't work. I reseated the coaxial cable connection on GameBridge, reseated the console connection to GameBridge, and returned the USB cable back to its original place. Again, another hard freeze. Thinking that my system went unstable, given the case during late December of 2006, I began doing my normal activities, but without using or touching GameBridge in anyway. There were no hard freezes at all and for weeks to come nothing happened. This all points to GameBridge itself breaking down.

Because of this GameBridge "collapse", I'm now in need of finding another TV tuner. I've been wanting one for a while so I can get videos of Bubsy on the Genesis. Earlier, I got a TV tuner card, but it had a quarter second lag causing gameplay to become impossible for games like Super Monkey Ball 2. This wouldn't have been a problem for a game like Final Fantasy Tactics where real-world timing is not important. This lag is the number one problem with TV tuner cards and it means that I'll need to take an unfair gamble. Descriptions of the product practically never mention lag in any way. Reviews may, but rarely do and it takes a long time to sort through them. Why is it a gamble? The big reason: restocking fees. Because this would not be a case of "defective", I'd have to pay the 15% restocking fee. In addition to that, there's also the case of having to pay shipping... twice! This really adds up and can make a $120 TV tuner turn into $400 spent over months of trying due solely to lag and dissatisfaction. For 90 minutes, I searched USB TV tuners on Newegg, of which is what GameBridge is. Many of them don't meet the first requirement - it must have a coaxial cable input. I skip over these. For those that do, I look at the number of reviews, ignoring the rating. If it's got at least 5, I look at the product and the reviews. The specifications practically never mention of any lag so I have to stick with the reviews. I have to read through them to find clues. I use Firefox's find function to drastically speed this up. I look for terms like "lag", "game", "slow", "channel", "delay", "pause", and other things. Why "channel"? I sometimes see reviews stating of the card taking a long time to change channels. That's a good sign that there's lag and that I must avoid that product. If I don't see any of these (and other related) terms on any of the pages, then the product is put in the "bin of possibilities". If any of the pages have these, I then look at the area where it's mentioned and read the review to make sure. If I see that does have lag, a delay with changing channels, or some hint of that nature, then that product is put in the "bin of ignored products". For those products that remain in the "bin of possibilities", I then check other websites that have this same product and check those reviews.

New TV tuner requirements (the TV tuner would be problematic to me without these):
1. It must have coaxial input. Without this, it's useless for my primary purpose - recording activities on my games.
2. It must have a lag of less than 50 milliseconds. Beyond this, games like Super Monkey Ball 2 become excessively challenging making stunts and tough stages practically impossible (except if I pause the game, but who wants to watch a video where I pause the game all the way through it 50 times a minute? That's gets quite boring and annoying.
3. It must cost less than $150. With the lag problem, and having to deal with 15% restocking fees and paying shipping, it could almost double.

New TV tuner recommended features (I can go without these, but they would be useful to have):
1. It should support recording. Why isn't this in the "required" group? Virtual Dub can make up for this. I just start up Virtual Dub and have it run in the background. Then, while playing my games, I use it to record with, though I'd need to be more careful.
2. It should support recording in a format that Virtual Dub Mod can open. MPEG-2, of which is what GameBridge uses, and AVI are just fine. MOV, however, is not.
3. It has fullscreen support. GameBridge has this and if the program does not have built-in recording, then this is fullscreen is bad as VD would need to record a video at 1920x1440 resolution....

So now, the battle begins. Who will win? Will I win where I get a TV tuner that meets the needs and also works with all of my consoles (including the Genesis), or will the TV tuner win where future recording of video game actions will not be possible? Because of the lag problem, and having to return the product dissatisfied with it, it may be months before the battle is over.... Stay tuned (pun intended).

Then, just after I wrote this headline (but before the actual update), I spent another 150 minutes searching around (thanks to drowsiness). While doing so, I found a discovery. While I searched for cards that were both high-rated (at least 4 stars) and had at least 15 reviews, I found a relationship between hardware-encoding and lag. The advantage off hardware-encoding built into the device is that it takes a big strain off the computer's processor. The huge disadvantage, for gamers only, is that this makes the TV tuner extremely likely to have lag. This is senseless as why can't the card just display the most recent frame? The only way that would logically make sense for a one-second lag would be that the device can't keep up, but if it can output 30 fps just fine, this is not the problem. It just shows whatever the oldest frame is in the buffer when it should show the newest frame instead. While this lag is sort of okay for TV-viewing (you'll only notice it when changing channels), it is horrible for gamers who need precision movement (especially the case for games like Super Monkey Ball 2 or Sonic 3). Noticing the relationship between hardware encoding and lag, I started looking for TV tuners that used software encoding instead. The surprise? Pretty much every TV tuner I looked at that used software encoding had reviews stating that it was very suitable for gaming. This means that the amount of lag is extremely low and likely less than 50 milliseconds. Naturally, there will be some lag, since it takes time for the signal of the console to reach the TV tuner and the processor to process the bits it received. This should only take a time frame in the upper microsecond range, maybe the low end of the millisecond range, which is still significantly less than one frame. By "the upper end of the microsecond range", I mean "100 <= x < 1000" microseconds (or "0.1 <= x < 1" milliseconds) and by "the low end of the millisecond range", I mean "1 <= x < 10" milliseconds - a frame is about 33.3 milliseconds for comparison. This "range" span is based on the exponent. "Upper millions" would denote anything "xE08" where X is anything "1 <= x < 10". Anyway, with this discovery in mind, I looked around for high-rated TV tuners and found this TV tuner that looks like good candidate. Given the reviews, stating it works with Sega, this means it could work with the Genesis (I hope). The only downside is that the CPU usage increases a lot, especially for recording. Calculated estimates tell me 70% CPU usage using XviD quality 1 (the best possible) for the 720x480 size. GameBridge uses MPEG-2 instead of XviD and it seems to average about 25% CPU usage for 480x320 recording and 720x480 displaying. When I record videos of activities on my computer, at 512x384 at 20 fps, this gives about 17% CPU usage or so and this is with XviD quality 1. I don't know what the difference is between MPEG-2 and XviD in terms of video quality and CPU usage, however.

#5 Norton - the worst tech support so far: While I have seen bad tech support, this is an actual experience I recently had that now makes me want to dump Norton entirely. I've used Norton (from Symantec) for many years, probably going back to 2001 or so. During all this time, I haven't had much trouble with Norton. Lately, however, it's been causing problems. You might recall that, when I recorded videos using GameBridge, I had to set the priority of the program to "above normal" to prevent it from jerking suddenly. Whenever the jerking starts, I always see Norton as being the cause - it's running LiveUpdate and its using a lot of the CPU and there's a lot of hard disk activity. Although this happened in the past, its extremely frequent now. I recall in the past that it was once every 4 hours, of which is okay. Then it went to once every hour which was borderline. Now, it's once every half hour and it's getting really annoying. This jerking causes everything to have problems - games, Virtual Dub, GameBridge TV, typing text documents, Winamp, everything. For things that are not time-critical such as typing text documents, drawing, or browsing the web, that's fine. For time-critical activities, like games, video playing, TV, and music players, it is a real problem. The solution is simple though - change the priority of the time-important programs to something above that of which is causing problems. A grand fix-all solution would be to set the priority of the problem-causing program lower, but all I get is "access denied". This is where the support comes in.

I asked this back in December and I got no answer, stating that they had a lot of E-mails. Months later, when this became even more problematic, I asked again and this time I did get a response. They didn't mention anything about setting the priority and instead, mentioned of the problem being caused by something mostly unrelated. I simply asked, "how do I change the priority of LiveUpdate and scans"? As the E-mails went back and forth, I noticed that the style and design was extremely repetitive, as if I was not speaking with an actual human, but rather a robot that parses strings in the responses then sends something back related to certain keywords. To verify that this was a robot, I asked to verify that the one I was speaking with was a human. In the next E-mail response, I got something related to sending more screenshots of things, also completely unrelated to the original "change priority" question and the question of "are you human" was not answered, a strong indication that I was speaking with a computer-generated response. Given that the E-mails were always of the same format, with the same typos, they repeatedly did not answer or even think about answering my main question, the complete ignorance of the case about a document referenced to being out of date (and the response that my antivirus was out of date after mentioning that), and the fact that they also respond on weekends (which is unusual, though not a red flag), all points to the fact I'm speaking with a computer-generated response and it's a wonder why I didn't get a response. Then, a few days later, out came a survey for the responses. Guess what - lots of really low ratings. I needed to rate various aspects of the support episode I had and most were 1's and 2's with an occasional 3 and rare 4, all below the midpoint of 5.5. The lone oddball was the quality of the product, of which I rated as a 7. If I could the priority of both LiveUpdate and scans, then I'd have likely rated it a 9 instead. Instead, now as the problem goes unanswered and the fact I have to keep changing priority of other programs, this rating has since dropped to a 6 and I'm very likely to dump it before July starts if the problem remains unresolved. There's no other way I can contact them without having to pay for it. I'm better off just upgrading my Zonealarm to the antispyware/antivirus version instead of just the antispyware one.

#6 Proposed vacation - bye bye: A while ago, I mentioned of a vacation to occur during the summer of 2008 where places were to be chosen. Due to many things suddenly coming up, there's now about a 2% chance of happening so there's now a very good chance that it'll go on to 9 years and even 10 without a vacation. With prices for everything rising so fast, and unexpected costs, the chances went down the drain. On top of that, no one except myself thought of any places they'd like to visit, even though I told them and reminded them a few times. About now would've been the time the place would've been decided on.... Despite that, however, I had an unexpected road trip to Bismarck. This did not meet the one major criteria for a vacation - I'm outside my "cage" for at least 36 hours. The Bismarck trip, trip to Canada in 2005, and Wishek in 2006 all classify as a "road trip", which is simply going somewhere outside my "cage" then returning. It's been so long since I last had a vacation, I have actually forgotten entirely what it's like to be on one.

#7 TV ad muting - wrong values: In my previous blog entry, I stated of muting TV ads and I listed the four "classes" of ads. This part is correct. The values, however, were wrong. "Spam" occurs only about 10% of the time, far less than I originally stated, but the 100% mute rate is still the same. "Junk" occurs about 50% of the time and typically has a 90% chance of being muted, not 95%. "Normal" ads occur about 40% of the time and have a rather small 10% chance of being muted rather than 30%. "Good" ads are extremely rare, less than 0.1% of the time, so I can't say with certainty as to the muting rate, but it's more around 2% as my best guess. The odds of going through an ad session is still roughly the same as before. Now that I know how to calculate the odds and that I took a "survey" of the distribution, I'm now much more certain of the ratios. The values actually vary some from station to station. CNN Headline News is more prone to "junk" and "spam" ads, but it has fewer ads per session (3.9 versus 4.8). Some ads that play pretty much every session may start off as "normal", but get "downgraded" through repeated playback. The ad on the "Investigation Discovery" channel for "Most Evil" is one such case, the one that starts with "there are 22 types of evil". That started off as a "normal" ad, but with it being played almost every single ad session, it has worked its way down to the bottom, "spam", causing it to be muted every time it plays instead of just a 10% chance.

To calculate the odds of making it through an ad session without muting an ad, you first need to find the chance of an ad, at random, of not being muted. To do this, we need to find the probability of each ad type of not causing a mute. Let's take the "normal" class, the second-most common. 40% of ads are of the "normal" class. There is an 90% chance of it not being muted. 40%*90%, 0.4*0.9, means 0.36. That means the "normal" class has a 36% chance of avoiding a mute, just a like a roll of a die has a 16.7% chance of being on a 3. The junk class is done the same way. 50% of the ads are junk and there's an 10% chance of them not being muted. Do the multplication, 0.5*0.1, and you get 0.05, for a 5% chance of avoiding a mute. Spam has 0.1*0 or 0, a 0% chance of avoiding a mute. Good ads don't really count because they're practically off the charts. Because each event is mututally exclusive (you can't have a die show a 3 and a 5 at the same time and only one ad plays at a time), the probabilies are simply added. 0.36+0.05+0 gives 0.41, roughly a 41% chance. That seems high, but that's only one random ad. A typical ad session, for the most part, averages about 4.8 ads. To find the final intended result, we just need to raise 0.41 to the 4.8 power and you get the final result, 0.013847, or about a 1.3847% chance of avoiding a mute in the ad session, roughly a 1 in 72 chance which matches very well with my observations, though a little low. There's also weighting as well as some ads occur more frequently than others which could increase the odds to about 1 in 40, which is practically right with my observations. An hour-long show typically has 5 ad sessions so that means I'd have to wait 8 to 14 hours before I encounter an ad session that will not get muted, a long wait. Ad sessions typically occur at a rate of 8 (for 30-minute shows and CNN Headline News), 6 (for some 30-minute shows and other hour-long shows), 5 (for most hour-long shows), and 4 (for 2-hour-long shows). Boomerang is an oddball where it's only 2 per hour.

#8 My political opinion: While I'm not into politics much, my area, the US, is having campaigns going on. So, you might be wondering which candidates I'd (have) chose(n). The answer is simple: none. Because I have no idea how you vote in the first place, this presents a problem. On top of that, I have no idea what the differences are between the two are. Furthermore, my lack of knowledge with politics in general is also problematic. As a consequence, if I was forced to vote, I'd rather just take out a coin or a die then roll it. In the absence of that, I randomly pick a word that I can see then use the first letter of that word to decide - if odd (a, c, e, g, i, etc.), it's choice 1, and if even (b, d, f, h, j, etc.), it's choice 2. It's a strange way, but it works. In short, I have no opinion and would rather see the race become a exact tie. I do recall, however, from a small, "fun type" survey that I'm more democratic, but in reality, I have no idea what the difference is between democratic and republican (that's part of the case of lack of knowledge).

#9 27 new dreams, 709 total, and 3 noteworthy ones: March was quite dull with dream-recalling, but April had quite a few recalled, until the end. Of the 27 new dreams, 3 are noteworthy. On March 1, I had one (dream 2-105) that has a very high nature rating (not the highest though, still only 14% of it). I actually wished that the game it had was a real game I could buy. Dream 11-81, occurring April 1, a month later, although a bit scary, has a slightly higher compatibility and ranks closer to my favorites, though still only 15% of the way to the record. I think that this dream actually hinted to the the future, complete rewrite of my story. Even with now 709 dreams, a staggeringly high number, it is the only such dream to feature any of my supposed "imaginary friends, particularly one that is used in my story. Also, dream 4-15 is noteworthy. Although it is a nightmare, I haven't had anything that scary in years, but it still pales in comparison to the worst of the worst, especially since it was only the last 10 seconds that was really bad, let alone an entire dream.

#10 "Bumping deserts going off": When I have both my computer and my MP3 player playing "Desert Zone" together, I often state that I've got "deserts going off". Note that it's "deserts", the landscape type, rather than "desserts", the food. Occasionally, I may have "bumping" appended to the beginning, making it "bumping deserts going off". This is due to its rhythm, which makes the song an easy favorite.



Daily Events



Mar 1: 2 dreams in one night, with a day split (the first dream at 11:20-something PM, the next at about 2:10 AM with leap year day as the first - what a coincidence!) I pass the 30-mile marker and reached the summit of the second-highest mountain, Mount Stugu. I took a shower afterwards and thought of a new enhancement to make the game more professional-like. I went grocery-shopping and on the way back, I thought of a way to optimize the ground drawing. At the end of the day, I attempted rewriting the textual plans in Word but soon rejected it and went to finish adding theose new ideas. 32.5 miles so far. Current song: same as yesterday, all day. Woke up at 2:51 AM and went to bed at 7:02 PM.
Mar 2: 44 1/2 miles and a small problem - too many mountains. It seems to go a mile and a half too long. Lots of TV was involved as well, making progress while listening, focusing most during the ads and spam. I've been at high activity for quite a while. High is nearly twice as fast as medium [based on the checklist]. I'm hardly using the net lately due to this high involvement. Current song: same as yesterday, all day (MP3 Desert Zone 92%). Woke up at 5:19 AM and went to bed at 8:00 PM (±1 minute).
Mar 3: 47 miles and the mountains/hills are done - what a close call! 46 miles was the cap with a one-mile lead-in, as originally planned. After finishing that last hill, I hit a snag - how long is the first lake? My old plain text Wordpad document was highly outdated so I spent the rest of the day updating it, copying in some parts. Late in the day, I watched "download..." on TV and learned many things I didn't know about. I probably first used the net for home use in 2000, but I was never active until July 23, 2001 (±1 day; the day at which first joined forums). At the end of the day, I reprocessed SMB2 Title for my MP3 player. Current song: Desert Zone 75% for 2/5 of day, swapping songs for 1/5 day, SMB2 Title 85% 2/5 of day (MP3 SMB2 Title 80%). Woke up at 6:26 AM and went to bed at 11:24 PM.
Mar 4: A well-recalled, well-liked dream, nice! The day was dominated by TV and the design document. I've thought of a few new additions to a feature I thought of 3 days earlier [it's classified]. I've also got several formulas as well, including that of the speed blast. I made no progress with the terrain map. Current song: SMB2 Title 85% (MP3 unchanged). Woke up at 8:51 AM and went to bed at 12:59 AM.
Mar 5: 51 miles, and 5 hours to fix a problem with the previous gliding formula. After eatting and my usual daily check, I went at finishing off the important stuff for the design document. One of these was the formula I found roughly a year ago for pitched gliding, but found a serious problem. Left as is, one could pitch up at an 11.8° angle or so and climb indefinitely, of which is not the case in my mind game. I spent a long 5 hours fiddling with it to attempt to fix the problem. I soon did 95% of the way. at a 60° pitch, the diagonal speed is significantly reduced - 530 from 800, roughly 2/3. Working on the terrain map followed reaching both 51 miles and the the lowest point in the game. I've got another 5 1/3 miles to go for Stugu Lake. Current song: SMB2 Title 85% 4/5 of day, 80% 1/5 day (MP3 unchanged). Woke up at 10:27 AM and went to bed at 1:25 AM.
Mar 6: 56 1/3 miles, 2 new challenges and tournaments, and more planning, mainly the tutorials. I finished Stugu Lake and reached the Stugu Plains for the terrain map. This took up about 2/3 of the day. The last 1/3 involved the plans. I hit a snag with the Stugu Plains - how far do they span? I checked my plans and found it was strangely absent but I found it in my cluttered up old plans. I noticed that the tutorial section was missing from the main plans along with a classified feature so I added these. Then, out of nowhere, 2 special types of tournaments were thought of. Along the way, I came up with 2 more challenges meaning I need 5 more for another tournament. The concept for the quick run tutorial is done, but not official - 5 minutes is within reach, even 4. Current song: SMB2 Title 80% (MP3 SMB2 Title 70%). Woke up at 12:54 PM and went to bed at 3:29 AM.
Mar 7: 58 1/3 miles. I first ate then took a shower. I did my daily check then went grocery shopping. When I returned, it was TV and the terrain map, but had the urge to play SMB2 for 2 videos - story mode stages and 13,000 points in Monkey Target. I processed the latter - the former has way too many mistakes. After getting the video processed, I returned to the terrain map adding another 3/4 of a mile. Current song: SMB2 Title 2/5 day, swapping speeds for 1/10 day, 88% 1/2 day (MP3 82%). Woke up at 1:02 PM and went to bed at 6:15 AM.
Mar 9: 61 1/3 miles and finally the 4000 mph video, after another hour at attempting it. First it was the terrain map, finishing the Stugu Plains. Next it was SMB2, thanks to an urge, to see if I can get that elusive 4000 mph video. I did manage to get it an hour in of several close ones, but better than originally intended. First, I made the goal, a first at that speed, and second, I got 4500 mph rather than only 4000, giving about 20% more height. I tried to get a video with Monkey Target and Action Replay, but don't like it, though I found a way to get the speed to show a number beyond even 9999.... I also got a renewed version of the best-liked songs from SMB2, now including world 5, a new one. I got started on Lake Windias afterwards. Prank callers again.... Current song: SMB2 Title 88% 3/5 day, SMB2 World 5 1/5 day (MP3 SMB2 World 5 85%). Woke up at 5:30 PM and went to bed at 10:39 AM.
Mar 10: 67.8 miles, 30,000 mph fall with a new video. Plenty of TV was involved, but I did nearly 6 1/2 miles' worth. On top of that, I got a video of the oddities in Monkey Target the "sonic moon jump" Action Replay cheat allows for and while processing the video, I set up for an extreme fall, dropping from 2700 kilometers high for over 30,000 mph and recorded the record-long fall, but didn't process it. SMB2 World 5 has its "good zone" from 78 to 90% true speed. It has 3 parts where the first is the best and the second is a close second. The third is the worst and a distant third. About 3.2 miles remain for Lake Windias then its the Windias Hills afterwards. Current song: SMB2 World 5 85% (MP3 unchanged). Woke up at 9:27 PM and went to bed at 11:59 AM.
Mar 11: 71.05 miles and a video of the process. Iplayed a bit of SMB2 as well. Little TV was involved. I got 3 1/4 miles done. Nothing special much really happened though. At the end of the day, I made and processed a video on how I work on the terrain map. Current song: SMB2 World 5 1/10 day, 90% 3/5 day (MP3 unchanged). Woke up at 10:59 PM and went to bed at 3:28 PM.
Mar 12: 74.1 miles and the Windias Hills are done. 3 miles done and new sections were added to the plans. I've now started the Quredda region, which involves Quredda Lake and the fast-to-do Quredda Plains. Mebna Lake follows then the western and central part of the Mebna Plains. Some TV outside eating was involved, but not much. Mostly CNN Headline News was involved. I especially like 82% true speed of SMB2 World 5 - I seemed to have hit a sweet spot. Current song: SMB2 World 5 82% (MP3 SMB2 World 5 82%). Woke up at 2:16 AM and went to bed at 5:48 PM.
Mar 13: 77 2/3 miles, nearly 3.6 miles done. Lots of SMB2 was involved and an attempt to get a video of it failed - too many mistakes and a stroke of bad luck hit starting with world 1-3. I stopped at 2-8 attempting the red goal but kept starting late and not doing it right. Current song: same as yesterday for 3/5 day. Woke up at 2:37 AM and went to bed at 6:14 PM.
Mar 14: A scenic dream, nice! Quredda Lake is done, master stages done, an excellent round of golf recorded! Before I started the Quredda Plains, I took a shower then went grocery shopping. I got Domino's as well, of which I haven't had for several months now. Before my shower and while working on Quredda Lake, I proessed the master stages video and uploaded the first segment. When I returned, and after I ate, I finished uploading the other 2 segments. The golf one was only partially processed. Current song: same as yesterday for 7/10 day. Woke up at 5:58 AM and went to bed at 11:17 PM.
Mar 15: Quredda Plains started, but I hit a snag involving the future archery game. I took out SMB2 and started the video walkthrough and, for the last 5 hours, processed the lengthy 3-hour video. Now I jst need the vocal track.... Many parts came out better than expected. Nothing much else really happened, though I broke my streak for the same song records - 1/3 day is too low and thus it doesn't count, resetting the "days in a row" value. Current song: same as yesterday for 3/10 day. Woke up at 10:06 AM and went to bed at 3:50 AM.
Mar 16: Video stream done, bonus stages left out but added, no terrain progress, but I got the solution to yesterday's snag. How to combine gravity with drag and wind speed, that I don't know (mostly gravity and drag is the hard part, except if straight up and straight down (but that's not expected for an archery game with the target about a mile away). At the end off the day, I was about to start the vocal track for the walkthrough, but was rather tired so I, instead, processed the 3 songs for SMB2 - worlds 6 and 7 (7 now my current), and Target Zone. Current song: SMB2 World 7 80% 3/5 day, 85% 3/10 day (MP3 SMB2 World 7 85%). Woke up at 2:02 PM and went to bed at 2:42 AM.
Mar 17: The terrain map is now done! I finished it all in one go. I started the vocal track for the SMB2 walkthrough and only got 2 minutes into it - drowsiness cancelled it for the day. The bulk of the day involved finishing the terrain map. At the end of the day, I took out one of the samples, the 1:120 one (would've been 1:60, if GIMP didn't take 15+ minutes to load it), and added in the clouds and water to get a sense of it. GIMP is slow... then again, swap file is used which really slows things down even more. Current song: SMB2 World 7 85% 1/5 day, SMB2 World 6 90% 1/5, 85% 3/5 (MP3 SMB2 World 6 75%). Woke up at 12:07 PM and went to bed at 6:09 AM.
Mar 18: Full color preview of terrain done and split... with 5 crashes. Position and orders sorted for 23 challenges (or not for 7). One more challenge and I'd have 7 tournaments instead of 6 and getting thatt now seems to be 99% likely before release.... The revised terrain map helped with that some. Working the plans dominated the last half of the day. GIMP seems to have a class 6 bug when it comes to very large images. I'm getting getting a message, with tens of thousands of repeats, stating of invalid parameters for reading the tile. After 5 crashes, due to selections misbehaving (odd effects), one infinitely loop (that's nothing new though class 7), then I went with the next smaller size - 1:180. 72,000x3840 for an indexed 1-bit image is too much for it. Current song: SMB2 World 6 85% 9/10 day, 80% 1/10 day (MP3 70%). Woke up at 3:22 PM and went to bed at 6:26 AM.
Mar 19: Full color preview of the landscape is redone - now high res and with a "ruler". 12 minutes into the SMB2 vocal track - the first stages are boring and of low excitement. I thought of a solution for working on the terrain map for a very high-res view - 1:120 zoom (versus 1:180 yesterday). I also have a solution for using the 60, but 5 segments of 28,800 isn't worth it for the 15+-minute load times of GIMP to split it). I finished up the preview and have yet to finalize the splits (used in the help file). Finalize - save BMPs and PNGs. Current song: SMB2 World 6 80% 9/10 day (MP3 75%). Woke up at 4:39 PM and went to bed at 7:15 AM.
Mar 21: Rotation scale-up method mostly failed - too time-consuming (thus no motive). I was about to start adding the landscape in the game itself but realized that I need the character to test the abilities out on flat ground, which is easy to do. TThen again, the textures need updating.... I fine-tuned the checklist and finished updating the overview. Beyond that, it was mostly SMB2 and doing my usual - getting fast and high. I discovered something with monkey boat with AR - care for 200+ mph and no "fall out"? I also figured out how, in Monkey Dogfight, to get outside the level in the space one, through fiddling around in the debug mode version that has collision detection. Current song: same as yesterday for 3/5 day. Woke up at 5:45 PM and went to bed at 9:40 AM.
Mar 22: Horizon indicator done, ground texture blend/fog optimization done, add comma-separrated values for number formatting mostly done (integer values left out). The grass texture is updated to look better (80th attempt by now). Lots of progress! Programming = high progress rate. Drawing = low progress rate. The ground fog and texture blend is now optimized using 35% as many draws, improving some as resolution increases. The horizon indicator was easy. I wanted to update the screenshot on my site, but I wanted to fine-tune the starting positions of the hills and mountains, now officially named... 2 weeks ago. The last part took sevreal hours - number formatting for comma-separated numbers. The big trouble spot was getting the numbers to look correct, especially zeros. I figured out how to get the step-by-step processing to work [the debugger], which helped find several bugs 5 times faster. I've also got an exponential format, but %E isn't good enough as I can't get rid of the "+" after the E. A little before I was going to do the main thing, tiredness settled in and I quickly processed SMB2 Boat (formerly known as "Go Sailing Along" - I didn't like that name). I need something much faster than AlphaBlend if I'm going to have motion blur or reasonable pathway quality at the standard 1024x768 resolution, especially for texts. 2.4 was ultra fact with practically no CPU usage and has close to 900 draws. 1000 draws with 3.0 has about 60% CPU usage hinting to a function 200 times faster. Current song: SMB2 World 6 80% 1/3 day, SMB2 Boat 80% 2/3 day (MP3 SMB2 Boat 80%). Woke up at 7:59 PM and went to bed at 2:10 PM.
Mar 23: Scenery positions adjusted, screenshot/checklist updated (now my favorite of my own creations), landscape started - bigger than I thought. While I don't have any images for the landscape yet, except rock, I've got the heights marked and added a "follow" function to trace it. I've got 4 problems to solve - how to draw a "row", how to optimize the depth drawing part, how to blend the 4 textures (rock, snow, grass, and lighting), and how to get the sloped part. 90 miles of terrain - I'm wondering if that's too much. Earlier, I adjusted the scenery positions as I wanted to do yesterday and spotted a bug - Urusu Mountains layer 6 (the most distant) were not being drawn - they're hard to see. With the scenery adjusted (and fixed), I snagged a screenshot then went at updating both it and the checklist. The screenshot is now my top favorite of my creations and in the top 5 overall. Current song: SMB2 Boat 80%. Woke up at 10:58 PM and went to bed at 1:05 PM.
Mar 24: I see land! I was both surprised and disappointed upon first checking it out (and fixing the bugs). The surprise was how realistic it really was, even though I didn't have the sloped "cap". However, get beyond the Mebna Plains, the first mile, then it starts getting bad as there's an obvious waving effect. Yep, round 5 at is is likely, but unlike where I only had a vague, low-res view of the terrain, I, this time, can get a very high-quality pixel-precise view and then some. I intend on adding the slope caps then integrating the terrain generation function into the game itself. This way, I can very accurately fine-tune the landscape. I've added a simple form for water to mark its height. I'll probably want something for marking where the clouds are as well. If I have the motive, I'll add the slope cap as well. I'll still want those crude one-bit BMPs so I can get a quick look at how the shape is from a distance. Even in version 4, as with 3, the slopes, overall, are too constant and don't even remotely match that of the objects in the background. Current song: same as yesterday. Woke up at 12:35 AM and went to bed at 4:16 PM.
Mar 25: Several bugs with the landscape were fixed, mainly position. After adding the terrain generator, I had the idea of using the game engine itself to generate the terrain. I added fake clouds to help with the visions. I then went at adding the landscape manipulator which was fast to get started, but took 4 times longer to fix the bugs with the landscape, particularly positioning. Once that was sorted out, I went at the fifth round at the terrain. While I lose the randomization and the method is only 40% as fast, I get many advantages. I get a real-time high-res view of the terrain so I can easily visualize and fine-tune the shape. I can fiddle with the background for fun (and for motive), and I can still get a good view of the design. With the 1:1 zoom used instead of 1:120 or even 1:60, it's much easier to see the shape... even though I don't have the "caps". With real-time variable monitoring, I can easily check heights and slope angles anywhere. To adjust the landscape, I simply use the left and right arrow keys to move (a "cursor" marks the "block" to be editted), the up and down arrow keys to change the slope angle, and enter to duplicate the selected slope and append it to the end. You almost can't get any simpler. Current song: same as yesterday (MP3 changed to 75%). Woke up at 2:47 AM and went to bed at 8:15 PM.
Mar 26: 6.8 miles and I'm starting Twin Peak, almost to the top of the first peak. I stopped so I could watch the shuttle land. Unlike CNN Headline News, NASA TV covered the entire thing live in full, from the deorbit burn to a good fraction of an hour after it landed. I have yet to see a launch in full.... After this 3:30 PM to 8:00 PM span, I continued watching TV for 2 more hours then went to bed. Current song: SMB2 Boat 80% 3/5 day, 75% 2/5 day (MP3 72%). Woke up at 4:53 AM and went to bed at 10:00 PM.
Mar 27: A good dream! 11.86 miles, almost to the summit of Mount Mebna. Compared to the previous one, barely a week old, this one is much better. It's only 60% as fast, especially slow with mountains. The Quredda Plains should be very fast to do along with the final stretch. Lakes are questioned though, likely medium. Mountains are slow and boring, but the views are great! One look at what I considered the best view for 2.4 and all I get is disappointment. 3.0 is far superior and very realistic-looking in almost every respect. I'm eager to actually play the game myself.... Current song: SMB2 Boat 85% (MP3 72%). Woke up at 8:54 AM and went to bed at 9:59 PM.
Mar 28: 13.18 miles then a shower. After this, I worked on getting the movement on the slopes to be realistic, but hit a snag. For some reason, especially with high speed (130+ mph), the motion jumped back then abruptly forward. In addition, 23 mph looked like 140 instead. I went grocery shopping before I figured it out. I returned, then, after TV and eating, I returned and found the cause using the step-by-step debugger. I fixed it, tested it, then went to bed. From the start to 13.18 miles means 3000 mph speed in a continuous accelerating burst. "The Lion Sleeps Tonight" has a spike at 400 near the center of it, still low compared to the others, but this oldies song is my top favorite of all for songs with lyrics. It's sustained average is 130 with the lyrics dropping it to 8 at the lowest point, a big drop, but still well above neutral. Current song: same as yesterday for 7/10 day. Woke up at 9:09 AM and went to bed at 1:42 AM.
Mar 29: 15.11 miles, landscape generator now supports floating point zoom values, but has problems with 1-bit image mode due to the annoying zero-padding of BMP files - a fix is proposed. A solution to a problem with number formatting was found. Earlier, I just used a temporary fix, but the change from 11,999 to 12,000 was 50% bigger but 12,000 to 12,001 was only half as big, for zero decimal places. The same was the case whether 0 or 8 decimal places are used. The reason is that floats are rounded - 11,999.769 displays as "12,000" normally, but would show "11,1000", which is very strange. Sprintf doesn't have a "comma formatter" as far as I've seen. For one decimal place, "11,999.8" would show. Still, 2 enhancements and almost 2 miles' worth is good progress. April 7 - I'm likely to go to Bismarck. Current song: SMB2 Boat 85% 4/5 day, 72% 1/5 day (MP3 72%). Woke up at 10:34 AM and went to bed at 12:23 AM.
Mar 30: 21.42 miles and the summit of Mount Sky is reached. As soon as I woke up, I had a new addition for one of the classified features (ID 0001). I first added it then went to Menard's for various items, just for the travel and the fact I haven't been there in a while. I returned, ate, showed my sister my game as I have it, then, while watching/listening to TV, I continued with the terrain map where I made Mount Sky 270 feet taller than before, matching the background scenery much more closely (still short by about 270 feet). I found a solution to a mathematical problem I had. If you charged up the speed blast at 760 mph, how fast would you get float-running from the peak of Mount Sky to the valley? I estimated 1200 earlier as I didn't know how. 1090 is the real value. It's essentially just a fall. Level ground means no height change or speed change. Straight vertical slopes copy that of falling. 30° gives half the vertical speed with half the acceleration (the sine). A jump with jump 50 gives 91 2/3 feet of height, memorized. A 30° slope of 366 2/3 feet vertically means 0 to 100 mph in 10 seconds. Once resolved, I went from there and got 1090. Current song: same as yesterday. Woke up at 12:44 PM and went to bed at 3:29 AM.
Mar 31: Yay, a dream! It's a strange exploration one. 24.08 miles - junk was on on TV, usually the case with Mondays. As a result of both this and the slight drowsiness, and the fact I haven't run backup in a while, I took out SMB2 and went at doing the usual stunts, then, the main (and funny) thing, doing the races, particularly "starlight highway" in the space station world). What's funny? Using the hover cheat to accumulate laps quickly, then after usually 6 or 7, I grab the icems, face directly toward the oncoming racers, and fire away - the polygon ball and ice cubes are my favorites. Due to one of my dogs bringing in a meat-covered bone, right before I was going to bed, I had to wash my blankets, adding 2 hours. April - above normal luck, but the first thing I get are two strokes of bad luck, the bone one and that I didn't have the "select-a-size" paper towels (for degreasing my pizzas) and now I'm completely out. Current song: SMB2 Boat 72% 3/5 day, 76% 1/10 day (MP3 76%). Woke up at 1:59 PM and went to bed at 8:20 AM.



Go to another time:
Earlier than 2005: Earlier than Nov 2004 | Nov 2004 (and late Oct 2004) | Dec 2004

Year 2005: January | February | March | April | May | June | July | August | September | October | November | December

Year 2006: January | February | March | April | May | June | July | August | September | October | November | December

Year 2007: January | February | March | April | May | June | July | August | September | October | November | December

Year 2008: January | February | March | April | May | June | July | August | September | October | November | December

Year 2009: January | February | March | April | May | June | July | August | September | October | November | December

Year 2010: Yet to arrive....

The news entry headlines in bold are color-coded for a reason. They tell how big the event was for the headlines and how good my day was for the daily entries. From May 2006 onward, a slightly different system is used, of which has triple the precision. For dates prior to this that use color coding, from the white color, skipping two to red and so on is used. Here's what each color represents (for updates to before May of 2006):

Extremely major event / Very good day
Major event / Good day
Somewhat major event / Somewhat good day
Normal event / Average day
Somewhat minor event / Somewhat bad day
Minor event / Bad day
Extremely minor event / Very bad day


Footnotes:
None