Looking over more of the reference list, I'm extremely interested in sprite variables. With PTC and SB3 (to my knowledge), you were limited to 8-numbered variables, which were simple variables. With SB4, this is greatly expanded as you make "names" for each variable for better readability, and also are not limited by the type of variable. Can even have an array if you wish. It's like a self-contained structure.
It would be better if we actually had dicts or structs in the language, though. From what I've heard about performance tests sprite variables are O(n) access and it doesn't seem like they use a hashtable inside. But I've also heard sprite variables 0-7 are optimized somehow, so who knows.
Even with my horrifically unoptimisable methods, I can easily fling a couple of thousand sprites around on the screen per frame.
Assign spritesheet position values,, screen position, scaling, recolour, alpha, rotate, splat it on the screen.
Handles it no problem.
Silky smooth.
And that's completely unoptimisable.
If I ever bothered to RTFM and learn how to do this "properly", I'm sure I'd hit a new milestone in my abilities.
Don't worry about the sprites, everyone. The sprites are fine!!
(In comparison, FUZE absolutely hates my methodology, and struggles once it hits about 250 sprites)
Exactly.
You guys ARE bothering to optimise, but with the speeds I'm managing, unoptimised, it's going to be blazingly fast once you're all whittling away at it.
My current issue seems to be with drawing backgrounds and buffers and tile layers and such. I really need to focus on learning to do that stuff well.
No, I haven't needed to. That's kinda the point I'm making here.
So I was browsing programs last night and found Spooky Maze. I loaded it up and was completely blown away! It runs at 60 fps at full resolution! I never thought I'd see a raycaster run so well after all these years. I really didn't realize until now just how powerful SmileBASIC 4 is.
Maybe now I'll finally take the time to learn how to use that engine and make a game with it.