This game was made in a game jam ran during a retrogaming event.
This year the theme was maze, a boss and the Odyssey.
My game is far from being finished, I didn't worked really long on it (4-5 hours maximum) and mostly only the rendering is done (and may still need some tweaks)
When playing the X button allow to display a debug view of the maze, which is for now, not generated randomly. I hope to update it at a later time to add all of what I wanted to include in it!
The final game should include some RPG elements, HP, EXP points, attack, treasure to find and grab, different levels and in the end the big boss that you have to kill to be able to escape the maze.
The polyfill function is from scgrn ( see https://www.lexaloffle.com/bbs/?tid=28312 ) modified to not directly write to memory to support the fill pattern.
If anyone have a better fillpoly function, one that can do even better dithering than using the fillp I will probably switch to it to have smoother gradients.
I have a WIP maze renderer that I'm not quite ready to release(I'm probably overcomplicating it in the process of adding wall detailing) but you mentioned looking for an alternative to polyfill. Here I have two "trapezoid render" functions which use line drawing, so a dither or blend is not too hard to add:
function render_trap_h(x00,x01,y0,x10,x11,y1,c) if(y0 > y1) y1, y0, x00, x01, x10, x11 = y0, y1, x10, x11, x00, x01 local yd = y1 - y0 if(yd == 0) return if(x00==x10 and x01==x11) then rectfill(x00,y0,x01,y1,c) return end local clipy0 = 0 local clipyd = yd if (y0 < 0) clipy0 = -y0 if y0 + yd > 128 then clipyd = 128 - (y0 - clipy0) end local xd0, xd1 = x10 - x00, x11 - x01 for y=clipy0,clipyd do line((x00 + xd0 * y/yd), y0+y, (x01 + xd1 * y/yd), y0+y, c) end end function render_trap_v(x0,y00,y01,x1,y10,y11,c) if(x0 > x1) x1, x0, y00, y01, y10, y11 = x0, x1, y10, y11, y00, y01 local xd = x1 - x0 if(xd == 0) return if(y00==y10 and y01==y11) then rectfill(x0,y00,x1,y01,c) return end local clipx0 = 0 local clipxd = xd if (x0 < 0) clipx0 = -x0 if x0 + xd > 128 then clipxd = 128 - (x0 - clipx0) end local yd0, yd1 = y10 - y00, y11 - y01 for x=clipx0,clipxd do line(x0+x, (y00 + yd0 * x/xd), x0+x, (y01 + yd1 * x/xd), c) end end
I unfortunately haven't touch that project for a long time now :(
But I was playing a bit with with it because there are some hidden thing in the released cart (unfinished and unused music mostly)
There is one that I really liked even if a bit repetitive and I manage to make it sound better than on the original release, here it is:
It is named Spooky.
Pretty cool. I would add an ARROW the player is facing in when using the maze map. Also touching the opponents apparently does not do anything ?
And ... I think it's possible to make a maze bigger than that. If you want to use the MAPPER area I know you can at least get 64x64 tiles. More if you use an array.
[Please log in to post a comment]