Log In  
Follow
Yopenatal

Making games, animations, and drawings.
My Newgrounds

Devil's Thrill 1k
by Yopenatal
Devil's Dread
by Yopenatal
[ :: Read More :: ]

Cart #jumpals-0 | 2023-09-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7


Little Cherry and the Dandelion Twins are getting ready to jump some rope.

Press the Up key to Jump. You earn points every time you successfully jump.

Made using only 1019 characters

n=rnd
function q()k=255cls()g=cos?"jUMpals"
l={}for i=0,k do add(l,{i=i,c=pget(i%35,i\35)})end
d='Dひ:k2Dnu:k<C3C392C3C392u2u2CGC2CQ9<a<CGC2lFa<l<l<l2v<l2v<:P:2:ZD't=0for i=1,64do b=ord(d,i,i)-40for q=1,b\10do sset(t%16,t\16,b%10)t+=1end end
z=0t=3.25d=8h=0v=0j=0y=0c={}for i=0,32do add(c,{x=n(128),y=n(9)})end
end q()m=circfill::b::flip()cls(12)
for o in all(c) do
if(o.x<-8-o.y)o.x=150o.y=n(9)
o.x-=.7m(o.x,50+o.y*g(o.x/k+.25)*3,8+o.y,7)end
m(64,230,150,3)for i=0,8 do
m(37+i*7,38,18+g((i+t)/d)*2,14)end
for i in all(l) do
if(i.c>0)m(26+i.i%35*3,32+i.i\35*3,2,7)r=btn
end
pal(8,9)spr(0,24,82,1,2)spr(0,97,82,1,2,true)pal(8,8)spr(v,60,82-y,1,2)for i=0,128do
pset(64+32*g(i/k),87+12*sin(i/k)*sin(t/d),5)end
if(g(t/d)<0)spr(v,60,82-y,1,2)
if(r(2)and y<1)z=.15h+=1?"\aedc"
if(r(2)and j<1)y+=2.2v=1
if(y>15)j=1
if(y>0and not r(2))j=1
if(j>0and y>=0)y-=2.2
if(y<1)y=0j=0v=0
if(t>d)t=0d=8-n(h%5)+n(h\25)%5
if(z>0and y<1and t/d>.4 and t/d<.45)h=0q()?"\a"
if(z>0)t=z+t?h,64-#(""..h)*2,108,7
if(z<.1)?"up to jump",44,70,7
goto b
P#135007 2023-09-27 23:03 ( Edited 2023-09-27 23:40)

[ :: Read More :: ]

Cart #vibpg-1 | 2023-06-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

A very simple game made for the Game Breaker's Toolkit Jam.

Press the Z button to hit the button when the timer is at zero to get points. Don't press it too early or too late, otherwise you lose. Every time you successfully press the button, the timer resets and you do it all over.

At >10 points, the game starts adding minutes to the timer
At >20 points, the game starts adding hours to the timer
At >30 points, the game starts adding days to the timer
At >40 points, the game starts adding weeks to the timer
At >50 points, the game starts adding years to the timer

Previous Versions


Cart #vibpg-0 | 2023-06-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


P#131384 2023-06-27 13:28 ( Edited 2023-07-22 20:27)

[ :: Read More :: ]

Cart #heartattack-1 | 2022-04-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


A game unofficially made for the Tweet Tweet Jam.
Z to Shoot
Arrow keys to Move

cartdata("hay")function w()h=dget(0)b={}x=50l=127s=0e={}y=84k=0end
w()c=btn::b::flip()cls(k%4)k=.04+k%28?"\aa"..sub("deffdeffeddeffdeffeddcedc",k,k)
if(c(0))x-=2
if(c(1))x+=2
if(c(2))y-=2
if(c(3))y+=2
x=x%90?"pt:"..s,95,0,7
y=y%l?"hi:"..h
if(btnp(4))add(b,{x=x,y=y})
for i in all(e)do
u=i.v*k
p=i.x?"♥",p,u,8
if(#e>l)del(e,i)
if(x<p+3and p<x+3and u<y+3and y<u+3)w()?"\a"
for o in all(b)do?"a",o.x+2,o.y,12
o.y-=.1if(o.y<0)del(b,o)
if(o.x<p+9and p<o.x+9and u<o.y+9and o.y<u)s+=1del(e,i)?"★\ab",7
end
end?"☉",x,y,7
add(e,{x=rnd(90),v=k%6})if(s>h)dset(0,s)
goto b

Previous Versions


Cart #heartattackyopenatal-0 | 2022-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


Cart #heartattack-0 | 2022-01-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


P#131118 2023-06-18 17:25 ( Edited 2023-06-26 19:57)

[ :: Read More :: ]

Cart #zudonfah-0 | 2021-12-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


A game made for Tweet Tweet Jam.
Use the left and right arrow keys to hit the ball.

cartdata("paddle")p=dget(0,p)d=1c=btn
function v()r=rnd(-1)e=0w=64x=32y=0a=w
f=1g=1l=128s=w
if(r<0)d=-1
end
v()::b::flip()cls(1)for i=0,l do circ(8*i%l+sin(x/256)*i/2,8*i%l,(r*i)%l,5)end
if(c(0)and x>0)x-=2*g
if(c(1)and x<l-w)x+=2*g
a+=d*g
s+=f*g
if(a+4>l or a-4<0)d=-d ?"\ab"
if(s+4>l)f=-f ?"\ac"
if(s<0)v()
if(a+4>x and a-4<x+w and y+12>s and y<s)s=y+12f=-f e+=1y+=1w-=.5g+=.1 ?"\ad"
if(y>l)y=0g=1p+=l
if(g>5)g=5
if(w<32)w=32
if(e>p)p=e dset(0,p)
rectfill(x,y,w+x,8+y,9)circfill(a,s,4)
?e,x+w/2,y+2,5
?"hiscore "..p,0,l-16,9
?"by yopenatal",0,l-6
goto b

Previous Versions


Cart #fukobegeya-0 | 2021-11-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


P#131117 2023-06-18 17:23 ( Edited 2023-07-21 23:28)

[ :: Read More :: ]

Cart #pigeo1k-1 | 2022-05-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14


A game I made for the first Pico-1k jam.
Arrow keys to move. Collect the flying berry and dodge the spike balls.

k="pige0"cartdata(k)g=136function d()b=0a=0r=0s=0h=dget(0)x=72n=0m=0f=0v=1t={}l=0o=40w=0y=x u=x end
function p(a,b,c)?a,b+1,c,7
q=sspr?a,b,c,1
end cls()p(k.." :0e0b0efe76743010 :002e6b6ebe5e3c18 :81c3c3183c3c1800 :0000dbbdbd180000",0,0)pset(8,0,1)memcpy(0,6^13,g*g)d()c=btn::b::flip()cls(9)for j=0,255 do
circ((j%16)*8+4,(j\16)*8+4,b,14)end
if(c(2)and m>-9)m-=a*2f=(f+1)%2r=1w=1+w%2
if(r==0)q(0,0,o,5,9,32,g,20)p("up to start",42,80)p("by yopenatal",41,118)b=l%g
if r==1 then
a=s/g+.1b=s
for q in all(t)do
if(x<q.x+5and q.x<x+9and q.y<y+9and y<q.y+5)d()?"\aggg"
p(":63772a1c2a776300",q.x-5,q.y-5)end
if(x<u+7 and x+8>u and y<o+8 and y+8>o)s+=1add(t,{x=(x\8)*8,y=((y\8)*8-64)%g})u=rnd(g)o=u*3?"\addff"
x=n+x%g y=m+y%g
if(c(0)and-9<n)v=1n-=a
if(c(1)and n<9)v=-1n+=a
q(24+12*(w-1),0,9,9,x-4*v,y-3,9*v,9)q(48+12*flr(o%2),0,9,9,u-7,o-7)if(m<9)m+=a
u=sin(l/g)*.9-v*a+u%g
o=cos(l/g)*.2-a+o%g
if(s>h)dset(0,s)h=s?"\afafafaf"
end
p("sc0re:"..s,1,10)p("hisc0re:"..h,1,1)l=1+l%g?"\a1"..sub("cdfecffecdfecdde",l/8,l/8).."1"
goto b

Previous Versions


Cart #pigeo-0 | 2021-09-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14


Cart #pigeo1k-0 | 2022-05-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14


P#131116 2023-06-18 17:19 ( Edited 2023-07-21 23:27)

[ :: Read More :: ]

Cart #tonic_solace-9 | 2022-11-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Z to Shoot
X to Bomb
Arrow keys to Move

Previous Versions


Cart #tonic_solace-0 | 2022-03-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-1 | 2022-03-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-2 | 2022-03-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-3 | 2022-08-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-4 | 2022-08-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-5 | 2022-08-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-6 | 2022-08-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-7 | 2022-09-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


Cart #tonic_solace-8 | 2022-11-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


P#131115 2023-06-18 17:16 ( Edited 2023-07-21 23:26)

[ :: Read More :: ]

Cart #devils_dread-2 | 2023-07-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Making a sequel for Devil's Thrill. So far I am in the very early stages of development, so I don't have much to show but screenshots and gifs.

6-17-23

Development began unintentionally when I decided to rework my sprite compression tool. This tool was used in the original Devil's Thrill and it is really buggy. I fixed the encoder so it wouldn't generate bad data.

Here are some screenshots of the bugs I encountered.

This one the encoder was fixed but the decoder wasn't.

This one broke the tool if a 5 pixel purple line was made(red arrow is pointing at it). This was caused because \ was used in the string and Pico-8 acts weird when it is by itself. So the fix was adding a extra \ to the string and it works great.

I decided I wanted to do a sequel when I used the sprite compressor on the Devil's Thrill label image. The compressed 128 by 128 image was a quarter the size of the original, so I can have more spritesheets to work with. I want big sprites in the sequel.

This is a very rough prototype of what I had in mind for the devil head and a neat background effect I plan on using in the main game. This prototype was made by mirror flipping the big devil head sprite and stretching the image slightly to make it look like its breathing.

Here is a funner gif of the background effect.

6-18-23

I think I figured out how to use tline, I got this devil's head drawn using tline. If nothing bad happens, I can experiment with some fun 3D effects. Until then, I'll need to wrap the code into a generic function.

One of my earlier sprite compressors used 2 characters to store color and the length, so dithering would eat up more space than flat colors. The new and improved sprite compressor is dithering neutral up to 127 by 127(I don't know why it won't do 128 by 128). I also did some minor optimizations, it takes a lot to display each pixel.

Its far from perfect since the your limited to 10 colors but that is fine, you can do a lot with 10 colors.

Got the tspr function made, it can scale now. This gif is what happens when you put a sin in the xscale, so I won't be doing that. I'm done with this today, I should put the 3D math in before I continue messing with this.

6-25-23

I decide to hold off on messing with tline until I get the important elements for 3D in place. So right now I'm focusing on player movement in 2D, then I'm going to figure out how to translate it into 3D.

Here is a gif with the haze effect

I just noticed some unintended artifacts in my haze code, need to fix that.
Scratch that, I won't fix it, I spent a good chunk of time making different haze effects and this one is the best looking. Need to get back to the important stuff.

The haze code is just 20 black circles rotating around the center of the screen. This is me fooling around with the code.

I just had an idea on how I want game to control. Hold the accelerate button to make the ship go forward and use left and right to steer it. If the accelerate button is not pressed, the ship can freely strafe left to right.

6-26-23

Implemented the control scheme from yesterday, I'm thinking of making the acceleration faster and making the strafe mode still move forward.

Well I added it.

Cart #devils_dread-0 | 2023-06-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


Here is a movement demo of what I got so far. Hold Z to accelerate and left and right to steer. Press left or right to strafe when not accelerating. Its going to feel clunky because it is currently in 2D.

6-29-23

Had to refactor my code so everything uses a object system. The red circle is the camera object and the white circle is the player object. I need to rethink my angle format, it took me a good while to figure out why the camera wasn't following behind the ship and it was because of my angles.

Nothing groundbreaking happened, it still looks the same. Next thing I am planning is to make a bunch of dummy objects that are randomly placed all around the screen, I'll then begin making my Z Buffer system.

6-30-23

I got my dummy obj made, the text that's next to the objs will be where I put the distance between the objs to the camera. That can easily be done with the Pythagorean theorem.

This it working. After the objects perform their update programming, the game calculate the distance.

The new issue I am facing is what am I suppose to do with this? I know I'll need it for the z buffer but I also need a cone vision thing, I don't know how to do that. I'm thinking I might need the angle from the camera to the object and I can use that to compare the current angle the camera is facing to decide what goes into the buffer.

I really struggled trying to get this to work, my trigonometry skills are really rusty and I kept over looking the simplest method to get the angle I need. I'm also not a fan of how Pico-8 does sins. Anyhow, I definitely have everything I need to start the z buffer, but I am done for the day.

7-1-23

I got this stupid thing to work.

Here is the new issue I'm facing, a stupid seam.

I would like to thank ChatGPT for helping me fix the stupid seam

This has been a frustrating experience. Here it is in action.

7-2-23

This is very rough but here it is.

I need to add depth sorting and increase the draw distance because this is terrible. I'll do that tomorrow.
Here is the map.

7-3-23

I got depth sorting and a temporary lighting fx. This is far from done, but its something close to 3D

Cart #devils_dread-1 | 2023-07-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


I want to be clear, I'm not making a 3D style maze game Like Wolfenstein or Doom. It will be a 3D Shmup like Star Fox, this is just me figuring out 3D rendering.

7-9-23

Its been awhile, took a little break and I'm ready to work.

First thing I did was removed the squares and replaced them with these trees. The rectangles were using very wonky code that made it impossible to work on the camera.

This an unintentional camera effect I stumbled upon when trying to fix the objects z positioning when the camera z position was moved. I ended up recreating the Animal Crossing's cylinder horizon line. I like it and I think I can use it in this game. I'm going to try my hardest to preserve it while fixing the camera.

I'm thinking of splitting this into two project once I'm done fixing the 3D stuff. I really like the vibe this prototype has.

7-21-23

I want lens distortion, I designed Devil's Thrill to be as cinematic as possible in 1k of code and I want Devil's Dread to be no different.

Here is the most extreme version of distortion I can make without breaking the screen.

Need to decouple the lens distortion from the camera view.

7-27-23

Doing some major refactoring, won't be anything interesting posted for a while.

Cart #devils_dread-2 | 2023-07-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

P#131108 2023-06-18 14:23 ( Edited 2023-07-27 22:50)

[ :: Read More :: ]

Cart #devils_thrill-3 | 2023-08-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

A game I made for the Pico-1k jam. About 2-3 minutes of gameplay.

Z to shoot and arrow keys to move.

--devil's thrill
--by alex roe
s=">L>7e$*i>.3'A>H)#9Ae@R$]#SUZ7=$I7R_CKeKRiE7dUSi#@#=i79iA64"w=39t=0for i=1,62do b=ord(s,i,i)-15for q=1,b\10do sset(7-t\w,t%w,b%10)sset(8+t\w,t%w,b%10)t+=1end end
function o()p=2f=128z=300w=64e=0l=112x=56y=80u=-16i=0d=1k=0v={}n={}s=z end
c=spr
t=rnd
o()b=btn::b::flip()cls(p)circfill(w,w,s,0)for i in all(n)do circ(i.x,i.y,s,p)end circ(w,w,i,u)k=t(-1)
if(b(0)and x>0)x-=2
if(b(1)and x<l)x+=2
if(b(2)and y>0)y-=2
c(0,x,y,2,2)if s>0then
if(b(3)and y<l)y+=2
if(btnp(4))add(v,{x=x+4,y=y})
if(#n<z-s)add(n,{x=u+4,y=i,r=sin(k),t=cos(k),o=0})
for q in all(v) do
q.y-=4h=q.x
j=q.y
if(h>u-4and h<u+11and j<i+8and j>i)s-=5del(v,q)?"\ad"
c(w,h,j,1,1)if(j<0)del(v,q)
end
for q in all(n)do
q.x+=q.r
q.y+=q.t
h=q.x
j=q.y
if(h>f or h<0or j>f or j<0)del(n,q)
if(h>x+7and h<x+9and j>y+4and j<y+10)o()?"\aa"
c(w,h-4,j-4,1,1)end
s-=.1c(32,u-4,i,2,2)?"\ag000"
end
if(e>l or e<-l)e=0d=k
if(d>0)d=z/s
if(d<0)d=-z/s
u=w-sin(s/z)*w*sin(e/l)i=y+w*cos(e/l)e+=d
if(s<0)s=-1y-=2p=8?"!fin",w,u,1
if(y<0)p=14?"by alex roe",48,l,1
goto b

Previous Versions


Cart #devils_thrill-1 | 2023-06-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8


Cart #devils_thrill-0 | 2022-09-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8


P#131107 2023-06-18 13:27 ( Edited 2023-08-13 14:53)

Follow Lexaloffle:          
Generated 2024-03-29 00:20:32 | 0.098s | Q:76