A short game that, plays kinda old school. I've been stuck in, what seem's like a never ending, project. So I took some time to make a simple little game. I don't know how to encrypt stuff so this stuff is all open to any one.
Here is the code >>
#include <DarkGDK.h>
#include "SC_Collision.h"
#include <cmath>
#include "windows.h"
struct Enemy
{
int health;
}; //13
Enemy en[13];
//
struct play
{
short int obj;//obstruct;
};
// 1000
play Pff[10][10][10];
short int shoottimer=13;
void DarkGDK ( void )
{dbSetDisplayMode(dbDesktopWidth(),dbDesktopHeight(),0);dbSetWindowLayout(0,0,0);//full 13000
dbSetWindowPosition(0,0);
dbSyncOn ( );dbSyncRate ( 15 );dbBackdropOn();SC_Start(); dbAutoCamOff(); dbHideMouse(); dbBackdropOff();
dbLoadObject("FangX.x",1);dbHideObject(1);
dbLoad3DSound("impact.wav",1);dbLoadSound("buew.wav",2);dbCloneSound(3,2);dbCloneSound(4,2);
dbLoad3DSound("explosion.wav",5);dbCloneSound(6,5);dbCloneSound(7,5); dbSetSoundVolume( 5, 200 ); dbSetSoundVolume( 6, 200 ); dbSetSoundVolume( 7, 200 );
dbLoadImage("crosshair.png",2);dbSprite(1,0,0,2);dbSetSprite(1,0,1);
dbLoadImage("galaxy.png",3); dbMakeObjectPlane(14,2560,2560); dbPositionObject(14,313,213,-512); dbTextureObject(14,3); dbSetObjectTransparency(14,5);
dbLoadImage("fire.png",10);
dbLoad3DSound("jet.wav",13);
void shoot(float,float);
//
int tt,j,i;
for(tt=0 ;tt<10 ;tt++)
{
for(j=0; j<10 ;j++)
{
for(i=0; i<10;i++)
{ Pff[tt][j][i].obj=0; }
}
}
//GLOWING MATRIX
dbLoadImage("stars.png",1);dbMakeMatrix(10,500,500,10,10);
dbPrepareMatrixTexture(10,1,1,1);dbPositionMatrix(10,0,-13,0);
dbGhostMatrixOn(10,5);
for(int tt=0;tt<10;tt++)
{ for(int j=0;j<10;j++)
{dbSetMatrixHeight(10,tt,j,dbRnd(5)/3.0);}//dbSetMatrixTrim(10,tt,j);
}dbUpdateMatrix(10);
// Pff[tt][j].obj=0;Pff[tt][j].obstruct=0;
int dead=0 , lake ;
float dir,dirY , TIME=1350; //amount dead
dbMakeObjectSphere(13,13,3,5);dbHideObject(13);//aimer object
dbPositionListener(250,39,600); dbScaleListener(1);
do{
if(TIME/10e8>0){
for(lake=100;lake<113;lake++){if(dbObjectExist(lake)){dbRotateObject(lake,dbObjectAngleX(lake)+13,dbRnd(360),dbObjectAngleZ(lake)+13);dbScaleObject(lake,dbObjectSizeX(lake)+13,dbObjectSizeY(lake)+13,dbObjectSizeZ(lake)+13); if(dbRnd(3)==1){dbDeleteObject(lake);}}}
TIME-=1;
dir+=dbMouseMoveX();if(dir>319){dir=319;}if(dir<31){dir=31;}
dirY+=dbMouseMoveY();if(dirY>89){dirY=89;}if(dirY<-143){dirY=-143;} //265/96
dbRotateListener((dir)/3+120,dirY/3,0);//
//dbText(13,13,dbStr(dirY));
shoot(dir,dirY); dbPasteSprite(1,dbObjectScreenX(13)-32,dbObjectScreenY(13)-32);
dbText(39,13,dbStr(int(TIME/15)));dbText(39,39,dbStr(dead));
for(int tt=0;tt<10;tt++)
{ for(int j=0;j<10;j++)
{dbSetMatrixHeight(10,tt,j,dbRnd(5)/3.0);}//dbSetMatrixTrim(10,tt,j);
}
///////////////////*Enemy Stuff*/////////////////////
for(int tt=0; tt < 13; tt++)
{ bool random,kk=0; int h;
if(dbObjectExist(tt+50))
{ SC_UpdateObject(tt+50);
int xx=dbNewXValue(dbObjectPositionX(tt+50),dbObjectAngleY(tt+50),dbRnd(91)+39)/50;
int yy=dbNewYValue(dbObjectPositionY(tt+50),dbObjectAngleX(tt+50)+45,dbRnd(91)+39)/50; //chickity check
int zz=dbNewZValue(dbObjectPositionZ(tt+50),dbObjectAngleY(tt+50),dbRnd(91)+39)/50;
if(xx>0&&xx<10&&yy>0&&yy<10&&zz>0&&zz<10){
if(Pff[xx][yy][zz].obj>0&&Pff[xx][yy][zz].obj!=tt+50){
random=dbRnd(1); if(random){dbTurnObjectLeft(tt+50,8);}else{dbTurnObjectRight(tt+50,8);} //dbText(13,39,dbStr(Pff[xx][yy][zz].obj));
}
}
xx=dbObjectPositionX(tt+50)/50; yy=dbObjectPositionY(tt+50)/50; zz=dbObjectPositionZ(tt+50)/50;
if(xx>0&&xx<10&&yy>0&&yy<10&&zz>0&&zz<10){ Pff[xx][yy][zz].obj=0; }//clears current
dbMoveObject(tt+50,10+dbRnd(3));dbPitchObjectUp(tt+50,.5+(dbRnd(13))/10); dbPositionSound(tt+50,dbObjectPositionX(tt+50),dbObjectPositionY(tt+50),dbObjectPositionZ(tt+50));//moves
xx=dbObjectPositionX(tt+50)/50; yy=dbObjectPositionY(tt+50)/50; zz=dbObjectPositionZ(tt+50)/50;
if(xx>0&&xx<10&&yy>0&&yy<10&&zz>0&&zz<10){ Pff[xx][yy][zz].obj=tt+50; dbSetMatrixHeight(10,xx,zz,13);} //stores its # inthe new location
if(dbObjectPositionZ(tt+50)>2130){dbDeleteObject(tt+50); SC_RemoveObject(tt+50); dbDeleteSound(tt+50);}//oob destroy
if(en[tt].health<1) { for(int y=6;y<8;y++){if(!dbSoundPlaying(y)||y==7){ dbPositionSound(y,dbObjectPositionX(tt+50),dbObjectPositionY(tt+50),dbObjectPositionZ(tt+50)); dbPlaySound(y);}}
dead++; dbDeleteObject(tt+50); SC_RemoveObject(tt+50); dbDeleteSound(tt+50); }// if(en[tt].health<1)
}else{ if(dbRnd(260)==13){dbCloneObject(tt+50,1);dbSetObjectCull(tt+50,0);//CREATE AN ENEMY //dbScaleObject(tt+50,3e3,3e3,3e3);//dbMakeObjectSphere(tt+50,13,3,5);
dbCloneSound(tt+50,13); dbPlaySound(tt+50); dbLoopSound(tt+50);
dbPositionObject(tt+50,200+dbRnd(100),550,-50);
dbPointObject(tt+50,200+dbRnd(100),-50,213);SC_SetupObject(tt+50,2,0);
en[tt].health=26;
}//if
}//else
}
/////////////////////* Enemy Stuff *////////////////////////////
//Camera and UPDATE
dbUpdateMatrix(10);
dbPositionCamera(250,39,600);//dbPointCamera(DeskW*5/2,13,DeskH*5/2);
dbPointCamera(dbNewXValue(260,dir,13),dbNewYValue(13,dirY,13),dbNewZValue(260,dir,13));
dbPitchCameraUp(10);
}else{//TIME limit
dbSetTextSize(39); dbCenterText(dbDesktopWidth()/2,dbDesktopHeight()/2,"You destroyed invaders!" );
dbSetTextSize(52); dbCenterText(dbDesktopWidth()/2,dbDesktopHeight()/2,dbStr(dead) );}
dbSync();
}while(!dbEscapeKey()&&!(dbShiftKey()&&dbReturnKey()));//EXIT Sentenal control my cock bitch
}
//Controls most thing that fire bullets
void shoot(float dir,float dirY)
{ bool o=0,kk=0; int xx,yy,zz,colobj;
//dbRotateObject(1,0,dir,0);
dbPositionObject(13,dbNewXValue(dbCameraPositionX(),(dir)/3+120,65),dbNewYValue(dbCameraPositionY(),dirY/3,65),dbNewZValue(dbCameraPositionZ(),(dir)/3+120,65));
if(dbMouseClick()){o=1;}
for(int tt=20;tt<50;tt++){if(dbObjectExist(tt)){
xx=dbObjectPositionX(tt)/50; yy=dbObjectPositionY(tt)/50; zz=dbObjectPositionZ(tt)/50;
if(xx>0&&xx<10&&yy>0&&yy<10&&zz>0&&zz<10){ Pff[xx][yy][zz].obj=0; }//clears current
dbMoveObject(tt,21);//
if(!0) {xx=dbObjectPositionX(tt)/50; yy=dbObjectPositionY(tt)/50; zz=dbObjectPositionZ(tt)/50;
if(xx>0&&xx<10&&yy>0&&yy<10&&zz>0&&zz<10){ Pff[xx][yy][zz].obj=tt; } //stores its # inthe new location
}
xx=dbObjectPositionX(tt);yy=dbObjectPositionY(tt);zz=dbObjectPositionZ(tt);
colobj=SC_RayCastGroup(2,xx,yy,zz,dbNewXValue(xx,dbObjectAngleY(tt),21),dbNewYValue(yy,dbObjectAngleX(tt),21),dbNewZValue(zz,dbObjectAngleY(tt),21),0);
if(colobj>0){en[colobj-50].health-=dbRnd(13)+13; kk=0 ;
dbPositionSound (1,dbObjectPositionX(tt),dbObjectPositionY(tt),dbObjectPositionZ(tt)); dbPlaySound(1);
for(int h=100;h<113&&!kk;h++){if(!dbObjectExist(h)){kk=1;
if(en[colobj-50].health<1){ dbMakeObjectSphere(h,13+dbRnd(21),8,5); }else{ dbMakeObjectSphere(h,8+dbRnd(13),3,5); }
dbTextureObject(h,10);dbSetObjectTransparency(h,5);dbPositionObject(h,dbObjectPositionX(tt),dbObjectPositionY(tt),dbObjectPositionZ(tt));
}//exists
}
}
if(dbObjectPositionZ(tt)<-39||colobj>0){dbDeleteObject(tt);}
}else{//exist
shoottimer-=1;if(o&&shoottimer<1){shoottimer=21;dbMakeObjectSphere(tt,.3,3,3);o=0;
for(int y=2;y<5;y++){if(!dbSoundPlaying(y)||y==4){dbSetSoundSpeed(y,dbRnd(100)/100);dbPlaySound(y);}}
dbPositionObject(tt,dbNewXValue(dbCameraPositionX(0),dir,0),dbNewYValue(dbCameraPositionY(0),dirY,0),dbNewZValue(dbCameraPositionZ(0),dir,0));
dbPointObject(tt,dbObjectPositionX(13),dbObjectPositionY(13),dbObjectPositionZ(13));
}//if(o)
}//else exist
}//for
}
//dbPositionObject(50,dbObjectPositionX(2)+10,dbObjectPositionX(2)+10,dbObjectPositionX(2)+10);
//if(dbObjectExist(21)){dbPositionObject(500,dbNewXValue(dbObjectPositionX(21),dbObjectAngleY(21),13),dbNewYValue(dbObjectPositionY(21),dbObjectAngleX(21),13),dbNewZValue(dbObjectPositionZ(21),dbObjectAngleY(21),13));}
/*
en[i].damage=1+(dead/3);
en[i].ship=dbRnd(2);//012
en[i].xcord=dbRnd(dbScreenWidth());
en[i].ycord=-13;
en[i].damage=1+(dead/3);*/
/* for(int tt=0;tt<10;tt++)
{ for(int j=0;j<10;j++)
{ for(int j=0;j<10;j++)
{
for(int i=0;i<13;i++)
{
if(dbObjectExist(i+50))//
{ int d=dbObjectPositionX(i+50)/2;
int x=dbObjectPositionZ(i+50)/2;
if(tt+3>d&&tt-3<d&&j+3>x&&j-3<x)//if( atan2(dbObjectPositionX(i+50)-(tt*2),dbObjectPositionZ(i+50)-(j*2))<1 )
{
dbSetMatrixHeight(10,tt,j,13);
}else{dbSetMatrixHeight(10,tt,j,-13);}
}
}
}
}//dbSetMatrixTrim(10,tt,j);
}dbUpdateMatrix(10);*/
/*f(dbObjectExist(50)){
dbText(13,26,dbStr(dbObjectPositionX(50)));
dbText(13,39,dbStr(dbObjectPositionY(50)));
dbText(13,52,dbStr(dbObjectPositionZ(50)));
}*/
//dbText(13,39,dbStr(dir));
//dbText(13,52,dbStr(dirY));
Please download the game, look over my code and critique me, even if you want to insult it I will want to hear your opinion.

)
O ya its in a rar file so youll need to winrar or something.