Pico1k Contract Offender
Pico1k *Contract Offender* (Sequel: Contract Offender 2)
Controls: 4 Arrowkeys to move (p1 left/right/up/down);ctrl+r to retry; p/enter to pause/reset
Mission: Hq has ordered you hire 10 local caitsith to diversify the outpost while it is still under your control. They didn't really specify much else about the job, and you didn't ask. 10 furry employees, past or present, need to be in that outpost before it falls or you don't get paid. Hq has sent over a big box of 99 fish hearts to help you woo the natives with. Unsurprising, the smell seems to have also wooed the wrong type of native. Thankfully they seem more interested in the fish hearts than your own. You have programmed the outpost to handout the treats like its halloween to anything that makes it inside. Failing that, each cait you recruit will be able to provide buffet service for a guest. Dump these smelly hearts as soon as you can, and make 10 furry friends!
To encourage your moral compass, your final score is the number of cait left alive (π±1->π±10). The contract must be completed in order to receive a score οΌβΌγΈβΌγ‘οΌ.
Some tips:β(βΔΉΜ― β-Ν )β
1. Food>0 is required to recruit cait (yellow kitties).
2. The more food you hoard the more enemies will attack.
3. Food is automatically traded to defeat attackers hitting the base.
4. Don't automatically go for any spawning food/cait. Wait until the base is clear.
5. Game ends if base overrun (has more enemies than cait on it).
6. Victory achieved if you recruit 10 cait to the base. Final score is cait-enemies_on_base. A max score of 10 can be achieved.
The score to beat is 7. Post your best score in the comments. Made for the pico1k gamejam (i.e. make pico8 game in 1024 characters or less).https://itch.io/jam/pico-1k/entries
Code (1024 chars):
μ=63β=129a=1x=63y=63f=99g=53h=53j=40k=80s=0d=0e={}v=btn
b=1u=1q="\ace#g"i=rnd
β=nil
function _update60()n=i(126)function c(x,y,a,b,c)return(a-x)^2+(b-y)^2<(2+c)^2end
if(v(0))x-=1
if(v(1))x+=1
if(v(2))y-=1
if(v(3))y+=1
if(c(g,h,x,y,2)and b==1)f+=1b=β?q
if(t()%2==0and not b)g,h=n,n b=1
if(j<β)j+=.4else u=β
if(c(j,k,x,y,2)and u and f>0)f-=1u=β s+=1?q
if(t()%2==0and i(2)>1and not u)j,k=-4,n u=1
if i(2)>(1.98-f*.01)then
add(e,{x=0,y=0,m=i(2)>1and-2or β,g=i(β),w=i(β),e=i(β),t=0,u=function(l)
if(l.t<1)l.t+=0.008l.x,l.y=l.m*(1-l.t)^2+2*l.t*l.w*(1-l.t)+μ*l.t^2,l.g*(1-l.t)^2+2*l.t*l.e*(1-l.t)+μ*l.t^2
if(c(l.x,l.y,x,y,2))del(e,l)?"\ag-e..#"
if c(l.x,l.y,μ,μ,8)then del(e,l)?"\a-2d#2de#"
if(f<1)d+=1else f-=1end
end,d=function(l)?"β ",l.x-3,l.y-2,0
end})end
for o in all(e)do o:u()end
if(s>9or d>s)a=2e=β
end
function _draw()cls(3)?"β₯"..f,5,2,7
circfill(μ,μ,8,4)
?"π±"..s.."\n".."β "..d,58,58,15
if(b)?"β₯",g-3,h-2,8
if(u)?"π±",j-3,k-2,10
for o in all(e)do o:d()end?"μ",x-3,y-2,1
if(a>1)cls(0)?"β ",μ-3,μ,μ
if(a>1and s>9)?"π±"..s-d
end
Comments:
--[[The math is Circle collision and bezier curve formula. Heart and cait use global variables; when colliding with the player they reset to a new position at certain timer intervals. Enemies are spawned into a table, each with their own table entries.
If you see any ways to cut back on characters, let me know. I started at ~1600chars; gutting over 33% of the code was α(ΰ² ηΰ² α.]]
Leave a comment
Log in with itch.io to leave a comment.