For the past several days, I've been redoing the terrain map for my 2D game, The Supernatural Olympics. Ever wonder what I do to create the terrain map? This narrated demonstration shows you just that. I've explained the basic method I use to create the terrain map, show you the tools I use, and give a quick preview of the terrain map itself.
The terrain map itself is 90 miles, which, at 800 mph, takes 6 3/4 minutes to cross at true time. To put this in perspective, watch the video until the point where I start to demonstrate a bug with MSPaint from the beginning (assuming the video doesn't skip). It takes about this long to cross it and with 800 mph, 1173 1/3 feet per second, the landscape whizzes by so fast that you only get 32 milliseconds to react to an impending collision and it takes 64 ms to cross the width of the screen (based on 1024x768 resolution). Yet, 800 mph is slow compared to the fastest speeds you can get, provided you can figure out how to find these. The typical 280 ms human reaction time is no where near fast enough, but fortunately, there'll be a scaled down minimap of the terrain (in more detail than the preview at the end has, complete with markings for clouds and water) to give a much more reasonable 1.6-second reaction minimum (depends on the zoom setting used, 1.6 seconds based on the 360:1 zoom setting at the default map size of 192x96 pixels).
The landscape is actually broken up into 5 regions, 4 for the landscape itself. From west to east, it's Mebna, Stugu, Windias, then Quredda. The background scenery uses the fifth region, Urusu. Each region is subdivided into a few zones, of which may get further subdivided into distinct areas.
I did make a mistake at around 2:10. I stated that if it was 80 instead it'd result in a 45-degree slope. It's not "atan(80/80)", rather, it's "atan(80/60)" or 53 1/8 degrees instead. To get the pixel difference between the slopes, I just used "tan(TargetAngle)" to get the slope in "y:1" format and from there, I do conversions and round the Y value to the nearest integer. Also, I'd normally have Winamp playing in the background, but World 5 of Super Monkey Ball 2 played at 90% true speed has a copyright problem and thus this is left out.
I've also encountered that bug in MS Paint, It's not fixed in Vista. I haven't checked MS Paint in Win7, but I know it is very different from previous versions so maybe.
Also, whats the file size of that terrain map? Seems like it would be large.
lonebard 2 years ago
It's probably a signed/unsigned conflict. 32,767 is a special number, the upper limit of a 16-bit signed integer (known as a short in C programming). The whole method used for the terrain map is likely to be completely redesigned. Do note that this is actually a preview. The actual terrain map is intended to be much smaller in file size. The 100:1 zoom would've meant a rather huge 132 MB or so file size, but I can do 1:1 using perhaps 20 KB.
ulillillia 2 years ago
Why thank you ulillillia.
I hope you get that completed soon. And may I give a tip? On what you are doing there, wouldn't it be a lot easier if you stayed at one color, then after you get so far, just fill in a few pixels with the other color, then skip a few, and so on?
That way you wouldn't have to go back up and down like that.
Just a tip. Hope it helps.
/z
ZeroCaim 4 years ago
Each color represents a different slope angle, from -80° to +80°. If I stuck with one color, say the -10° slope then switched to the -5 and back to the -10, the slope would still be at -10 at that point. This method won't work at all. If it was to add to the slope, this can result in all sorts of problems and it would be very hard to visualize looking at the streaks used and I'd have to check the values ten times as frequently, slowing me down even more.
ulillillia 4 years ago