You're welcome!
Isaac Games
Creator of
Recent community posts
Thank you for bringing this to my attention, I see the misunderstanding. Each demo corresponds one of the tutorial videos, and I have only made the first two so far. The third was going to include those features you mentioned, and the playable demo on this page was just a preview. However, I haven't continued this project, so the third installment was never uploaded. I'll find the file and upload it shortly. Although, fair warning, it was designed as a demo rather than a teaching tool, so it may not be commented as thoroughly as the others. If and when I continue this series, I'll replace it with a more organized, teaching-focused product. Thank you for your patience and I hope it will be helpful to you.
I went all the way down into the cave with all the platforms and the bat thingy, got the item at the end, but now I don't know what it was or how to get back out. Based on the level design I expected some kind of double jump or wall jump ability, but I can't. What am I missing?
p.s. could you make the link color on this page different from the background color so we can see them?
Inside the while loop that does the actual raycast, there's an if statement that checks if the ray has gone out of bounds and stops it. It'll look like:
if mget(x,y)>0 or x<0 or x>31 or y<0 or y>31 then
-- stop the ray
You can change those numbers to change the size of the visible map. This demo uses pico-8's map, so it's limited to 128x64. If you need something larger than that, you could use a table instead, which can be whatever size you want.
Just be aware, when the map gets too big it may start to lag because the rays are checking every intersection across the whole map. You can solve this with fancy optimization, or just avoid making wide open spaces or very long tunnels.
Hope this helps!
The method I used is actually really simple. I draw the horizontal lines with a for loop, and the y coordinate of the lines is divided by the iterator. Then to animate them, just have another variable constantly looping from 0 to 1 to use as an offset. So it would be something like:
anim-=0.03 -- animate lines
anim%=1 -- loop it between 0 and 1
for i=1,10 do
-- the key is to divide by i+anim
line(0, 100/(i+anim), 127, 100/(i+anim))
end
The vertical lines don't move, but the way they intersect with the moving lines gives it that 3D effect.
Hope that made sense. Glad you enjoyed the music too :)
That's interesting, I hadn't heard of Minehunt before.
I agree, moving diagonally is definitely a major issue. Right now you can press two directions at once, but it's really finicky, so you may have to place orange flags to prevent accidentally moving laterally and try it that way.
One solution I am considering is adding WASD control, and using Q,E,Z, and X for diagonal directions. I might also add an input delay so you can press two keys at nearly the same time and it will still register as diagonal, I'm just worried that will feel unresponsive. I've got some testing to do. Thanks for the feedback!
That's a good point, minesweeper automatically flood-fills areas around 0-tiles. I thought about adding that, but what makes this game unique is that you have to physically move through the minefield, so I wanted to emphasize that by making you uncover every tile manually. You can still go around and unlock all the same tiles that would have been revealed by a flood fill, so it doesn't make any tiles inaccessible. However, I suspect that I probably cranked up the difficulty by adding too many mines, so I might add a difficulty setting like minesweeper has.
Thanks for the feedback, I appreciate it!