Subject: Re: [stella] acceleration and inertia From: Manuel Rotschkar <cybergoth@xxxxxxxx> Date: Wed, 07 Jan 2004 08:59:29 +0100 
Hi there! > When I start thinking about modeling all these > attributes I can't help but start to roll my eyes over > the sheer amount of processing it will take to get to > the point where I apply a change to the x and y of > each car. > Any tips? Don't start with the full blown thing. Start with the very basic things, that is: XPostion YPosition XSpeed YSpeed For your needs, The Position values are two bytes: XPixel and XFloat YPixel and YFloat And the Speed is basically the sum of all other effects like traction and acceleration. Now. Assume we're driving straight right and all we consider is "full" speed: XSpeed = 100 YSpeed = 0 So we can ignore th YAxxis for the moment. Look at this code snippet LDA xPosfloat,X ; Load current float value CLC ADC xPosadd,X ; Add current speed STA xPosfloat,X ; Save current float value LDA xPosabs,X ; Load absolute x pixel position ADC #$00 ; If float value exceeded 255 STA xPosabs,X ; Increment it by one STA xPosabs,X ; Store away pixel position What the code does is this: Frame 1: XPos = 0 Xfloat = 100 Frame 2: XPos = 0 Xfloat = 200 Frame 3: XPos = 1 Xfloat = 45 Frame 4: XPos = 1 Xfloat = 45 Frame 5: XPos = 1 Xfloat = 145 Frame 6: XPos = 1 Xfloat = 245 Frame 7: XPos = 2 Xfloat = 90 ... You see, it's moving a pixel ~ every 2.5 frames. Now this has everything moving 01 pixel per frame. To achieve higher Speeds, just add the addvalue 2 or 3 or more times per frame. To get the basic movement of your car going like this for the start, you'd need tables for every possible angle like in: up x=0 *speed, y=1 *speed down x=0 *speed, y=1 *speed left x=1 *speed, y=0 *speed right x=1 *speed, y=0 *speed So you'd divide 360 by any "power of 2" of your choice and calculate the sine and cosine values for each of these angles. Above is the simplest case for 360/4, you'l probably need 360/16 or 360/32. Hm... Ok, that was just a quick start to get you an idea. Greetings, Manuel  Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread 


< Previous  Index  Next > 

[stella] acceleration and inertia, Glenn Saunders  Thread  Re: [stella] acceleration and inert, Glenn Saunders 
[stella] acceleration and inertia, Glenn Saunders  Date  [stella] Seawolf: Day Five, Manuel Rotschkar 
Month 