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.