Flik: Sphere Central!
Docs!
Sphere Docs
dungeon --- how to make a dungeon
A 'how to make a dungeon' tutorial...
First up, if you're really new to Sphere.. Create a New Project, then create a new map and save it as 'dungeon.rmp' and a new script saving that as 'main.js'.
(We now have 3 windows open, a project window, a map window, and a script window)
We also want to add a sprite to use, so we'll just take one from somewhere else and put it in our game's spritesets folder.

Open up main.js and type:-

function game()
{
CreatePerson("Flik", "pacman.rss", false);
AttachInput("Flik");
AttachCamera("Flik");
MapEngine("dungeon.rmp", 60);
}

And save the script.
What does that script do?
Well, when our game starts, it looks for the 'game' function and runs it.
Within the game function we have the following instructions:-

CreatePerson("Flik", "pacman.rss", false);
AttachInput("Flik");
AttachCamera("Flik");
MapEngine("dungeon.rmp", 60);

The CreatePerson creates a person object on the map. The person is called "Flik" and is created from the spriteset "pacman.rss".
AttachInput lets us take control of "Flik"
AttachCamera makes the screen follow where-ever "Flik" goes.
MapEngine starts the map engine using the map dungeon.rmp and at 60 frames per second.

Okay, now we're ready to start working on our map.
A dungeon needs treasure chests, and freaky never ending tunnels.
(Create a spriteset called chest - with two directions, 'closed' and 'open')
Right click on your map, Insert Entity > Person..

Up pops a little window and we fill it in like so:-

Name: chest_1
Spriteset: chest.rss

Make sure 'On Activate (Talk)' is selected and then put:-

var f = OpenFile("save.dat");
if (f.read(GetCurrentPerson() == 0))
{
// Talk("Ohh, a sword.");
// give 'Flik' a sword
SetPersonDirection(GetCurrentPerson(), 'open');
f.write(GetCurrentPerson(), 1);
}

Into the dialogue box below.

I haven't bothered with any actual item code because that's dependant on your battlesystem.
So all we do is change the direction of the chest to open and save it as open by saving it to a file.

You also need to add a map script...
Map > Properties

Click the Entity box and type:-

var p = GetPersonList();
var f = OpenFile("save.dat");
for (var i = 0; i < p.length; ++i)
if (p[i].indexOf("chest_") == 0)
SetPersonDirection(p[i], (f.read(p[i], 0) == 0 ? 'closed' : 'open'));

Next a dungeon needs freaky never ending tunnels.
So on your map, draw a repetitive pattern.
(Make sure to get the pattern just right)
At some point in the pattern, add a trigger:-
(Right click on the map, Insert Entity > Trigger..)
To make a corridor that never ends if you are going south, you insert the trigger of:-

SetPersonY("Flik", (GetPersonY("Flik") - (GetTileHeight() * 5)));

That code presumes you have a pattern repeating every 5 tiles.
Reasoning:
Imagine a screen of tiles like this:-
  12345123451234T1234512345
       ^    X      ^       
Where T is the trigger, and ^ mark the beginning and end of the screen.
X marks where you are.
When you hit T, we place everything back 5 tiles.

  12345123451234T1234512345
  ^    X      ^            
That creates the illusion of the corridor never ending.
Notice where T is now. The same place, just you've moved back 5 tiles.

Check my files page for the 'game' that goes with this tutorial.

I think that's it for now!

Made By Flik!