Implementing concept of a level selection map

I am doing a word game inspired from Alice in Wonderland.

Basic idea: You enter the game and you find yourself in a light coloured screen with a rabbit hole in the lower part. The first tiles of the game appear on screen to select HOLE. You do them and the screen starts to scroll as you follow the rabbit through the hole. You reach a dark screen, some elements on the background, you reach a level, scrolling stops new tiles appear on screen FALL, you Select the word, tiles disappear, results are written in place of the level, scrolling starts to the next level. Some elements on screen are interactive giving you hidden levels or different perks.

Map can be stoped on touch and resumes after x sec of inactivity. User can scroll back on the map to see the progress.

This is only the first chapter, the next will scroll horizontally or circular (zooming).

I have the word game part, but I don’t know the best way to implement this fantasy map, to be efficient in terms of resource management , loading and unloading parts of it.

Any ideas are welcomed. Thanks.

What is the total size (width and height) of a chapter?

I’m thinking that maybe you need a system to load and unload the different sections of the chapter as the player scrolls through them. The different sections could be in separate collections and created using collection factories or loaded using collection proxies.

For vertical scroll, the width is the screen width, for horizontal the height is the height of the screen.

First chapter, height is around 1 screen_height per level, so about 12 x SCREEN_HEIGH.

I was thinking of placing the items on map in the designer, but probably it is not a good idea. Until now I used for the word game part only gui elements predefined or runtime created with gui.new_box_node/text_node. Would you advice the use of go better for the map ?

LE: I am looking at your level_selector project for inspiration.

I think you can do it with the gui but you can’t have all images in memory at once. You can load images using image.load().

I think I’d use game objects for the map and dynamically load and unload them.