Thread: [tuxracer-devel] Speed Boosts
Status: Beta
Brought to you by:
jfpatry
From: Drakkin <dr...@so...> - 2000-08-11 03:47:46
|
Hello all, I've been reading the developer archives, and noticed a conversation back in April about adding speed boosts. Well, I've found a way to implement them now without a change in source code. The map I'm developing does not use the rock terrain, so I simply created a new graphic tile (Snow with a red bull's eye) and I loaded THAT in place of the rock texture. Then, I altered the rock's friction to a negative value, effectively changing the rock into a propelling surface. Now, I do have one problem... It seems textures are stretched within the engine with no apparent way for the course developer to alter them. My bulls eye texture (directly drawn onto a copy of the snow texture) gets stretched out to a size of about 3x3 or 4x4 (In relation to course map pixels). Would it be feasible to allow texture stretching values to be defined within the course script? In fact, if we were to think even grander, wouldn't it be nice to allow for an expanded list of possible terrain types? I'm seeing something like this: tux_terrain_type_0 ../common/ice.rgb 1.5 1.5 0.25 0 0 tux_terrain_type_1 ../common/snow.rgb 1.5 1.5 0.35 0 0 tux_terrain_type_2 custom.rgb 1 1 -2.2 0 0 The first parameter is obviously the texture file name, next two could be the X and Y stretch factors, next is friction. We could then have a damage modifier (Will this LAVA damage tux? How much?), and finally, a special modifier. This modifier could be used to activate special functions within the engine, like a reflector (bounce tux away like in a pinball machine), a special lighting condition, the location of a 3-d powerup (silver herring health bonus), etc. You may even wish to include the grey-value used to represent this terrain on the map image. For example: tux_terrain_type_9 extralife.rgb 1 1 0.35 0 7 80 The 80 represents R80 G80 B80 on the map. This would allow the developer great flexibility when applying the finishing touches. Think you'd like to swap the low health bonuses with the 50% health bonuses? Why re-paint the map when you can swap two values in the config file? Anyway, these are just some "wish-list" items I've come up with while playing with my maps. I'll probably have more as time goes on. I'd also like to add, before I sign off, that I've enjoyed playing Tux Racer. My thanks go out to Jasmin and everyone who's helped along the way. This is by far the most fun I've found in a developing game. Good night (or day) to you all. Troy Corbin Jr. |
From: Jasmin P. <jf...@mu...> - 2000-08-11 16:20:36
|
On Fri, Aug 11, 2000 at 03:45:01AM +0000, Drakkin wrote: > Hello all, > I've been reading the developer archives, and noticed a conversation > back in April about adding speed boosts. Well, I've found a way to > implement them now without a change in source code. > > The map I'm developing does not use the rock terrain, so I simply > created a new graphic tile (Snow with a red bull's eye) and I loaded > THAT in place of the rock texture. Then, I altered the rock's friction > to a negative value, effectively changing the rock into a propelling > surface. Heh, that's a neat hack. :) > Now, I do have one problem... It seems textures are stretched within the > engine with no apparent way for the course developer to alter them. My > bulls eye texture (directly drawn onto a copy of the snow texture) gets > stretched out to a size of about 3x3 or 4x4 (In relation to course map > pixels). Would it be feasible to allow texture stretching values to be > defined within the course script? We're in the process of re-writing this portion of the engine. We're still testing different approaches, but the idea is to make the transitions between the different terrain types smooth. Depending on the approach we use, we might have to impose constraints on how textures are "stretched out" on the terrain, so making that definable in the course script probably might not be possible. So I guess my answer is: I'll get back to you on that. :) > In fact, if we were to think even grander, wouldn't it be nice to allow > for an expanded list of possible terrain types? I'm seeing something > like this: > > tux_terrain_type_0 ../common/ice.rgb 1.5 1.5 0.25 0 0 > tux_terrain_type_1 ../common/snow.rgb 1.5 1.5 0.35 0 0 > tux_terrain_type_2 custom.rgb 1 1 -2.2 0 0 > > The first parameter is obviously the texture file name, next two could > be the X and Y stretch factors, next is friction. We could then have a > damage modifier (Will this LAVA damage tux? How much?), and finally, a > special modifier. This modifier could be used to activate special > functions within the engine, like a reflector (bounce tux away like in a > pinball machine), a special lighting condition, the location of a 3-d > powerup (silver herring health bonus), etc. > > You may even wish to include the grey-value used to represent this > terrain on the map image. For example: > > tux_terrain_type_9 extralife.rgb 1 1 0.35 0 7 80 > > The 80 represents R80 G80 B80 on the map. This would allow the developer > great flexibility when applying the finishing touches. Think you'd like > to swap the low health bonuses with the 50% health bonuses? Why re-paint > the map when you can swap two values in the config file? Some great ideas there! I especially like the ideas of damage and "special" modifiers for terrain. We probably also need a "paddling" modifier -- i.e., how well can tux paddle on this surface (I'm currently using the friction coefficient but that allows tux to really scoot on rock, which isn't right). Thanks -- I'll keep your suggestions in mind as we continue development. > Anyway, these are just some "wish-list" items I've come up with while > playing with my maps. I'll probably have more as time goes on. Ok, great! > I'd also like to add, before I sign off, that I've enjoyed playing Tux > Racer. My thanks go out to Jasmin and everyone who's helped along the > way. This is by far the most fun I've found in a developing game. Glad to hear it. Thanks for the feedback! Cheers, Jasmin -- Jasmin Patry Master's Student, Dept. of Computer Science jf...@cg... http://www.cgl.uwaterloo.ca/~jfpatry/ |
From: Troy C. Jr. <dr...@so...> - 2000-08-11 19:55:15
|
> > > Now, I do have one problem... It seems textures are stretched within the > > engine with no apparent way for the course developer to alter them. My > > bulls eye texture (directly drawn onto a copy of the snow texture) gets > > stretched out to a size of about 3x3 or 4x4 (In relation to course map > > pixels). Would it be feasible to allow texture stretching values to be > > defined within the course script? > > We're in the process of re-writing this portion of the engine. We're > still testing different approaches, but the idea is to make the > transitions between the different terrain types smooth. Depending on > the approach we use, we might have to impose constraints on how textures > are "stretched out" on the terrain, so making that definable in the > course script probably might not be possible. > > So I guess my answer is: I'll get back to you on that. :) Understandable. I'm happy to hear that smooth texture transitions are in the works. I suppose, then, that I should modify my question: If I were to release my map for the current release of Tux Racer, how many texture pixels can I get for each pixel of the map? Unless the next release is in the near future, I was hoping to share my new map with everyone soon. =) > Some great ideas there! I especially like the ideas of damage and > "special" modifiers for terrain. We probably also need a "paddling" > modifier -- i.e., how well can tux paddle on this surface (I'm currently > using the friction coefficient but that allows tux to really scoot on > rock, which isn't right). > > Thanks -- I'll keep your suggestions in mind as we continue development. I'm glad you found them useful. I'm not a terribly good programmer at the moment, so I'm afraid the best I can do is suggest. =) When I get some time, I'll try to nose through the source and see if there's any way I can help. This is a project I'd really like to support if I can. Troy Corbin Jr. |
From: Jasmin P. <jf...@mu...> - 2000-08-13 17:27:08
|
On Fri, Aug 11, 2000 at 08:23:37PM +0000, Troy Corbin Jr. wrote: > > Understandable. I'm happy to hear that smooth texture transitions are in the > works. I suppose, then, that I should modify my question: If I were to > release my map for the current release of Tux Racer, how many texture pixels > can I get for each pixel of the map? It's not that simple. The textures repeat every 6 m in the course (TEX_SCALE in textures.h). If you use tux_course_dim to set the width of the course to 6 * (width of heightmap in pixels), and the length of the course to 6 * (height of heightmap in pixels), then you should get one complete texture image per course quad. Hopefully they'll be aligned properly too, though I haven't tried it. The problem then is that the mesh of the terrain will be very coarse -- so instead you could repeat you bullseye in an X by X grid in the texture file, and then set the dimesions of the course to 6/X * (width/height of heightmap in pixels). This is a hack, of course, but then again so is what you're trying to do. :) Also note that I haven't tried it, but I think it *should* work... > I'm glad you found them useful. I'm not a terribly good programmer at the > moment, so I'm afraid the best I can do is suggest. =) When I get some time, > I'll try to nose through the source and see if there's any way I can help. > This is a project I'd really like to support if I can. Great! Cheers, Jasmin -- Jasmin Patry Master's Student, Dept. of Computer Science jf...@cg... http://www.cgl.uwaterloo.ca/~jfpatry/ |
From: Peter A. <P....@pa...> - 2000-08-11 18:02:10
|
Drakkin wrote: > > Hello all, > I've been reading the developer archives, and noticed a conversation > back in April about adding speed boosts. Well, I've found a way to > implement them now without a change in source code. > > The map I'm developing does not use the rock terrain, so I simply > created a new graphic tile (Snow with a red bull's eye) and I loaded > THAT in place of the rock texture. Then, I altered the rock's friction > to a negative value, effectively changing the rock into a propelling > surface. Nice hack.... I have done a speed boost hack which I was going to add for stunt courses, but that means having something in the config file for allowing it or not. (also I haven't done animation for it yet...) If I do that and get around to doing a sharp turn (still thinking...) I will see what Jasmin (and others) think of it... Jasmin answered the rest... they look good stuff though. btw why does there appear to be a layer of water (snow coloured) at a low level. Is this intentional? (It makes for interesting skate board ramps with "water" at the bottom) Peter Allen |
From: Jasmin P. <jf...@mu...> - 2000-08-12 14:37:44
|
On Thu, Aug 10, 2000 at 07:18:39PM +0100, Peter Allen wrote: > btw why does there appear to be a layer of water (snow coloured) at > a low level. Is this intentional? (It makes for interesting skate board > ramps with "water" at the bottom) It's just there to prevent the track from ending in empty space. It will be replaced by something better eventually. Jasmin -- Jasmin Patry Master's Student, Dept. of Computer Science jf...@cg... http://www.cgl.uwaterloo.ca/~jfpatry/ |
From: Bill S. <Bill.Scherer@VerizonWireless.com> - 2000-08-14 11:13:24
|
Jasmin Patry wrote: > On Thu, Aug 10, 2000 at 07:18:39PM +0100, Peter Allen wrote: > > btw why does there appear to be a layer of water (snow coloured) at > > a low level. Is this intentional? (It makes for interesting skate board > > ramps with "water" at the bottom) > > It's just there to prevent the track from ending in empty space. It > will be replaced by something better eventually. Wait... That's one of the best parts of a course I made. If you don't make the last jump, you end up in a pool of water at the bottom and can't finish. You do get to swim around and hunt for herring though... Being my first post to list, let me say that a few of my colleagues and have enjoyed TuxRacer very much. I've added current and max speed displays, which are great fun. I suppose I can come up with a patch if anyone's interested. We also have a great course (mentioned above). Is there somewhere to submit them for review? Thanks! -- William K. Scherer Sr. Member of Applications Staff - Verizon Wireless Bill.Scherer_at_VerizonWireless.com |
From: Jasmin P. <jf...@mu...> - 2000-08-14 14:57:40
|
On Mon, Aug 14, 2000 at 07:12:43AM -0400, Bill Scherer wrote: > Jasmin Patry wrote: > > > On Thu, Aug 10, 2000 at 07:18:39PM +0100, Peter Allen wrote: > > > btw why does there appear to be a layer of water (snow coloured) at > > > a low level. Is this intentional? (It makes for interesting skate board > > > ramps with "water" at the bottom) > > > > It's just there to prevent the track from ending in empty space. It > > will be replaced by something better eventually. > > Wait... That's one of the best parts of a course I made. If you don't > make the last jump, you end up in a pool of water at the bottom and > can't finish. You do get to swim around and hunt for herring > though... Heh. :) > Being my first post to list, let me say that a few of my colleagues > and have enjoyed TuxRacer very much. I've added current and max > speed displays, which are great fun. I suppose I can come up with a > patch if anyone's interested. We're going to be adding displays very soon. It's simple enough that I don't think you need to send a patch (unless you did something very clever :), though of course it wouldn't hurt to see how you did it. Please post it to the list if you do decide to send it. > We also have a great course (mentioned above). Is there somewhere to > submit them for review? You can send it to me at jf...@cg.... Please tar and gzip before sending. I look forward to playing it! Thanks, Jasmin -- Jasmin Patry Master's Student, Dept. of Computer Science jf...@cg... http://www.cgl.uwaterloo.ca/~jfpatry/ |
From: Bill S. <Bill.Scherer@VerizonWireless.com> - 2000-08-14 15:34:14
|
Course sent as requested. Looking forward to your review ;-). The speed stuff was trivial, but I'll put some of the relevant code here: In render_util.c I added the following two functions: void print_speed() { char buff[30]; float v; flat_mode(); v = (g_game.current_speed / 0.44704); sprintf( buff, "%.1f MPH", v ); if (v > g_game.max_speed) { g_game.max_speed = v; } print_max_speed(); glColor3f( text_colour.r, text_colour.g, text_colour.b ); glRasterPos2i( 85, 5 ); print_string( GLUT_BITMAP_HELVETICA_10, buff ); void print_max_speed() { char buff[30]; flat_mode(); sprintf( buff, "%.1f MPH Max", g_game.max_speed ); glColor3f( text_colour.r, text_colour.g, text_colour.b ); glRasterPos2i( 150, 5 ); print_string( GLUT_BITMAP_HELVETICA_10, buff ); } g_game.max_speed get initialized where the other stuff does at the start of a game. print_speed() is called right after print_time() in racing.c print_max_speed() gets called in game_over so you can see your max speed at the end. The 0.44704 in print_speed converts meters/second to miles/hour. I'm no C coder, so don't laugh if any of it is pathetic. I basically just copied the pattern of print_time. Enjoy! Jasmin Patry wrote: > On Mon, Aug 14, 2000 at 07:12:43AM -0400, Bill Scherer wrote: > > Jasmin Patry wrote: > > > > > On Thu, Aug 10, 2000 at 07:18:39PM +0100, Peter Allen wrote: > > > > btw why does there appear to be a layer of water (snow coloured) at > > > > a low level. Is this intentional? (It makes for interesting skate board > > > > ramps with "water" at the bottom) > > > > > > It's just there to prevent the track from ending in empty space. It > > > will be replaced by something better eventually. > > > > Wait... That's one of the best parts of a course I made. If you don't > > make the last jump, you end up in a pool of water at the bottom and > > can't finish. You do get to swim around and hunt for herring > > though... > > Heh. :) > > > Being my first post to list, let me say that a few of my colleagues > > and have enjoyed TuxRacer very much. I've added current and max > > speed displays, which are great fun. I suppose I can come up with a > > patch if anyone's interested. > > We're going to be adding displays very soon. It's simple enough that I > don't think you need to send a patch (unless you did something very > clever :), though of course it wouldn't hurt to see how you did it. > Please post it to the list if you do decide to send it. > > > We also have a great course (mentioned above). Is there somewhere to > > submit them for review? > > You can send it to me at jf...@cg.... Please tar and gzip > before sending. I look forward to playing it! > > Thanks, > Jasmin > > -- > Jasmin Patry Master's Student, Dept. of Computer Science > jf...@cg... http://www.cgl.uwaterloo.ca/~jfpatry/ > > _______________________________________________ > tuxracer-devel mailing list > tux...@li... > http://lists.sourceforge.net/mailman/listinfo/tuxracer-devel -- William K. Scherer Sr. Member of Applications Staff - Verizon Wireless Bill.Scherer_at_VerizonWireless.com |