"Pandemonium" is the internal working name (i.e. non-permanent) for a game that I'm developing in partnership with Thomas "Bahototh" Finholm, a talented and very creative 2D artist.
The daunting task thrust upon the player is to travel the galaxy and liberate various planets by attacking, and defeating the "Artificial Organism's" primary stronghold on each planet.
The game will essentially be a sci-fi Zelda-like, with plenty of survival and action elements, and (my personal favorite) exploration.
As far as I know (and I've looked pretty hard), Phaser doesn't have any built-in functionality to facilitate a mini-map. Therefore, I've manually coded one. Right now it's in a very rough state - and will need to be cleaned up and refactored - but it's working. My process is basically this:
Creating the Map Image
(1) I create the actual map in Tiled and export for use in the code
(2) In Tiled, I turn off the Grid feature and zoom out until I can see the map in its entirety
(3) I take a screen shot of the map, and load it into Paint.NET
(4) I cut away everything in the image, except for the walls
(5) I paint the walls white and everything else black
(6) I resize the map
(1) Once I have the map simplified and resized, I simply add it to the screen the way you would any sprite, and I set the opacity (via the 'alpha' property) to 75%.
(2) I also fix the mini-map to the camera and give it an appropriate offset.
(3) By this time I've also created a marker sprite for to represent the player.
(4) I add the marker to the screen, manually setting it's coordinates so as to appear on the mini-map in a position to correspond with the player's position on the actual map (I told you it was messy)
(5) Now, BEFORE the player moves in the Update function, I have a few lines of code that determine whether or not the player is moving in a given direction. If the player is moving then I change the offset of the marker to correlate.
Here's my actual code:
My goal, code wise, is to have each map exist as a class that contains the map image, the initial placement of the player marker, and the unique dot_offset. That way, with each level, I can create an instance of that map, and the rest of the work is done "behind the scenes".
Growing Fungi-like Organisms
One of the cool things about the game so far - if I say so myself - is the fungi-like organism that grows and spreads as time passes. The challenge is facilitating the growth without killing FPS (frames-per-second)!
I have some very rough code set up at present that does the job. This is basically how the code works:
(1) I created a class to represent each seed (a "seed" represents a starting point for later growth), and gave it a "grow" method.
(2) The "grow" method gets random x and y dirs (either -32, 0, or 32 (the seed sprites are 32x32 px) relative to the placement of the seed), and creates a new seed at those coordinates.
(3) I also have a variable that limits how many times an individual seed can spread (otherwise I can kiss FPS good-bye).
(4) In the actual game code, I create a FOR statement that iterates based on how many "seeds" I want to initialize with.
(5) For each seed, I assign random x and y coordinates, and plant it
(6) I have a timer that goes off every ten seconds. When it goes off, each seed grows by one seed. That new seed will also grow, the next time the counter hits, creating another seed.
Be sure to check back often for additional development updates!