This was made for the Pico 1k Jam 2022 

Compressed Bytes: 1024

Movement: Arrow keys

Attack: X / V

Reset on end screen: C / Z

Objectives:

Hunt the Monster Lords
Avoid or Destroy Spawn
Mana recharges overtime

Credits:

Code/Art/Audio: myself

Some chars are symbols found inside pico8

Tools:

Pico-8 : A truly amazing lightweight game engine. very easy to pick up and very powerful to get started in game making.

Hex/Binary Pixel Editor : Can't use the first column if your using the the raw binary to get valid ASCII, and the image flips h when printed, any anyone that knows a work around for this I'd like to know. otherwise very helpful.

The 'Pico-8 Manual' the appendix was my best friend thru this. 


Thoughts:

This was my first time using pico8, and making something so small. I found the restrictions of the jam freeing as I didn't have to worry about GFX and SFX as much. and could focus on adding a little bit at a time. Although I added them in code(maybe in a crude way) anyway. There's a lot that can be done with pico8 in 1k. I'm sure with some more fine tuning I could squeeze a little more out of it, with some direct memory calls(wasn't ready for that one yet). But for this one, it was a great learning experience. Let me know if I should upload a .p8 with comments or larger function names so you can get an idea of thought process. Thanks for playing!


*cleaned up the code and added a score that persists each round.  old version is in downloads

Source Code:  New


sc=0
function _init()
?"\asfl0fi5c1>d#<.fd.g.c2c1.c.cd.cd#.f"
x=64y=64k={}q={}h=6z=5w=c(7,6,4)f=c(15,5,3)u=c(5,2,9)i=c(3,3,5)o=c(6,4,2)p=c(1,1,6)v=t()n=v
end
function _update()
if h>0 and #o>0 then
p[1][3]=x
p[1][4]=y
if(btn(o))x-=.8
if(btn(1))x+=.8
if(btn(2))y-=.8
if(btn(3))y+=.8
r(u,p,-.5)r(i,p,-.5)r(o,p,.5)r(q,p,-.8)r(u,o,-.15)r(i,o,-.15)r(q,o,-.15)
if(t()-v>1.5 and z<5) z+=1 v=t()
end
end
function _draw()
ak=false cls(5)circfill(64,64,128,1)camera(x-64,y-64)
if(btnp(5))at()
for i in all(k) do dm(i[5],i[3],i[4],i[6]) end
if(h>0)l("\*"..h.."♥", x-61,y-60,14)
if(z>0)l("\*"..z.."█", x-61,y-53,13)
l("🐱: "..#o,x,y-60,2)
l("◆: "..sc,x+24,y-60,9)
if(#o<=0)e(0)l("clear", x-19,y-6,7)
if(h<=0)e(1)l("🐱game over",x-32,y-6,8)end
function e(b)
cls(1)sfx(-1)
if(b>0)sc=0
if(btnp(4))_init()end
function at()if z>0 then
circfill(x+3,y+3,14,5)
?'\as4x5c1egc2egc3eg'
z-=1ak=true
end
end
function m(...)return{0,0,...}end
function c(n,s,c)g={}
for i=1,n do add(k,add(g,m(rnd(200)-32,rnd(200)-32,s,c)))end
return g
end
function r(al,bl,g)
for i=1,#al do fx=0fy=0
for j=1,#bl do
a=al[i]b=bl[j]
dx=a[3]-b[3]
dy=a[4]-b[4]
d=sqrt(dx*dx+dy*dy)
if d>0 and d<40    then
if(bl==p and ak and d<20)del(al,a)del(k,a)sc+=1return
if(bl==p and d<8)h-=1del(al,a)del(k,a)return
if(al==o and t()-n>1)add(k,add(q,m(a[3],a[4],7,9)))n=t()
f=g*1/d
fx+=f*dx
fy+=f*dy
end
end
a[1]=(a[1]+fx)*.5
a[2]=(a[2]+fy)*.5
a[3]+=a[1]
a[4]+=a[2]
if(a[3]<=10 or a[3]>=118)a[1]*=-1
if(a[4]<=10 or a[4]>=118)a[2]*=-1
end
end
function dm(s,...)
vs=({'\^.⁸、>]]⁘⁘6\vi★','웃\vi🐱','🐱\f9\vm░','\^.⁸、>]]⁘⁘6\ve🐱','ˇ\|f\f8\vmˇ','\^.g<>゛゛<nw\f3\vm▤','░'})[s]
l(vs,...)
end
function l(s,...)
for i in all(split'\|f\f0,\|h\f0')do?i..s,...
end
?s,...
end
StatusReleased
PlatformsHTML5
Rating
Rated 3.0 out of 5 stars
(1 total ratings)
AuthorNoesis
GenreAction, Survival
Made withPICO-8
Tags2D, 8-Bit, pico1k, PICO-8, Pixel Art, Top-Down

Download

Download NowName your own price

Click download now to get access to the following files:

hunter_1k_Old.zip 500 kB

Comments

Log in with itch.io to leave a comment.

This is a really cool entry. 👍
You managed to get a lot in here - including music!
(Particularly impressive on hearing it's also your 1st time with PICO-8)

I'm also very glad to hear that you enjoyed the restrictions of this jam. It's tough to get a good balance with jam rules (+I changed them this year, which was a bit of a gamble). But thankfully, others are also seemingly enjoying the new setup.
Either way, thank you for taking part. I hope you enjoyed the experience & the opportunity to focus on the essentials that it perhaps gave you 😉