Dagger Wulf

Dagger Wulf is a demake of Sabre Wulf by @p01 for #pico1k

Storyline and controls

Explore the jungle using the arrow keys to find the 4 pieces of the amulet of the wulf, and return them safely to your hut.

Watch out for the fierce creatures that lurk in the woods.

Press X to swing you dagger and fend them off!

Good luck!

Source code

-- dagger wulf - a sabre wulf demake
-- by @p01 for #pico1k 2023
-- generate sprites and map
for y=0,62do
for x=0,79do
-- draw sprites
--   1 = grass
--   2 = palm tree
--   3 = rocks
-- 4-7 = amulet pieces
--   8 = spider?
--   9 = player
--  10 = hut
sset(x+8,y%7,"0x"..(
  "0000000003bbbb00dd505d50000000000000000000a0aaaaaaaa0a0000288820000ccd0000a9a900000000003bbb3bb0dd50dd5000000000aaaa000000a0a0a0aaaa0a00028888200ccccd000aaa9a9000000000b32bb3b0555055500000aaaaa00aa00000a0000aaaaa0a000288822000a4acc0aaa999a900000100b042b3b000000550000aa0000a00a00000a00aaa0000aa0088822220000aa0000a4004a0001001000022b0b05dd50000000a00a00aa0a00000aa0000aaaaa0002828208000a88a00a400004a0001000004422000dd550d50000a00aaaaa0a000000aaaaaa000000088808080000880000400004000000000044420005555055000aa00a0a0a00a000000000000000000020080000044040004000040"
)[x+1+y%7*80])
-- pick room tile out of
--  9 prefab rooms
i=
("222022222002222200002000000020000022020002222022200002222000002222020200002000022202202000222202222220222220002220000020020200200020020222222000022222022220000022000002000000020000022000002222022200000222200222022000000000200000020022222200002222000000222220200000000220220000000022200220000022000002202220020200000000220002002000222202000000222202222000002202220200200002022202200000222202222220222200020220222000020000202022220000022220000")
[(x\7+y\7*2)%9*49+x%7+y%7*7+1]
-- wall the whole map
if(x*y<1or x==62or y==62)i=2
-- draw map
if(x<=62)mset(x,y,i+rnd(2))
end
end
-- health
ph=0
-- beasts table
beast = {}
-- move entity if possible
function clear(d)
yy=z.y+sin(d/4)
xx=z.x+cos(d/4)
if(mget(xx,yy)\2!=1)z.x,z.y,z.m=xx,yy,true
end
::_::
-- graphic mode 3 - 64x64
poke(24364,3)
-- wave dagger
b❎=btnp(❎)
-- wait frame and cls
?"⁶1⁶c"
-- when no health
--  intro screen
if(ph<1)then
-- reset count of amulet pieces
-- reset hit
pp=0hit=0
srand()
-- reset amulet pieces
mset(3,3,4)
mset(62-3,3,5)
mset(62-3,62-3,7)
mset(3,62-3,6)
-- reset hut
mset(31,31,10)
-- draw grass and reset beasts
for x=0,62do
p={x=32;y=32}
beast[x]={x=rnd(60)\1;y=rnd(60)\1,h=1}
spr(1,x,rnd(124))spr(4,32-8,32,2,1)spr(6,32-8,32+8-1,2,1)end
-- draw title and co ♪
?"⁶w⁶td𝘢𝘨𝘨𝘦𝘳\n`w𝘶𝘭𝘧",8,8,8
?"@𝘱01 #𝘱𝘪𝘤𝘰1𝘬",8,58,5
?"❎ to start⁷szdagerwf",10,50,t()*62
-- if dagger -> start game
if(b❎)ph=5
else
-- if some health
--  game loop
-- reduce hit intensity
hit*=.9
-- draw the move
map(0,0,4-p.x\7*56-hit\1*sin(rnd()),4-p.y\7*56,64,64)
z=p
z.m=b❎
-- play dagger sounds ♪
if(b❎)?"⁷ce"
-- play hit sound ♪
if(hit>1)?"⁷i6c"
-- move the player
if(btnp(➡️))clear(0)
if(btnp(⬆️))clear(1)
if(btnp(⬅️))clear(2)
if(btnp(⬇️))clear(3)
-- draw the player
spr(9,4-p.x\7*56+z.x*8,4-p.y\7*56+z.y*8,1,1,t()%2>1)
i=mget(z.x,z.y)
-- pick up a piece of amulet? ♪
if(i\4==1)pp+=1mset(z.x,z.y,0)?"⁷szc-g"
-- reached the hut with
--  full amulet! ⌂♪
if(i*pp==40)?"well done⁷szdagerwf",14,19,10
-- beast loop
for x=0,62do
 z=beast[x]
 -- if it's alive
  -- draw it
  -- if the player moved
  --  move randomly
  --  if it touches the player
  --   die if the player used the dagger
  --   else hit the player 
    if(z.h>0) spr(8,4-p.x\7*56+z.x*8,4-p.y\7*56+z.y*8,1,1,(x+t())%2>1) if(p.m) clear(rnd(4)\1) if(p.x==z.x and p.y==z.y)  if(b❎) z.h=0 else hit=2 ph-=1
end
-- draw health and
--  number of pieces of amulet
?ph.."웃 ◆"..pp,1,2,0
?ph.."웃 ◆"..pp,0,1,0
?ph.."웃 ◆"..pp,2,1,0
?ph.."웃 ◆"..pp,1,1,t()*62
end
goto _
StatusReleased
PlatformsHTML5
Rating
Rated 4.0 out of 5 stars
(3 total ratings)
AuthorMahtieu 'p01' Henri
GenreAdventure
TagsDemake, Exploration, PICO-8

Comments

Log in with itch.io to leave a comment.

Nice game!!! It takes me back to the era of the legendary Ultimate Play The Game. Not only are the graphics superb, but the map design is excellent as well.