Well, I had this idea because I know that we have several people who play instruments on the forum (and quite a few who write music, too) and I thought: why not?
Make joke/puns about band/music based on real life/stereotypes/anything and post it here! You may comment about other jokes as a post.
There will be a few ground rules:
No profane jokes (unless they are made about a piccolo)
No "better than" jokes (looking at trumpet players here)
No ghostly jokes (unless made about a theremin)
No "perfection" jokes (looking at percussionists here)
No vulgar jokes (looking at low brass and saxophones here)
No inter"net" jokes (looking at clarinet players here)
No duck jokes (looking at bassoon/double reed players here)
No "I fart in your general direction" jokes (looking at french horn players here)
It's been a year and 3 days since I started this project. I'd like to comment on how far this has come. I remember thinking about a game idea one day in class. I had my calculator out, even though I was in health class. I was thinking: "simple." I knew at that point that every other project I had started or had thought up but had yet to start was not going to make it for being too complex. I thought of this one game demo I played once. A game titled "VVVVVV." A game that seemed like I could get an engine done in a week (the n00b in me talking at that point) and I could say that I completed a project (I came close with the chess game that brought me here.)
I was allowed to use a laptop in school at that time and said laptop had linking software (I think TiLP), so I made a little screeine and showed the world what I had decided to do. Here was the first screenie:
It was a slow, inefficient engine made entirely on-calc. At the time, I thought it was the greatest thing I had ever done. Little did I know that it would eventually be just that.
Here it is now: A game with experimental custom maps, a difficulty that nearly matches the original, and a much better engine.
And there's more to come. Bugs are almost out of custom maps, I am re-working the engine to make it faster, and the main map is about 10-15% done. There will also be (not until a few more releases) a new game mode for the totally insane.
At this point, I'd like to acknowledge some people: Keoni29: For spriting out these amazing sprites. Matref: For the level editor. I don't know how I could live (or have supported custom maps) without it. Hayleia: For the optimizations/Helping me realize I need to restructure my code. And everyone else whose support has made this possible.
To another year of progress and gravity flipping!
Spoiler For original post:
I'm deciding to port VVVVVV to the TI-84! (The Portal clone is currently on standstill, but it SHOULD be back in progress soon!)
V(x) - x velocity V(y) - y velocity C(x) - x constant C(y) - y constant t - time g - gravity constant dx, dy, dt, dV(x), dV(y), etc. - you can guess what these are
dV(x) = C(x)*(dx^2/dt^2)*dt dV(x) = C(x)*V(x)*dx Vx^(-1)*dV(x) = C(x)*dx Integrate both sides (c is assumed to be 0 here) to get ln(abs(V(x))) = x*C(x) e^(x*C(x)) = abs(V(x))
import java.lang.Math; /** * The class Frisbee contains the method simulate which uses Euler’s * method to calculate the position and the velocity of a frisbee in * two dimensions. * * @author Vance Morrison * @version March 4, 2005 */ public class Frisbee { private static double x; //The x position of the frisbee. private static double y; //The y position of the frisbee. private static double vx; //The x velocity of the frisbee. private static double vy; //The y velocity of the frisbee. private static final double g = -9.81; //The acceleration of gravity (m/s^2). private static final double m = 0.175; //The mass of a standard frisbee in kilograms. private static final double RHO = 1.23; //The density of air in kg/m^3. private static final double AREA = 0.0568; //The area of a standard frisbee. private static final double CL0 = 0.1; //The lift coefficient at alpha = 0. private static final double CLA = 1.4; //The lift coefficient dependent on alpha. private static final double CD0 = 0.08; //The drag coefficent at alpha = 0. private static final double CDA = 2.72; //The drag coefficient dependent on alpha. private static final double ALPHA0 = -4; /** * A method that uses Euler’s method to simulate the flight of a frisbee in * two dimensions, distance and height (x and y, respectively). * */ public static void simulate(double y0, double vx0, double vy0, double alpha, double deltaT) { //Calculation of the lift coefficient using the relationship given //by S. A. Hummel. double cl = CL0 + CLA*alpha*Math.PI/180; //Calculation of the drag coefficient (for Prantl’s relationship) //using the relationship given by S. A. Hummel. double cd = CD0 + CDA*Math.pow((alpha-ALPHA0)*Math.PI/180,2); //Initial position x = 0. x = 0; //Initial position y = y0. y = y0; //Initial x velocity vx = vx0. vx = vx0; //Initial y velocity vy = vy0. vy = vy0; //A loop index to monitor the simulation steps. int k = 0; //A while loop that performs iterations until the y position //reaches zero (i.e. the frisbee hits the ground). while(y>0) { //The change in velocity in the y direction obtained setting the //net force equal to the sum of the gravitational force and the //lift force and solving for delta v. double deltavy = (RHO*Math.pow(vx,2)*AREA*cl/2/m+g)*deltaT; //The change in velocity in the x direction, obtained by //solving the force equation for delta v. (The only force //present is the drag force). double deltavx = -RHO*Math.pow(vx,2)*AREA*cd*deltaT; //The new positions and velocities are calculated using //simple introductory mechanics. vx = vx + deltavx; vy = vy + deltavy; x = x + vx*deltaT; y = y + vy*deltaT; //Only the output from every tenth iteration will be sent //to the spreadsheet so as to decrease the number of data points. if(k%10 == 0) { System.out.println(x + ", " + y + ", " + vx); } k++; } } }
Now, here's the thing: It is a positional equation that takes input velocities, initial y distance, angle, and deltaT (how often the position is calculated)
In the robot design, the angle and initial y distance are constant, and the y distance at the goal is constant. The IV: X distance to goal. The DV: x and y velocities.
I want to make the program so that you input the x distance, and it outputs the velocities necessary.
I'm very rusty on parametric equations, and I need some help in rearranging the equations for the program... Please help if you can.
If ((getKey(1)) and (pxl-Test(48,40)õ=0)) {L+1}-1ü{L+1} Pause 250 End
If ((getKey(4)) and (pxl-Test(48,31)õ=0)) {L+1}+1ü{L+1} Pause 250 End
If ((getKey(2)) and (pxl-Test(47,32)õ=0)) {L+0)+1ü{L+0} Pause 250 End
If ((getKey(3)) and (pxl-Test(56,32)õ=0)) {L+0}-1ü{L+0} Pause 250 End
Return End
ClrDraw ClrDrawõ For(X,0,11) For(Y,0,7) If {(Y*12)+X+GDB1} Pt-On((X*8)+({L+0}*8),(Y*8)+({L+1}*8),({(Y*12)+X+GDB1}*8)+Pic1) Pt-On((X*8)+({L+0}*8),(Y*8)+({L+1}*8),8+Pic1)õ End End End Pt-On(48,32,Pic1) DispGraphClrDraw End
My problem (the tutorials aren't really helping):
How do I do this type of tilemap WITHOUT rendering the ENTIRE map every step taken?
Example (hypothetical): I have a 96x144 tilemap and want to only render the 8x12 in the tilemap that should be visible.