aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--background.lua24
-rw-r--r--bullets.lua2
-rw-r--r--draw.lua2
-rw-r--r--enemies.lua8
-rw-r--r--objects.lua1
-rw-r--r--particles.lua2
-rw-r--r--pickups.lua2
-rw-r--r--players.lua6
-rw-r--r--ui.lua39
-rw-r--r--update.lua12
-rw-r--r--waves.lua12
11 files changed, 57 insertions, 53 deletions
diff --git a/background.lua b/background.lua
index 4807d36..d99ee3b 100644
--- a/background.lua
+++ b/background.lua
@@ -90,16 +90,20 @@ function drawbg()
end
--pine trees
- scrollingsprite(231,10,94,1,2,72,true)
- scrollingsprite(231,30,94,1,2,72)
- scrollingsprite(231,20,93,1,2,72,true)
- scrollingsprite(231,50,95,1,2,72,true)
- scrollingsprite(231,62,93,1,2,72,true)
- scrollingsprite(231,70,94,1,2,72)
- scrollingsprite(231,80,95,1,2,72)
- scrollingsprite(231,95,94,1,2,72)
- scrollingsprite(231,100,93,1,2,72)
- scrollingsprite(231,120,95,1,2,72,true)
+ local treex = {10,30,20,50,62,70,80,95,100,120}
+ for i = 1, 10, 1 do
+ scrollingsprite(231,treex[i],94+sin(i/5.2323),1,2,72,(i%2==0))
+ end
+ -- scrollingsprite(231,10,94,1,2,72,true)
+ -- scrollingsprite(231,30,94,1,2,72)
+ -- scrollingsprite(231,20,93,1,2,72,true)
+ -- scrollingsprite(231,50,95,1,2,72,true)
+ -- scrollingsprite(231,62,93,1,2,72,true)
+ -- scrollingsprite(231,70,94,1,2,72)
+ -- scrollingsprite(231,80,95,1,2,72)
+ -- scrollingsprite(231,95,94,1,2,72)
+ -- scrollingsprite(231,100,93,1,2,72)
+ -- scrollingsprite(231,120,95,1,2,72,true)
--small buildings
scrollingsprite(226,15,98,2,2,80)
scrollingsprite(226,65,97,2,2,80)
diff --git a/bullets.lua b/bullets.lua
index 1b217e7..5d22e47 100644
--- a/bullets.lua
+++ b/bullets.lua
@@ -85,7 +85,7 @@ function addlaser(x, y, r)
end
function laser.update(laser)
- timer += 1/60
+ timer += ft
--collision detection after the warm up
if timer > 1.5 and timer < 3.6 then
if not playingsound then
diff --git a/draw.lua b/draw.lua
index ca7cb2c..aa7c015 100644
--- a/draw.lua
+++ b/draw.lua
@@ -32,7 +32,7 @@ if not gamerunning or menuscroll < 1 then
menuscroll += scrollspeed
- if not gamerunning then menushipscroll += 1/60 end
+ if not gamerunning then menushipscroll += ft end
for i = 1, 3, 1 do
spr(14+i*16, (-menushipscroll*(i*20)+(sin(i/3)*128)+8)%(128+8)-1*8-menuscroll*240, i*36+sin(menushipscroll*i/3)*i*2-20-menuscroll*50,1,1)
diff --git a/enemies.lua b/enemies.lua
index d905152..9f74efc 100644
--- a/enemies.lua
+++ b/enemies.lua
@@ -40,8 +40,8 @@ function enemydie(enemy, sound, soundchannel)
end
function enemymisc(enemy) --misc stuff every enemy needs
- enemy.shootcooldown -= 1/60
- enemy.inv -= 1/60
+ enemy.shootcooldown -= ft
+ enemy.inv -= ft
for i = 1, #players, 1 do
enemy.collide(enemy, players[i])
end
@@ -319,7 +319,7 @@ function addlasershooter(x, y, speed, stay)
end
end
enemy.firedlaser = true
- enemy.lasertimer += 1/60
+ enemy.lasertimer += ft
if enemy.lasertimer > 8 and stay then
enemy.firedlaser = false
enemy.lasertimer = 0
@@ -537,7 +537,7 @@ function addmissileboss(x, y) --boss that shoots missiles!!!
function enemy.update(enemy)
local playertarget = ceil((t()/2.4)%#players)
- enemy.targetchangetimer -= 1/60
+ enemy.targetchangetimer -= ft
--some cool different moves, shout out to dont get a virus fans!
if currentwavetime%18 > 8 and currentwavetime%20 < 12 then
enemy.targety = flr(everysecondtimer*1.99)*96
diff --git a/objects.lua b/objects.lua
index e2bcfd4..621f43b 100644
--- a/objects.lua
+++ b/objects.lua
@@ -1,5 +1,6 @@
obj = {}
gt = 0 -- game time
+ft = 1/60 --frametime
scrollspeed = 0
respawntimer = 0
gameover = false
diff --git a/particles.lua b/particles.lua
index 9f6d558..eec45d9 100644
--- a/particles.lua
+++ b/particles.lua
@@ -20,7 +20,7 @@ function addcircle(x, y, velx, vely, r, time, color, grav)
circle.x += circle.velx
circle.vely -= circle.grav
circle.y += circle.vely
- circle.time -= 1/60
+ circle.time -= ft
if circle.time < 0 then
del(obj, circle)
end
diff --git a/pickups.lua b/pickups.lua
index 0b259cd..0ad9210 100644
--- a/pickups.lua
+++ b/pickups.lua
@@ -1,7 +1,7 @@
local randompickups = {}
pickuptimer = 10
function randompickups.update()
- pickuptimer -= 1/60
+ pickuptimer -= ft
if pickuptimer < 0 then
pickuptimer = 10
if rnd(100) > 85 then
diff --git a/players.lua b/players.lua
index 9f05676..4f7eee3 100644
--- a/players.lua
+++ b/players.lua
@@ -95,7 +95,7 @@ function addplayer(x, y, sprite, bulletsprite)
player.y = mid(0, player.y, 120)
--particles from rockets, and smoke/sparks from damage
- player.particlecooldown -= 1/60
+ player.particlecooldown -= ft
if player.particlecooldown < 0 and player.health > 0 then
addcircle(player.x-1, player.y, -0.5, 0, 1.5, 0.5, 9)
addcircle(player.x-1, player.y+7, -0.5, 0, 1.5, 0.5, 9)
@@ -109,8 +109,8 @@ function addplayer(x, y, sprite, bulletsprite)
end
--shooting after cooldown
- player.shootcooldown -= 1/60
- player.inv -= 1/60
+ player.shootcooldown -= ft
+ player.inv -= ft
if (btn(4, player.id) or alwaysfire) and player.shootcooldown < 0 and player.health > 0 then
--for i = 1, 4, 1 do
--addcircle(player.x+3, player.y+4, rnd(1)+0.5, rnd(1)-0.5, 1.5, rnd(0.4), 12)
diff --git a/ui.lua b/ui.lua
index eb612e0..57dd9c8 100644
--- a/ui.lua
+++ b/ui.lua
@@ -12,19 +12,23 @@ function invaderslogotext(x,y)
-- y = 20
--font
- local text = "i n v a d e r s"
- print(text, x, y-1, 3)
- print(text, x+1, y, 3)
- print(text, x-1, y, 3)
- print(text, x-1, y+1, 3)
- print(text, x+1, y+1, 3)
- print(text, x-1, y-1, 3)
- print(text, x+1, y-1, 3)
- print(text, x+1, y+1, 3)
- print(text, x-1, y+2, 3)
- print(text, x+1, y+2, 3)
- print(text, x, y+2, 3)
- printdropshadow(text,x,y,14,3)
+ local text = "I N V A D E R S"
+ for i = 1, 12, 1 do
+ print(text, x+i%3-1, y+i%4-1, 3)
+ end
+ -- color(3)
+ -- print(text, x, y-1) --ew
+ -- print(text, x+1, y)
+ -- print(text, x-1, y)
+ -- print(text, x-1, y+1)
+ -- print(text, x+1, y+1)
+ -- print(text, x-1, y-1)
+ -- print(text, x+1, y-1)
+ -- print(text, x+1, y+1)
+ -- print(text, x-1, y+2)
+ -- print(text, x+1, y+2)
+ -- print(text, x, y+2)
+ print(text,x,y,14)
clip(x, y, 63, 3)
print(text,x,y,11)
clip()
@@ -48,7 +52,7 @@ function drawlogo(x,y)
sspr(40,24,8,8,x+26,y+7,16,16,true)
sspr(40,24,8,8,x+42,y+7,16,16)
--invaders
- invaderslogotext(x+12,y+20)
+ invaderslogotext(x+11,y+20)
end
function mainmenutext(x,y)
@@ -103,12 +107,11 @@ function credits(x,y)
palt(0,false)
spr(48,x-4,y+6+sin(t())*2,1,1,(t()%2<1)) --duck
spr(49,x+104,y+6+cos(t())*2,1,1,(t()%2<1)) --bot
- palt(2,false)
- palt(0,true)
+ palt()
printdropshadow("1029chris",x+10,y+5,9,2)
printdropshadow("ribboncable",x+56,y+5,12,15)
- printdropshadow("code tunes",x+8,y+12,11,3)
- printdropshadow("art sounds",x+58,y+12,11,3)
+ printdropshadow("CODE TUNES",x+8,y+12,11,3)
+ printdropshadow("ART SOUNDS",x+58,y+12,11,3)
-- print("made in vancouver - 2022", x+6,y+22,0)
-- print("made in vancouver - 2022", x+6,y+21,4)
diff --git a/update.lua b/update.lua
index 5af959c..21a3ca4 100644
--- a/update.lua
+++ b/update.lua
@@ -1,7 +1,7 @@
--scrolling and respawn stuff
-respawntimer -= 1/60
+respawntimer -= ft
if gameover then
- scrollspeed = mid(-1/10,scrollspeed-1/3000,1/60)
+ scrollspeed = mid(-1/10,scrollspeed-1/3000,ft)
if respawntimer < 0 then
gameover = false
foreach(players, function(obj) obj:respawn() end)
@@ -10,7 +10,7 @@ if gameover then
end
elseif gamerunning then
updatewaves() -- update the wave function
- scrollspeed = mid(0,scrollspeed+1/2000,1/60)
+ scrollspeed = mid(0,scrollspeed+1/2000,ft)
end
gt += scrollspeed + 1/600
@@ -31,11 +31,7 @@ end
--screenshake math
shake = shake + 0.11 * (0 - shake);
-if shake < 1 then
- shake = 0
-end
-
-if not doshake then
+if shake < 1 or not doshake then
shake = 0
end
--add another player if they fire
diff --git a/waves.lua b/waves.lua
index c196d85..6dae810 100644
--- a/waves.lua
+++ b/waves.lua
@@ -185,7 +185,7 @@ wave[13] = {
addbasicenemy(130, 63, 0.7)
addlasershooter(128, -2, 0.1, false)
addbomb(128,46, 0)
- addlasershooter(128, 128-38, 0.1, false)
+ addlasershooter(128, 90, 0.1, false)
end,
everysecond = wave[8].everysecond,
}
@@ -194,8 +194,8 @@ wave[14] = {
delay = 0,
start = function()
addbomb(140,46, 4)
- addtargetingenemy(140, 60-8, 0.2)
- addtargetingenemy(140, 60+8, 0.2)
+ addtargetingenemy(140, 52, 0.2)
+ addtargetingenemy(140, 68, 0.2)
addballshooter(128, 14, 0.03)
addballshooter(128, 100, 0.03)
end,
@@ -235,8 +235,8 @@ wave[16] = {
--music(0, 0, 3)
function updatewaves()
- currentwavetime += 1/60
- everysecondtimer += 1/60
+ currentwavetime += ft
+ everysecondtimer += ft
if everysecondtimer >= 1 then
everysecondtimer = 0
if wave[currentwave].everysecond then
@@ -244,7 +244,7 @@ function updatewaves()
end
end
if (wave[currentwave].conditions and wave[currentwave].conditions() or #enemies < 1) then
- delaytimer += 1/60
+ delaytimer += ft
if delaytimer > wave[min(currentwave+1, #wave)].delay then
if changedmusic and currentwave ~= 15 then
music(0, 0, 3)