TGC Codebase Backup



Blash by Karrde

23rd Mar 2006 22:35
Summary

Blash your enemies, most of the socurce code is from the totorials, but I changed most of the maps and music.



Description

Destryo some raptors. every enemy is a flying RAPTOR, so, beware of the flying raptors. This may seem like a knock off of the totorial, but it is a game you can find funny!



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    rem Tutorial 3

rem *ADDCODE* TUT3A

rem *ADDCODE* TUT3B

rem *ADDCODE* TUT3C

rem Tutorial 4

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem *ADDCODE* TUT4C

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:
return

_control_gunandbullet:
return

_control_enemies:
return

_control_stats:
return

_setup_game:
 rem *ADDCODE* TUT4B
return

_load_game:
 rem *ADDCODE* TUT4A
return

rem Tutorial 5

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem Select font
set text font "arial" : set text size 16
set text to bold : set text transparent

rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:

rem *ADDCODE* TUT5C

rem *ADDCODE* TUT5D

rem *ADDCODE* TUT5B

return

_control_gunandbullet:
return

_control_enemies:
return

_control_stats:
return

_setup_game:

 rem Setup camera
 set camera range 0.1,5000
 autocam off

 rem Setup sky model
 set object SkyObj,1,0,0,0,0,0,0
 scale object SkyObj,20,20,20

 rem *ADDCODE* TUT5A

return

_load_game:

 rem Load BSP world and sky model
 load bsp "world\ikzdm1.pk3","ikzdm1.bsp"
 SkyObj=1 : load object "models\sky\am.x",SkyObj

return

rem Tutorial 6

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem Select font
set text font "arial" : set text size 16
set text to bold : set text transparent

rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:

rem Control player direction
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0

rem Control player movement
cx#=camera angle x(0) : cy#=camera angle y(0)
if upkey()=1 then xrotate camera 0,0 : move camera 0,0.2 : xrotate camera 0,cx#
if downkey()=1 then xrotate camera 0,0 : move camera 0,-0.2 : xrotate camera 0,cx#
if leftkey()=1 then yrotate camera 0,cy#-90 : move camera 0.2 : yrotate camera 0,cy#
if rightkey()=1 then yrotate camera 0,cy#+90 : move camera 0.2 : yrotate camera 0,cy#
if wrapvalue(camera angle x(0))>40 and wrapvalue(camera angle x(0))<180 then xrotate camera 0,40
if wrapvalue(camera angle x(0))>180 and wrapvalue(camera angle x(0))<280 then xrotate camera 0,280

rem Apply simple gravity to player
position camera camera position x(),camera position y()-0.1,camera position z()

rem Player is always focal point of sky
position object SkyObj,camera position x(),camera position y(),camera position z()

rem Position listener at player for 3D sound
position listener camera position x(),camera position y(),camera position z()
rotate listener camera angle x(),camera angle y(),camera angle z()

rem In case of restart
if restart=1
   restart=0
   set bsp collision off 1
   rotate camera 0,0,0
   position camera 2,2,2
   set bsp camera collision 1,0,0.75,0
endif

return

_control_gunandbullet:

 rem *ADDCODE* TUT6C

 rem *ADDCODE* TUT6D

return

_control_enemies:
return

_control_stats:
return

_setup_game:

 rem Setup camera
 set camera range 0.1,5000
 autocam off

 rem Setup sky model
 set object SkyObj,1,0,0,0,0,0,0
 scale object SkyObj,20,20,20

 rem *ADDCODE* TUT6B

 rem Trigger player initialisation
 restart=1

return

_load_game:

 rem Load BSP world and sky model
 load bsp "world\ikzdm1.pk3","ikzdm1.bsp"
 SkyObj=1 : load object "models\sky\am.x",SkyObj

 rem *ADDCODE* TUT6A

return

rem Tutorial 7

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem Select font
set text font "arial" : set text size 16
set text to bold : set text transparent

rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:

rem Control player direction
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0

rem Control player movement
cx#=camera angle x(0) : cy#=camera angle y(0)
if upkey()=1 then xrotate camera 0,0 : move camera 0,0.2 : xrotate camera 0,cx#
if downkey()=1 then xrotate camera 0,0 : move camera 0,-0.2 : xrotate camera 0,cx#
if leftkey()=1 then yrotate camera 0,cy#-90 : move camera 0.2 : yrotate camera 0,cy#
if rightkey()=1 then yrotate camera 0,cy#+90 : move camera 0.2 : yrotate camera 0,cy#
if wrapvalue(camera angle x(0))>40 and wrapvalue(camera angle x(0))<180 then xrotate camera 0,40
if wrapvalue(camera angle x(0))>180 and wrapvalue(camera angle x(0))<280 then xrotate camera 0,280

rem Apply simple gravity to player
position camera camera position x(),camera position y()-0.1,camera position z()

rem Player is always focal point of sky
position object SkyObj,camera position x(),camera position y(),camera position z()

rem Position listener at player for 3D sound
position listener camera position x(),camera position y(),camera position z()
rotate listener camera angle x(),camera angle y(),camera angle z()

rem In case of restart
if restart=1
   restart=0
   set bsp collision off 1
   rotate camera 0,0,0
   position camera 2,2,2
   set bsp camera collision 1,0,0.75,0
endif

return

_control_gunandbullet:

 rem Control gun firing
 if mouseclick()=1 and bullet=-50
  bullet=100
  play sound GunSnd
  position object BulletObj,camera position x(0),camera position y(0),camera position z(0)
  rotate object BulletObj,camera angle x(0),camera angle y(0),0
  set bsp object collision 2,BulletObj,0.1,1
  move object BulletObj,0.2
 endif

 rem Control life of bullet
 if bullet>0

  rem If bullet collides with BSP world
  if bsp collision hit(2)=1 or bulletimpact=1
   rem End bullet on wall
   position sound ImpactSnd,object position x(BulletObj), object position y(BulletObj), object position z(BulletObj)
   play sound ImpactSnd
   bulletimpact=0
   bullet=0
  else
   rem Move bullet
   dec bullet
   move object BulletObj,0.5
  endif

  rem Bullet dies
  if bullet=0
   set bsp collision off 2
  endif

 else
  rem Gun recharge phase
  if bullet>-50 then dec bullet
 endif

return

_control_enemies:
 rem *ADDCODE* TUT7C
return

_control_stats:
return

_setup_game:

 rem Setup camera
 set camera range 0.1,5000
 autocam off

 rem Setup sky model
 set object SkyObj,1,0,0,0,0,0,0
 scale object SkyObj,20,20,20

 rem Setup gun for player
 lock object on GunObj
 scale object GunObj,2,2,4
 rotate object GunObj,270,0,0
 position object GunObj,0.5,-1,2
 disable object zdepth GunObj

 rem Create object for bullet
 BulletObj=3 : make object cube BulletObj,0.1

 rem Create simple sprite based crosshair
 sprite 1,320-16,240-16,CrossHairImg
 set sprite 1,0,1

 rem *ADDCODE* TUT7D

 rem Trigger player initialisation
 restart=1

return

_load_game:

 rem Load BSP world and sky model
 load bsp "world\ikzdm1.pk3","ikzdm1.bsp"
 SkyObj=1 : load object "models\sky\am.x",SkyObj

 rem Load model for gun
 GunObj=2 : load object "models\gun\gun.x",GunObj

 rem *ADDCODE* TUT7A

 rem Load all sounds
 GunSnd=1 : load sound "sounds\gun.wav",GunSnd
 ImpactSnd=2 : load 3dsound "sounds\impact.wav",ImpactSnd
 DieSnd=3 : load sound "sounds\die.wav",DieSnd

 rem *ADDCODE* TUT7B

 rem Load music (WAV best for looping)
 MusicSnd=101 : load sound "sounds\ingame.wav",MusicSnd
 loop sound MusicSnd : set sound volume MusicSnd,80

 rem Load images
 FireImg=1 : load image "images\fire.bmp",FireImg
 CrossHairImg=2 : load image "images\crosshair.bmp",CrossHairImg

return

rem Tutorial 8

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem Select font
set text font "arial" : set text size 16
set text to bold : set text transparent

rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:

rem Control player direction
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0

rem Control player movement
cx#=camera angle x(0) : cy#=camera angle y(0)
if upkey()=1 then xrotate camera 0,0 : move camera 0,0.2 : xrotate camera 0,cx#
if downkey()=1 then xrotate camera 0,0 : move camera 0,-0.2 : xrotate camera 0,cx#
if leftkey()=1 then yrotate camera 0,cy#-90 : move camera 0.2 : yrotate camera 0,cy#
if rightkey()=1 then yrotate camera 0,cy#+90 : move camera 0.2 : yrotate camera 0,cy#
if wrapvalue(camera angle x(0))>40 and wrapvalue(camera angle x(0))<180 then xrotate camera 0,40
if wrapvalue(camera angle x(0))>180 and wrapvalue(camera angle x(0))<280 then xrotate camera 0,280

rem Apply simple gravity to player
position camera camera position x(),camera position y()-0.1,camera position z()

rem Player is always focal point of sky
position object SkyObj,camera position x(),camera position y(),camera position z()

rem Position listener at player for 3D sound
position listener camera position x(),camera position y(),camera position z()
rotate listener camera angle x(),camera angle y(),camera angle z()

rem In case of restart
if restart=1
   restart=0
   set bsp collision off 1
   rotate camera 0,0,0
   position camera 2,2,2
   set bsp camera collision 1,0,0.75,0
endif

return

_control_gunandbullet:

 rem Control gun firing
 if mouseclick()=1 and bullet=-50
  bullet=100
  play sound GunSnd
  position object BulletObj,camera position x(0),camera position y(0),camera position z(0)
  rotate object BulletObj,camera angle x(0),camera angle y(0),0
  set bsp object collision 2,BulletObj,0.1,1
  move object BulletObj,0.2
 endif

 rem Control life of bullet
 if bullet>0

  rem If bullet collides with BSP world
  if bsp collision hit(2)=1 or bulletimpact=1
   rem End bullet on wall
   position sound ImpactSnd,object position x(BulletObj), object position y(BulletObj), object position z(BulletObj)
   play sound ImpactSnd
   bulletimpact=0
   bullet=0
  else
   rem Move bullet
   dec bullet
   move object BulletObj,0.5
  endif

  rem Bullet dies
  if bullet=0
   set bsp collision off 2
  endif

 else
  rem Gun recharge phase
  if bullet>-50 then dec bullet
 endif

return

_control_enemies:

 rem Variable for finding closest enemy
 cdist#=9999.99

 rem Handle enemies within world
 for ene=EneObj to EneObj+4

  rem If enemy alive
  if object visible(ene)=1

  rem Kill this enemy
  killenemy=0

  rem Move enemy on a slow curve for appearance of intelegence
  if object angle z(ene)=0
   yrotate object ene,wrapvalue(object angle y(ene)+2)
  endif
  if object angle z(ene)=1
   yrotate object ene,wrapvalue(object angle y(ene)-2)
  endif
  if object angle z(ene)=2
   move object ene,0.05
  else
   move object ene,0.02
  endif

  rem Switch direction of curve based on a random value
  if rnd(200)=1 then zrotate object ene,rnd(1)

  rem Handle gravity for enemy
  position object ene,object position x(ene),object position y(ene)-0.01,object position z(ene)

  rem Work out angle and distance between enemy and player
  dx#=camera position x(0)-object position x(ene)
  dy#=camera position y(0)-object position y(ene)
  dz#=camera position z(0)-object position z(ene)
  dist#=abs(sqrt(abs(dx#*dx#)+abs(dy#*dy#)+abs(dz#*dz#)))
  viewa#=wrapvalue(atanfull(dx#,dz#))
  obja#=wrapvalue(object angle y(ene))
  if viewa#>180 then viewa#=viewa#-360
  if obja#>180 then obja#=obja#-360

  rem *ADDCODE* TUT8A

  rem *ADDCODE* TUT8B

  rem *ADDCODE* TUT8C

  rem Closest enemy emits the enemy sound
  if dist#<cdist#
   cdist#=dist#
   position sound EnemySnd,object position x(ene), object position y(ene), object position z(ene)
   position sound EnemygunSnd,object position x(ene), object position y(ene), object position z(ene)
   position sound EnemydieSnd,object position x(ene), object position y(ene), object position z(ene)
  endif

  rem Hide enemy when die animation over
  if object frame(ene)>26+25 and object visible(ene)=1
   killenemy=1
  endif

  if killenemy=1
   set bsp collision off 3+(ene-EneObj)
   hide object ene : dec aliensleft
   killenemy=0
  endif

  rem If enemy alive ENDIF
  endif

 next ene

return

_control_stats:
return

_setup_game:

 rem Setup camera
 set camera range 0.1,5000
 autocam off

 rem Setup sky model
 set object SkyObj,1,0,0,0,0,0,0
 scale object SkyObj,20,20,20

 rem Setup gun for player
 lock object on GunObj
 scale object GunObj,2,2,4
 rotate object GunObj,270,0,0
 position object GunObj,0.5,-1,2
 disable object zdepth GunObj

 rem Create object for bullet
 BulletObj=3 : make object cube BulletObj,0.1

 rem Create simple sprite based crosshair
 sprite 1,320-16,240-16,CrossHairImg
 set sprite 1,0,1

 rem *ADDCODE* TUT8D

 rem Start the enemy presence sound
 loop sound EnemySnd
 scale listener 0.1

 rem Trigger player initialisation
 restart=1

return

_load_game:

 rem Load BSP world and sky model
 load bsp "world\ikzdm1.pk3","ikzdm1.bsp"
 SkyObj=1 : load object "models\sky\am.x",SkyObj

 rem Load model for gun
 GunObj=2 : load object "models\gun\gun.x",GunObj

 rem Load models for enemies
 EneObj=11
 for ene=EneObj to EneObj+4
  load object "models\enemy\H-Alien Psionic-Idle.x",ene
  append object "models\enemy\H-Alien Psionic-Die.x", ene, total object frames(ene)+1
  position object ene,2,2,4
  loop object ene,0,25
 next ene

 rem Load all sounds
 GunSnd=1 : load sound "sounds\gun.wav",GunSnd
 ImpactSnd=2 : load 3dsound "sounds\impact.wav",ImpactSnd
 DieSnd=3 : load sound "sounds\die.wav",DieSnd
 EnemySnd=11 : load 3dsound "sounds\enemy.wav",EnemySnd
 EnemygunSnd=12 : load 3dsound "sounds\enemygun.wav",EnemygunSnd
 EnemydieSnd=13 : load 3dsound "sounds\enemydie.wav",EnemydieSnd

 rem Load music (WAV best for looping)
 MusicSnd=101 : load sound "sounds\ingame.wav",MusicSnd
 loop sound MusicSnd : set sound volume MusicSnd,80

 rem Load images
 FireImg=1 : load image "images\fire.bmp",FireImg
 CrossHairImg=2 : load image "images\crosshair.bmp",CrossHairImg

return

rem *ADDCODE* TUT8E

rem Tutorial 9

rem Initial settings
sync on : sync rate 100
backdrop off : hide mouse

rem Select font
set text font "arial" : set text size 16
set text to bold : set text transparent

rem Loading prompt
sync : center text screen width()/2,screen height()/2,"LOADING" : sync

rem Load all media for game
gosub _load_game

rem Setup all objects for game
gosub _setup_game

rem Game loop
do

 rem Control game elements
 gosub _control_player
 gosub _control_gunandbullet
 gosub _control_enemies

 rem Update screen
 sync

rem End loop
loop

rem End program
end

_control_player:

rem Control player direction
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0

rem Control player movement
cx#=camera angle x(0) : cy#=camera angle y(0)
if upkey()=1 then xrotate camera 0,0 : move camera 0,0.2 : xrotate camera 0,cx#
if downkey()=1 then xrotate camera 0,0 : move camera 0,-0.2 : xrotate camera 0,cx#
if leftkey()=1 then yrotate camera 0,cy#-90 : move camera 0.2 : yrotate camera 0,cy#
if rightkey()=1 then yrotate camera 0,cy#+90 : move camera 0.2 : yrotate camera 0,cy#
if wrapvalue(camera angle x(0))>40 and wrapvalue(camera angle x(0))<180 then xrotate camera 0,40
if wrapvalue(camera angle x(0))>180 and wrapvalue(camera angle x(0))<280 then xrotate camera 0,280

rem Apply simple gravity to player
position camera camera position x(),camera position y()-0.1,camera position z()

rem Player is always focal point of sky
position object SkyObj,camera position x(),camera position y(),camera position z()

rem Position listener at player for 3D sound
position listener camera position x(),camera position y(),camera position z()
rotate listener camera angle x(),camera angle y(),camera angle z()

rem In case of restart
if restart=1
   restart=0
   set bsp collision off 1
   rotate camera 0,0,0
   position camera 2,2,2
   set bsp camera collision 1,0,0.75,0
endif

return

_control_gunandbullet:

 rem Control gun firing
 if mouseclick()=1 and bullet=-50
  bullet=100
  play sound GunSnd
  position object BulletObj,camera position x(0),camera position y(0),camera position z(0)
  rotate object BulletObj,camera angle x(0),camera angle y(0),0
  set bsp object collision 2,BulletObj,0.1,1
  move object BulletObj,0.2
  rem *ADDCODE* TUT9B
 endif

 rem Control life of bullet
 if bullet>0

  rem If bullet collides with BSP world
  if bsp collision hit(2)=1 or bulletimpact=1
   rem End bullet on wall
   position sound ImpactSnd,object position x(BulletObj), object position y(BulletObj), object position z(BulletObj)
   play sound ImpactSnd
   bulletimpact=0
   bullet=0
  else
   rem Move bullet
   dec bullet
   move object BulletObj,0.5
  endif

  rem *ADDCODE* TUT9C

  rem Bullet dies
  if bullet=0
   rem *ADDCODE* TUT9D
   set bsp collision off 2
  endif

 else
  rem Gun recharge phase
  if bullet>-50 then dec bullet
 endif

return

_control_enemies:

 rem Variable for finding closest enemy
 cdist#=9999.99

 rem Handle enemies within world
 for ene=EneObj to EneObj+4

  rem If enemy alive
  if object visible(ene)=1

  rem Kill this enemy
  killenemy=0

  rem Move enemy on a slow curve for appearance of intelegence
  if object angle z(ene)=0
   yrotate object ene,wrapvalue(object angle y(ene)+2)
  endif
  if object angle z(ene)=1
   yrotate object ene,wrapvalue(object angle y(ene)-2)
  endif
  if object angle z(ene)=2
   move object ene,0.05
  else
   move object ene,0.02
  endif

  rem Switch direction of curve based on a random value
  if rnd(200)=1 then zrotate object ene,rnd(1)

  rem Handle gravity for enemy
  position object ene,object position x(ene),object position y(ene)-0.01,object position z(ene)

  rem Work out angle and distance between enemy and player
  dx#=camera position x(0)-object position x(ene)
  dy#=camera position y(0)-object position y(ene)
  dz#=camera position z(0)-object position z(ene)
  dist#=abs(sqrt(abs(dx#*dx#)+abs(dy#*dy#)+abs(dz#*dz#)))
  viewa#=wrapvalue(atanfull(dx#,dz#))
  obja#=wrapvalue(object angle y(ene))
  if viewa#>180 then viewa#=viewa#-360
  if obja#>180 then obja#=obja#-360

  rem If enemy 'facing player' and 'on similar height' and 'close', zoom in
  if abs(viewa#-obja#)<10.0 and abs(dy#)<5.0 and dist#<30.0
   if object angle z(ene)<>2 then play sound EnemygunSnd
   rotate object ene,0,viewa#,2
   set object speed ene,200
  else
   set object speed ene,100
  endif

  rem If enemy gets too close to player, player dies
  if dist#<2.0
   play sound DieSnd
   for x=0 to 100
    point camera object position x(ene), object position y(ene)+(x/20.0), object position z(ene)
    sync
   next x
   restart=1
   killenemy=1
  endif

  rem If enemy and bullet in same space, enemy dies
  if bullet>0
   if object collision(BulletObj,ene)>0
    play sound EnemydieSnd
    play object ene,26,26+50
    set object speed ene,100
    bulletimpact=1
   endif
  endif

  rem Closest enemy emits the enemy sound
  if dist#<cdist#
   cdist#=dist#
   position sound EnemySnd,object position x(ene), object position y(ene), object position z(ene)
   position sound EnemygunSnd,object position x(ene), object position y(ene), object position z(ene)
   position sound EnemydieSnd,object position x(ene), object position y(ene), object position z(ene)
  endif

  rem Hide enemy when die animation over
  if object frame(ene)>26+25 and object visible(ene)=1
   killenemy=1
  endif

  if killenemy=1
   set bsp collision off 3+(ene-EneObj)
   hide object ene : dec aliensleft
   killenemy=0
  endif

  rem If enemy alive ENDIF
  endif

 next ene

return

_control_stats:
rem *ADDCODE* TUT9A
return

_setup_game:

 rem Setup camera
 set camera range 0.1,5000
 autocam off

 rem Setup sky model
 set object SkyObj,1,0,0,0,0,0,0
 scale object SkyObj,20,20,20

 rem Setup gun for player
 lock object on GunObj
 scale object GunObj,2,2,4
 rotate object GunObj,270,0,0
 position object GunObj,0.5,-1,2
 disable object zdepth GunObj

 rem Create object for bullet
 BulletObj=3 : make object cube BulletObj,0.1

 rem Create simple sprite based crosshair
 sprite 1,320-16,240-16,CrossHairImg
 set sprite 1,0,1

 rem Place enemies throughout world and set BSP collision for them
 aliensleft=0
 restore EnemyPosData
 for ene=EneObj to EneObj+4
  read ex#,ey#,ez#
  position object ene,ex#,ey#,ez#
  set bsp object collision 3+(ene-EneObj),ene,0.75,0
  yrotate object ene,180 : fix object pivot ene
  inc aliensleft
 next ene

 rem Start the enemy presence sound
 loop sound EnemySnd
 scale listener 0.1

 rem Trigger player initialisation
 restart=1

return

_load_game:

 rem Load BSP world and sky model
 load bsp "world\ikzdm1.pk3","ikzdm1.bsp"
 SkyObj=1 : load object "models\sky\am.x",SkyObj

 rem Load model for gun
 GunObj=2 : load object "models\gun\H-Frag-Static.x",GunObj

 rem Load models for enemies
 EneObj=11
 for ene=EneObj to EneObj+4
  load object "models\raptor\M-Raptor-Idle.x",ene
  append object "models\raptor\M-Raptor-Die.x", ene, total object frames(ene)+1
  loop object ene,0,25
 next ene

 rem Load all sounds
 GunSnd=1 : load sound "sounds\gun.wav",GunSnd
 ImpactSnd=2 : load 3dsound "sounds\impact.wav",ImpactSnd
 DieSnd=3 : load sound "sounds\die.wav",DieSnd
 EnemySnd=11 : load 3dsound "sounds\enemy.wav",EnemySnd
 EnemygunSnd=12 : load 3dsound "sounds\enemygun.wav",EnemygunSnd
 EnemydieSnd=13 : load 3dsound "sounds\enemydie.wav",EnemydieSnd

 rem Load music (WAV best for looping)
 MusicSnd=101 : load sound "sounds\ingamejam.wav",MusicSnd
 loop sound MusicSnd : set sound volume MusicSnd,100

 rem Load images
 FireImg=1 : load image "images\fire.bmp",FireImg
 CrossHairImg=2 : load image "images\crosshair.bmp",CrossHairImg

return

rem Enemy position data within level
EnemyPosData:
data -9.27,9.98,-2.78
data -16.54,-0.22,19.18
data 2.0,9.0,25.0
data -2.0,-9.0,25.0
data 2,4.0,10.0