Gw Temp

Menu

Tutorial - 'Switching from rm2k to Sphere' by bluemoogle

An item about Sphere posted on

Blurb

A sphere tutorial, designed to aid users in making the leap from rm2k onto a better maker.

Body

================================

Switching from Rm2k to Sphere

-------by Blue_Moogle-----------

(only Gamingw.net may have this)

================================



/- Contents -\



1. Brief Introduction

-Just a brief intro on what this tutorial will cover



2. Starting Out

-This will explain what sphere does, file types it uses, where to get sphere,

and why you should use it.



3. Making Scripts

-Since sphere doesn't use a pointclick system, you have to make scripts, which

can be challenging, but don't worry, we're here to help you!



4. Making Spritesets

-Sphere doesn't use Rm2k's charactersets, so you have to make your own!



5. Converting Spritesets

-Don't want to make your own spritesets? This will teach you how to convert

an Rm2k character into a spriteset!



6. Converting Music

-Since sphere doesn't use .mid files, you need to convert it to sphere compatible

ones. This will explain how!



7. Final Word

-Just some final words before you go make your games and stuff.







/- Brief Introduction -\



Sphere is a free RPGmaker made by Aegis. He chose javascript for its main scripting language

since its easy to learn. The tutorial that he made that comes with sphere though, sucks. So

this is why I'm making this one! It will explain many things to get you started, but nothing

very advance, for... I too am just getting started.







/- Starting Out -\



First thing is first. Sphere is a RPGmaker, much like your RPGmaker 2000! It has a map editor,

a script maker, a character maker, and can even make screensavers and IRC clients! Now, you must

be interested? A little scared by the fact that you have to script though, aren't ya? Well, Sphere

lets people share there scripts.. and if people organize scripts well enough, even a simple newbie

can take it and use it for their game! So getting hang of scripting isn't that hard when people

have plenty just lying around!



Ok, now to get sphere. You can either download it here, off Gamingw.net, or get it off Aegis's homepage

which will include many sample demos (and scripts!!) for you to look/use! Aegis's homepage is www.aegisknight.org



Now why should you use this? Well, if you like to make games, but want to have more customization than Rm2k, this

is for you.. if you want to make 3D rpgs, or even just 3D cutscenes, this is for you. If you are getting bored of

Rm2k and can't decide which maker to use, Try this one! Finally, the more people that use Sphere, the more scripts

people can use, so start now!



File Types:

RSS = Spritesets, your characters

RTS = Tilesets, what your characters walk and move on

RMP = Maps

RFN = Fonts

RWS = Window styles, same as system graphics basically

PNG, BMP, GIF, etc = Image files

Animated Gifs = Animations (Their may be more)

IT = general music file

S3M = smaller in size music file (harder to find)

MOD = largest size music file

Wav/Ogg = Regular popular music files



(MIDI IS NOT A SUPPORTED MUSIC/SOUND FILE TYPE)



/- Making scripts -\



Alright, you got your sphere now, you installed it, but now what? This not only explains how to make scripts, but

what to do.. Theres so many buttons and not so many helps! Ok, first thing is first, if you got Sphere off Aegis's

homepage (which I recommend so you get demos) you'll notice 3 exes. 1 is the editor, where you will make games. Another

is the configurer, which allows you to adjust gameplay speed and window sizes, the third is the engine, which is a large

menu of all the games in your "game" directory.



First lets configure Sphere to your computers power. Open up the configurer. You'll see that you can choose which video

mode you want, and which sounds and input modes you can use. At the moment, sphere uses only one sound mode, so you don't have

to configure this. Input is only needed if the game requires a joystick and you have one. Back to video though. All of the

video modes are nice, but one of the "standards" is highly recommended. You probably won't have to change any of the options

of the standards since they are fit to run on Pentium 2's or higher and runs on most video cards.



Now, if you got some of the demos of Aegis's site, go ahead and open up the ENGINE.exe and play a few. To exit a game, its

usually ESC untill they make a menu. After playing a few, we can open up the EDITOR.exe and make our own games!



Now that you have the Editor open, its totally blank. This is default to increase loading times. Since this is your first time you'll be making a project! Click NEW from file, or the blank paper icon. Name your game and your project (gamename is folder

name I'm guessing, and project name is the Actuall game name). Now that you have a game made, you can always OPEN it whenever

you open the editor.exe with the FOLDER icon, or with FILE/Open/Project.



Now you got a game HQ. The HQ (what I call it) shows all the files you have. From scripts to tilesets. You see that all

your folders are empty, so lets fill them up with stuff! First, scripts, like the topic says. Lets make your first script,

one that LOADS the game and plays music on a map. Right click on SCRIPTS and click insert. Call it "Game" or "start" since

its going to be your starting script.



Ok, now copy this script into your blank script editor (all functions are the same as notepad, so rightclicking and selecting

paste will work). Don't worry, I'll explain what all these little "code" stuff does.





function game()

{

var fieldmusic1 = LoadSound("Castle.it");

fieldmusic1.play(true);

CreatePerson("scholar", "scholar.rss", false);

AttachInput("scholar");

AttachCamera("scholar");

MapEngine("field.rmp", 60);

while (!IsKeyPressed(KEY_ESCAPE)) {}

}



Function Game()

The function game means this function will Load automatically the minute the script is "activated".



Var fieldmusic1 = loadsound("Castle.it");

This sets a variable as a sound. You must do this for every music you play. You can either set all your music variables

in your start map, or when the sound is needed. Either is fine.

Var = variable

fieldmusic1 = the variables name

= <-- (this is "set")

loadsound = the type of variable, in this case, loads a sound

("Castle.it") = the name of the music file. NOTE: all files are case sensitive!

; = ends this line of code



fieldmusic1.play(true);

This will play a "loadsound" variable. The variable must be a loadsound variable to play it though!

fieldmusic1 = the name of the variable

play = plays the music

(true) = makes the music "loop". False will make the music play once and then stop.

; = ends this line of code



createperson("scholar", "scholar.rss", false);

This creates a person.. Not always the hero, but just a person. Can be a vechile to a hero to a NPC to a monster.

createperson = creates a person

"scholar" = the name of the person (must be unique from all other person names)

"scholar.rss" = sets the persons sprite to this sprite. (THIS IS CASE SENSITIVE)

false = prevents the person from being deleted after leaving a map. (true will delete it whenever the player leaves that map)

; = ends this line of code



Attachinput("scholar");

This makes the person your hero (who you control).

attachinput = sets the default keyboard functions to this person

"scholar" = name of the person

; = ends this line of code



Mapengine("field.rmp", 60);

This is like a teleport function.. it sets what map you are on.

Mapengine = sets the map to the one you are on

"field.rmp" name of the map (CASE SENSITIVE)

60 = the FPS of the map.. 60 is normal. I don't know what other numbers do yet though.

;= ends this line of code



while (!IsKeyPressed(KEY_ESCAPE)) {}

This is required for music and some other things.

while = while something is happening, this "fork condition code" will happen.

!isKeyPressed = the condition of the whilefork

KEY_ESCAPE = the type of key

{} = (no code) this will stop everything since no code is specified.



---



I'm just a newbie too at this javascript stuff, but I think I know why you use a variable and a while to play music.

Setting music as a variable lets you play "x" music. In other words, the player could set which town music he wanted

to listen to, and you wouldn't need to use if then else to see which one he wanted to use.

For the while, I have no clue, but without it, music won't play. I'm guessing other things use the while function to run

also.. but WHILE is not only used for music I know that.



Ok, you may have noticed I used a lot of files in there, like scholar.rss and field.rmp. Don't worry, you may not have

them now, but you will get them soon! And don't worry if you don't understand all of the stuff above, you will soon!



/- Making Spritesets -\

Here I will explain how to make our spritesets and maps! Its very easy to do! First lets make our map. Right click on maps and select insert.

Use whatever size you want, but I suggest 32 by 32. Use no tileset (unless you have one).

Ok, you'll see a big black map now. This is only cause you don't have a tileset being used. Don't worry, we'll make one.

On the left side of the screen, click tileset. This is where you make a tileset. Pick a green from the right and cover

the whole tile. Now use a darker green and make spots of it on your tile. NOW right click on your tile and select noise.

Looks like grass? If not, use more NOISE. If it looks too "noisy", blur it up and try again.



Now go back to your map, looks like a map now with all that grass, huh? Save your map as field.rmp (so our script will work)

Thats it! You did all you needed to do on your map for this tutorial (for more help on maps, read my upcoming "making tilesets and maps" tutorial).



Ok, now to make our sprite. You can go about 2 ways on this: Download one of mine or make your own. Making your own is

hard and very hard to explain, so I can't help you there. Instead, download my scholar.rss spriteset and put it your

spriteset directory using INSERT/Selecting the spriteset/Clickign ok. OR, you can just download the spriteset to your

spriteset directory.



There, we now have our pictures and files.. all except our music file (Castle.it) which you can also download from Gamingw.

Go ahead and save everything and click the little lightning button to test it out. If it works, you should hear some music

playing with the Rm2k RTP character. Go ahead and move around.



After test playing, open up your scholar.rss file. The next step is required for all Spritesets you download and make! Don't

forget to do this!



DOn't click and buttons but the one that says "base". Here you will see one "animation" part of your spriteset.

The base is the part where other spritesets can't walk on. Its a good idea to click and drag a box all around his

legs and feet (but not the air surronding him). Simple huh? You only have to do this for one animation part since

its automatically set to the other ones. Remember, you must do this EVERYTIME.



To test if your base worked, go to your map and right click somewhere. Select Entity and person. (this is like createperson

in your script, only this time the person is "glued" to the map.. leaving it nameless and unable to leave the map pretty much)

Set the entity's spriteset as the scholars. Save your map and test play. If you were unable to walk through the scholar,

your "base" is correct. If you could, you didn't set it right. If you think you could walk to much into the entity, fix

the base. Its a good idea to test your Base's everytime you make one.



/- Converting Spritesets -\

Ok. You got a spriteset. But you probably don't want to use my RTP Rm2k ones, do you. You probably have awesome ones

that you made for Rm2k.. but are just dieing to use it for sphere. Its really simple to make your Rm2k character a Sphere

one. You'll just need these tools:



Sphere (duh)

Idraw (YES, IDRAW, NOTHING ELSE)



If you can't get either of them, send them to a sphere spriter (like me) and they might make it for you.

First open up both sphere and idraw. In sphere, create a new spriteset. Maximize the window. Now at the

top of the screen, you should see spriteset dropdown menu. CLick it and select RESIZE spriteset. Change it

from 16 width and 32 height to 24 width and 32 height. This way it'll be the same size as your Rm2k character.

Now on the overlay of it, you should see north, east, south, so on. ON each of these "directions" have 4 frames.

To add a frame, click an excistting one and select insert. You must have 4 or it'll not work with Rm2k characters.

Now in Idraw, open the characterset that the character you want is on. (since spritesets is only 1 character each, you

would need to convert 8 characters to make on RM2k characterset).



Ok, in idraw, click settings at the top and then drawing settings. Set the grid as 24 width and 32 height. The grid will

now show you how big each "animation" is of the character. Click on the cutter tool in the toolbox and click drag around 1

animation of the character. ONLY 1! Click Copy in EDIT or press Control C.



Now back in sphere, go to to EDIT (next to the frames button) and right click on the box in center. Select paste to

paste your character animation. Now you should see a box called Spriteset Images. You should also see the animation you

just pasted on it much much smaller. Right click on this animation part and select insert. You should now see a checkered

animation piece. Right click on the checkered animation piece and select COLOR picker. Go back to your Animation you pasted

and FILL up all the transparency color with this checker stuff. This checker stuff represents TRANSPARENCY!



Now, repeat this will all the Animation frames from Idraw. It'll take time, but when you are done, come back and we'll

continue.



Now that you have all the animation pieces, go to the FRAMES tab. Click on North and click your normal standing north

animation piece from the "Spriteset Images" box. On the second north box click one of the north animations besides the

standing one. In the third box for the North direction use the NORMAL standing animation. Then in the final box click the

opposite one to the 2nd box (example, if your character had his foot out on the left side in the 2nd box, he should have his foot out on the right side in the 4th box)



Do this for all the directions. You can set all the norths facing up (like I do) or whatever you want them to be. After

doing so, save it, open up your start script, replace the scholar.rss part with your new spriteset name and save the script.

Go back to your spriteset and set the base of it like you did with the scholar.



Test your game now.. if walking is ok, you set the frames right. If not, reset the frames. Try walking into the scholar

entity to check your bases. If everything is working out, GOOD JOB! If not.. try try again!



/- Converting Music -\



Since Sphere doesn't use our regular Midis, we need to make new music, right? Well, its very simple. Head over to modplug.org

and get MOD PLUG TRACKER. This tool will open up MIDI files, and save them as .IT files. Do this will all the midi files you

want, and save them into your SOUNDS directory. Tah-duh! Easiest step of all of them! I think Mod Plug Tracker can even

save it as S3M's (I don't know how yet since I haven't looked much into it). If you find out how to make S3m's, go ahead

and comment how!



/- Final Notes -\



So you read through the whole thing.. and even if you didn't.. you can always come back and go to the section you need to

review. Only Gamingw may have this tutorial unless you ask me. All Files such as Scholar.rss and Castle.it were converted

by me, so if you use them, credit me! I hope this will get you started on Sphere much easier than I did.



Review!

-------



1. Remember, you must set your first script in the HQ, or nothing will happen and you'll just get an error!

2. Remember to Set the BASES of Sprites! DO NOT FORGET THIS!!

3. Midis and Mp3's are not supported.. remember to convert them!



Challenge!

----------



Try to get music to play without a WHILE command (it is possible). You may have to wait untill you understand Sphere

a bit more to do so.. but if you can.. Great!! You already got a nice headstart then! If you can't do this one, or

need another challenge, try making the Character start facing a certain direction!



-blue_moogle