This is certainly an assertive game ! :D
You might be interested in looking at a Flash game called, "Cursed Dungeon."
It uses some of the mechanics your game does in here and has some functionality you might want to adopt additionally.
... complete !
What a nice little adventure you made, John !
Curious strategy, any single hit that gets through automatically defeats the target.
You are very welcome.
Your code is - unique from what I've seen of other sources. Forgive me but I haven't the knowledge or skill to decipher your code - not much of it anyways.
Very incredibly complex. I see you just about used up all the reserves in PICO to write this.
I've been working too. Finally got the data compressor to work correctly - for 5-bit data. Was going to make the decompressor on the morrow and post the lot of it.
Here is one of your functions that caught my eye:
function rnd_int(min_in, max_in) assert(type(min_in)==number) assert(flr(min_in)==min_in) assert(min_in>0) assert(type(max_in)==number) assert(flr(max_in)==max_in) assert(min_in<=max_in) if min_in == max_in then return min_in end int = flr(rnd(1) * (max_in-min_in+1))+min_in assert(int <= max_in, int.." "..max_in) assert(int >= min_in, int.." "..min_in) return int end
If I read this correctly, it is a random number generator ? Here is how I wrote mine:
-- get random # from a to b function fnrr(a,b) if (a>b) a,b=b,a return a+flr(rnd(b-a+1)) end--fnrr
"--" simply means a remark. I put a "--" at the end of my functions in case they are bigger than the screen so I can keep track of what a closing end means and for which function.
There is a difference. You - shouldn't have to work so hard at this, John. PICO is a remarkably simple language if you let it be.
You could make that unconditional:
function fnrr(a,b) return min(a,b)+flr(rnd(abs(b-a)+1)) end
Not sure if the perf is any better, though. I just have an aversion to conditional execution. :) This sort of thing is more useful when dealing with DSPs, I guess.
Hey! Thanks for checking out my code and making suggestions. I was running into a problem early on where I kept introducing my own bugs - the same ones, over and over. I'd get so lost trying to figure out why things weren't working, then realized an hour later that Pico8 doesn't throw an error if you try to access a table at a fractional number, or if you try to get at.
I'm used to stricter languages, so one day I went on an asserting rampage, and put them ALL over my util functions, beginning and out. It really helped me to catch mistakes earlier on. But yeah my original plan was to remove them all when I ran out of tokens (which I did, but I found other ways to increase efficiency)
I really appreciate the code condensing tips. I've been looking at a couple of pages like this: https://github.com/seleb/PICO-8-Token-Optimizations
I'm trying to figure out if I should fight with Pico8 or switch to PicoLove for a larger project. Tips like this inspire me to keep trying!
... which brings up a point, Floman. I have (I believe) the perfect 3x6 font (7 vertical if you count descenders) for Pico game use. Very legible, at least to me. One I plan to use later in my own projects.
John, as long as you're not selling your game, you're welcome to it. :)
[Please log in to post a comment]