Behind the scenes of "Succor"

home

Overview

Sources

Storage

Libraries

In addition to the code written specifically for the game, it also uses:

Sample Code

The Americas in two primitives:
               float r = ball[n].radius/20;
               glColor3f(0.5,0.8,0.4);
               // south america:
               glBegin(GL_TRIANGLE_FAN);
                  glVertex2f(x+r*11,y+r* 9);
                  glVertex2f(x+r* 6,y+r*14);
                  glVertex2f(x+r* 3,y+r*16);
                  glVertex2f(x+r   ,y+r*18);
                  glVertex2f(x-r   ,y+r*18);
                  glVertex2f(x+r/2 ,y+r*10);
                  glVertex2f(x-r*2 ,y+r* 8);
                  glVertex2f(x-r*3 ,y+r* 6);
                  glVertex2f(x-r  , y+r* 3);
                  glVertex2f(x-r*10, y     );
                  glVertex2f(x-r*8, y-r   );
                  glVertex2f(x-r/2, y+r* 3);
                  glVertex2f(x     ,y+r/2 );
                  glVertex2f(x+r* 9,y+r* 2);
                  glVertex2f(x+r* 9,y+r* 3);
                  glVertex2f(x+r*15,y+r* 5);
               glEnd();
               // north america:
               glBegin(GL_TRIANGLE_FAN);
                  glVertex2f(x-r*12,y-r*9);
                  glVertex2f(x-r*12,y-r*7);
                  glVertex2f(x-r*11,y-r*3);
                  glVertex2f(x-r*10,y);
                  glVertex2f(x-r* 8,y);
                  glVertex2f(x-r* 8,y-r*5);
                  glVertex2f(x-r* 1,y-r*5);
                  glVertex2f(x      ,y-r*3);
                  glVertex2f(x+r*0.5,y-r*4);
                  glVertex2f(x      ,y-r*5);
                  glVertex2f(x+r   ,y-r*7);
                  glVertex2f(x+r*2 ,y-r* 9);
                  glVertex2f(x+r*4 ,y-r*11);
                  glVertex2f(x+r*6 ,y-r*13);
                  glVertex2f(x+r*3, y-r*15);
                  glVertex2f(x    , y-r*13);
                  glVertex2f(x-r*4, y-r*15);
                  glVertex2f(x-r*8, y-r*18);
                  glVertex2f(x-r*9, y-r*17);
                  glVertex2f(x-r*12,y-r*10);
               glEnd();
All the music:
char bass1[] = { 8,
                     6,4,6,9, 11,9,11,13, 11,9,11,13, 16,13,16,18,
                     13,11,9,6, 11,9,6,4,
                     TIME(16), HOLD(1,2),HOLD(4,2),HOLD(6,2),11,9, TIME(8), HOLD(6,4),

                     6,4,6,9, 11,9,11,13, 11,9,11,13, 16,13,16,18,
                     16,13,11,18, 16,13,11,9, 
                     TIME(16), HOLD(13,2),HOLD(11,2),HOLD(9,2),11,9, TIME(8), HOLD(6,4),

                     6,4,6,9, 13,11,9,11, 13,16,13,11, 16,18,16,13,
                     13,11,9,6, 11,9,6,4,
                     11,13,11,9, HOLD(6,4),

                     6,4,6,9, 11,9,11,13, 11,9,11,13, 16,13,16,18,
                     13,11,9,6, 11,9,6,4,
                     TIME(16), HOLD(1,2),HOLD(4,2),HOLD(6,2),HOLD(9,2), TIME(8), HOLD(6,4),

                     11,11,11,11,11,11,11,11,
                     TIME(32),11,HOLD(13,3),TIME(8),13,13,13,13,13,13,13,
                     4,4,4,4,4,4,4,4,
                     6,6,6,6,6,6,6,6,

                     11,11,11,11,11,11,11,11,
                     13,13,13,13,13,13,13,13,
                     16,16,16,16,18,18,13,TIME(16),11,9,
                     HOLD(6,2),HOLD(6,2),HOLD(6,2),HOLD(9,2),
                     6,13,18,13,HOLD(6,2),TIME(8),0,

                     6,4,6,9, 11,9,11,13, 11,9,11,13, 16,13,16,18,
                     16,13,11,18, 16,13,11,9, 
                     TIME(16), HOLD(6,2),HOLD(4,2),HOLD(1,2),HOLD(9,2), TIME(8), HOLD(6,4),

                     6,4,6,9, TIME(32),11,HOLD(13,3),TIME(8), 11,9,13, 16,13,16,18, 11,13,11,9,
                     6,4,6,9, 11,9,11,13,
                     TIME(16), HOLD(1,2),HOLD(4,2),HOLD(6,2),11,9, TIME(8), HOLD(6,4),

                     4,4,4,4, 11,16,11,4, 6,6,6,6, 13,18,13,6,
                     2,2,2,2, 9,14,9,2, 1,1,1,8, 13,16,11,6,
                     4,4,4,4, 11,16,11,4, 7,7,7,7, 14,19,14,6,
                     11,11,11,11, 18,23,18,11, 14,14,21,26, 13,13,20,TIME(16),11,9,TIME(8),
        END };

char drums1[] = { 16,
                      KH,0,H,0, SH,0,H,K, KH,0,KH,0, SH,0,H,0,
                      KH,0,H,0, SH,0,H,0, KH,0,KH,K, SH,0,H,0,
                      KH,0,KH,0, SH,0,H,K, KH,0,KH,K, SH,0,H,0,
                      KH,K,KH,0, SH,0,H,0, KH,0,KH,0, SH,0,S,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,0, SH,0,H,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,K, SH,0,SH,0,
                      KH,0,KH,0, SH,K,H,0, KH,0,KH,K, SH,K,H,0,
                      SH,K,H,K, SH,K,KH,0, H,S,K,K, S,K,K,S,

                      KH,0,H,0, SH,0,H,K, KH,0,KH,0, SH,0,H,0,
                      KH,0,H,0, SH,0,H,0, KH,0,KH,K, SH,0,H,0,
                      KH,0,KH,0, SH,0,H,K, KH,0,KH,K, SH,0,H,0,
                      KH,K,KH,0, SH,0,H,0, KH,0,KH,0, SH,0,S,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,0, SH,0,H,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,K, SH,0,SH,0,
                      KH,0,KH,0, SH,K,H,0, KH,0,KH,K, SH,K,H,0,
                      SH,K,H,K, SH,K,KH,S, H,S,K,K, S,K,K,S,

                      KR,0,R,0, SR,0,R,K, KR,0,KR,0, SR,0,R,0,
                      KR,0,R,0, SR,0,R,0, KR,0,KR,K, SR,0,R,0,
                      KR,0,KR,0, SR,0,R,K, KR,0,KR,K, SR,0,R,0,
                      KR,K,KR,0, SR,0,R,0, KR,0,KR,0, SR,0,S,S,
                      KR,0,R,K, SR,0,R,K, KR,0,KR,0, SR,0,R,S,
                      KR,0,R,K, SR,0,R,K, KR,0,KR,K, SR,0,SR,0,
                      KR,0,KR,0, SR,K,R,0, KR,0,KR,K, SR,K,R,0,
                      SR,K,R,K, SR,K,KR,0, R,S,S,K, S,S,K,S,

                      KH,0,H,0, SH,0,H,K, KH,0,KH,0, SH,0,H,0,
                      KH,0,H,0, SH,0,H,0, KH,0,KH,K, SH,0,H,0,
                      KH,0,KH,0, SH,0,H,K, KH,0,KH,K, SH,0,H,0,
                      KH,K,KH,0, SH,0,H,0, KH,0,KH,0, SH,0,S,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,0, SH,0,H,S,
                      KH,0,H,K, SH,0,H,K, KH,0,KH,K, SH,0,SH,0,
                      KH,0,KH,0, SH,K,H,0, KH,0,KH,K, SH,K,H,0,
                      SH,K,H,K, SH,K,KH,0, H,S,K,K, S,K,K,S,

                      KR,0,R,R, SR,0,R,K, KR,0,KR,R, SR,0,R,0,
                      KR,0,R,R, SR,0,R,R, KR,0,KR,K, SR,0,R,R,
                      KR,0,KR,0, SR,0,R,K, KR,R,KR,K, SR,0,R,0,
                      KR,K,KR,0, SR,0,R,R, KR,0,KR,R, SR,0,S,S,
                      KR,R,R,K, SR,0,R,K, KR,0,KR,R, SR,0,R,S,
                      KR,0,R,K, SR,0,R,K, KR,R,KR,K, SR,0,SR,0,
                      KR,0,KR,0, SR,K,R,R, KR,0,KR,K, SR,K,R,0,
                      SR,K,R,K, SR,K,KR,0, R,S,K,S, S,K,S,S,

 END };

home