Early Prototype of Ice Slider Maze Graphics
Still Very much under development
I've been experimenting a bit with OpenGL to see how I can get the effect I want for Ice Slider. This prototype I've got running now is simply using two sprites for the snow ledges (a dark ground sprite and a snow sprite). The maze is stored in a tile-like grid, but I'm presently using non-standard tile sizes for the sprites and throwing in a bit of randomness to the sprite dimensions. The effect isn't too bad even with this early prototype with only two sprites - I plan to put in a couple more for variety (especially for the lone wall; it looks a bit weird if I have too many of those scattered around as they presently are), add in some icicles, put in some fake shiny specular reflections on the ice, and possibly at a late stage add in some "sparklies" for the icicles.
I've also just got the fake reflections working, although there's still some flaws I have to iron out. Given I'm working with sprites I'm not aiming for something optically accurate, but more for something that just looks a bit cool. However sometimes there's a jarring flaw with the way things are rendered that bugs me. I just wanted to see how cool it looked as an experiment, given that it looked good in a mock-up I've created in Inkscape.
The example shown in the screenshot is a grid that I've filled with a 4 by 4 lattice of straight lines, then randomly removed a few blocks from the walls as a test. I've implemented my own pseudorandom number generator class so I can regenerate exactly the same results for classes that need it, such as randomly generating the maze, without having to worry about other classes spoiling the sequence.
I've also not yet put in the code to disable the menus so they're still there in the foreground - I also wanted to see how they looked in front of the ice field. I don't think they look that bad so far, although I may need to play around with the colour scheme.
I'm also unsure as to an appropriate scale to display the grid tiles at - that's something I'll need to experiment with some more. Fortunately it's trivial to change that in my code - I just have to modify a constant.
The main problem I see with this prototype is the gaps between the ledges are too small for Tisk (acronym for The Ice Slider Kid - haven't thought of a better name for him yet) to get through unless I make him tiny. I'm going to have to think of a good way to fix that. I could clean up the sprites so Tisk can fit through. Or I could make it so that he can only fit through gaps of two or more, and use a different sort of grid for the player actions rather than display (maybe with the player going on the edges of the grid?).