[VX] Basic Game Making: From Idea to Development to Game

0 Members and 1 Guest are viewing this topic.

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Game Making for the Absolute Beginner
For the RMVX user who just got their software


Objectives:
Spoiler for:
This tutorial is intended to guide the novice RMVX user through some basic steps to making a playable game. Our game will be short; programmed in a day and playable within an hour. We will cover Planning, the Database, Mapping, Importing Resources, and we will also touch on Eventing and using Scripts.

This tutorial is written from the author's knowledge and experience; opinions may vary and you are encouraged to seek the truth as you experience it.



Before We Begin:
Spoiler for:
Since we're just starting out with this hobby, read this first. We'll be using a lot of acronyms in this tut, and I'll continue under the assumption that you are familiar with them. Additionally, this thread may help you think about your first attempt at game making a bit more realistically. We're going to break a few of these rules for our tutorial game, but when you make your first "solo" project PLEASE follow them! It's for your own good, I promise.  ;D


Game Planning:
Spoiler for:
So you have this sick idea for a game, and you're staring at your computer screen, salivating over the possibilities. You reach for the mouse and...

Stop right there!  :police: Believe it or not, you've already skipped a few steps. First, get a notebook and your favorite pen, and start writing. You got it, a good video game starts with a pen and paper. This stage of planning is going to determine a whole lot about your game, because this is the stage where you determine what you want your game engine to do. That means the scripts and event systems that make your game work the way you want it to. Additionally, the length of your game, the characters, the bad guys- everything you will eventually program into the project needs to be addressed here.

So what do we want for our game? Let's make a short game with four characters; a Warrior, a Mage, a Healer, and a stealthy Thief-type. They all work well together, and bring their own specialties to the party that make for a balanced set of skills. Our projected level cap will be 10. The (overused and trite) plot will be simple as well; rescue the princess from the evil bad guy's lair which is locked and only openable by the magic key object of some kind. We'll use one script to call a credits screen, and import a few bad guy battlers and a final boss-y BGM for the final battle.

Looky there! We have the outline of our game in less than a paragraph! :D Of course, we need to breathe life into it somehow, and that's where we can get our creativity involved. Now go fire up the computer...


The Laws of Your World:
Spoiler for:
The "rules" you use for your skills, characters, equipment and monsters, as well as a few aspects of the general appearance of the game are contained in the Database. Here you assign values to everything in the game. In the "actors" tab, we see there are several actors to choose from. We need only four; the Warrior, Mage, Healer and Theif. Feel free to rename them as you see fit, but leave their attributes alone for now. Keep in mind, the RM software is designed to work well right out of the box, and is designed for balance.

Spoiler for THe Database:

You could delete the information you don't need, and reorganize the list- but you don't have to.

Spoiler for:

In the "Classes" tab, we see what equipment each character can use, and what skills are gained at each level. Before you edit the skills here, make sure the skills are how you want them in the "skills" tab.  ;)

Spoiler for Skill Mods:

The "Items", "Weapons" and "Armors" tabs are pretty good for right now, and we don't really need to mess with it at all unless you want to change a name here and there, or if you want to make a broadsword with a lightning attribute or whatever. If you do edit these tabs, do so sparingly untill you fully understand the relationship between character power and level and enemy power! In other words, never make a weapon, spell or character that is so powerful it makes the came unchallenging.   :police:

Also in the DB, we can get creative and add flavor to our world- make up interseting names for the money, adjust your attribute contractions, mess with the BGM... customise stuff like that.

The monsters in the "enemies" tab are customisable, too. In fact, there are more enemy battler graphics in the DB than are used in the "enemies" tab, so you can make some of your own if you like. Simply add a slot to the list with the "change Maximum" button, and in the blank space name your beastie. Then you can begin filling in its attributes, and by click-clicking on the empty portrait, you can select a graphic. You can even change its default color with the slider bar that pops up when you select the picture!  :)

Spoiler for New Monster:

But that's not the end. In order to put the monster into battle, we need to go to the next tab, "troops", and assign our monster to a group. The group can consist on just one bad guy if we want. Scroll down the box to the right of the blank window, highlight the monster you want and hit "add". Repeat if desired. Change it up, make odd pairings if you like. Name it yourself or use "autoname", up to you, and hit apply. Done! Now you can assign your troops to the maps where your player may expect a fight. Right clicking is involved.

Spoiler for Map Properties/Troops:

So how do we get different areas of the world map to have different encounters? We divide the map into areas.

Spoiler for Map Areas:

These areas show up on our map list as though they were actual maps, and we can change the troop encounters here.


Importing Resources:
Spoiler for:
This process can be thought of as putting more information into the database. You'll need to find some resources, but as this is a resource kit, I'll leave that up to you. Let's import a new monster graphic.

Typically, you'll want to keep graphics to a similar style. When you have a graphic saved, you can click the "Import" button on the editor and it will give you a list of options which are mostly self-explanitory. In the case of a monster, you;ll want the "battlers" category. Select it, and navigate to the folder where you keep your monster that you want to import. Open that file and you'll see this screen:

Spoiler for New Battler:

Here we need to left click on the background color of the image, especially if its a funny color like orange- any color, really. That selects a transparent color, one you won't see at all. Then we right click on a color we want semi-transparent; there, but see-through. You can pick a shadowy color, or an area that's small enough not to be noticed.

And BANG, just like that our image is in the DB! You can always tell which resources you've imported; there will be a red dot next to it, as opposed to a blue dot. Those are the RTP resources. Keep in mind, in order to USE the image you'll want to make another monster that uses the image as its graphic! ::)

Spoiler for New Battler as Enemy:

Importing BGMs works the same way, only in this case you just need to specify the file. Once it's in, no further config is needed in this screen; you need only assign it to the map or event you want it to play in.


Adding a Script:
Spoiler for:
Oh, boy, here's where it gets scary.  :( 100 lines of code and not a clue as to what any of it means. Never fear, that's what the green text is for! Most script authors will write instructions in the script itself! How? #. But we'll cover that in another tut. The instructions ought to be in the script body.

First we need a script. For this tutorial, we'll use the Map Credit Script by Woratana included in the Christmas Giftbox bundle. It's old, but it's cool... and more importantly, it's simple.  :P

All you need to do is copy the code!

Code: [Select]
#===============================================================
# ? [VX] ? Map Credit ? ?
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 09/05/2008
# ? Version: 1.0
#----------------------------------------------------
# ? How to use:
# ** To start Credit, call script:
# $scene.credit.start
#
# ** To Stop and Clear Credit, call script:
# $scene.credit.terminate
#----------------------------------------------------
# ? Special Tags for Decorate Text:
# There are special tags that you can put in text to decorate that line
#
# You can also set default text decoration for all text in:
  #-------------------------------------
  # SETUP HEADER TEXT HERE
  #-------------------------------------
# for Header line (line that has tag <h>)
# &
  #-------------------------------------
  # SETUP CONTENT TEXT HERE
  #-------------------------------------
# for Normal line~
#-----------------------------------------------------
# ? >= Tag List <= ?
# * These tags will only apply to the line it is in~
# * You cannot use opposite tags in same line. (e.g. <b> and </b>)
#
# <b> :Bold Text
# </b> :No Bold Text

# <i> :Italic Text
# </i> :No Italic Text

# <center> :Align text to Center
# <left> :Align text to left
# <right> :Align text to right

# <h> :Make that line become Header line
#===========================================================================

#----------------------------------------
# Map Credit Main Script \('w' )
#----------------------------------------
class Wora_Map_Credit

  BG_Image = '' # Background Image file name, image must be in folder 'Picture'
  # You can leave this as '' for no background
  BG_Image_Opacity = 255 # Background Opacity (0 - 255)
 
  Text_Begin_y = 416 # Use 0 - 416: Text will start in the screen
  # Use 416+: Text will start below the screen
 
  Text_Scroll_Speed = 2 # Higher this number = Faster
  Text_Scroll_Delay = 2 # Delay between each text move (0 for no delay)
  Text_Opacity = 220 # Text Opacity
  Text_Blend_Type = 0 # 0: Normal, 1: Add, 2: Subtraction
 
  Test_Text = 'I' # Text for test height,
  # Change to taller alphabet if height is not right~

#--------------------------
# Start Credit
#--------------------------
Credit= <<_MAP_CREDIT_
<h><center> Legendary Dragon Crystal Fantasy
Written, developed and shared by EvilM00s
for an RMRK Tutorial
 
<h>Custom Graphics by SD Arius




<h>"I Believe In a Thing Called Love" by The Darkness

Yes, I paid for the track...




<h> Special thanks to Pacman


<h>Thanks for playing!






<h>Thanks for Playing!

_MAP_CREDIT_
#--------------------------
# End Credit
#--------------------------
  #-------------------------------------
  # SETUP HEADER TEXT HERE
  #-------------------------------------
  def header_properties(bitmap)
    bitmap.font.name = 'Dumbledor 1' # Text Font
    bitmap.font.color = Color.new(255, 255, 255, 255) # (Red, Green, Blue, Opacity)
    bitmap.font.size = 30 # Text size
    bitmap.font.bold = true # Bold Text? (true/false)
    bitmap.font.italic = false # Italic Text? (true/false)
    bitmap.font.shadow = true # Shadowed Text? (true/false)
    @text_outline = Color.new(0,0,0) # nil for no outline, Color.new(r,g,b) for outline
    @text_align = 1 # 0: Left, 1: Center, 2: Right
  end
 
  #-------------------------------------
  # SETUP CONTENT TEXT HERE
  #-------------------------------------
  def content_properties(bitmap)
    bitmap.font.name = 'Dumbledor 1'
    bitmap.font.color = Color.new(255, 255, 255, 255)
    bitmap.font.size = 22
    bitmap.font.bold = true
    bitmap.font.italic = false
    bitmap.font.shadow = true
    @text_outline = nil
    @text_align = 1
  end
#-----------------------------------------------------------------------
# -END- MAP CREDIT SCRIPT SETUP PART
#===========================================================================

  def initialize
    @started = false
  end
 
  # Delete credit if credit started
  def terminate
    if @started
      if @bg != nil
        @bg.bitmap.dispose
        @bg.dispose
      end
      @sprite.bitmap.dispose
      @sprite.dispose
      @started = false
    end
  end
 
  # Start Credit
  def start(text = Credit, bg = BG_Image)
    # Create Background Sprite
    if BG_Image != ''
      @bg = Sprite.new
      @bg.bitmap = Cache.picture(bg)
      @bg.opacity = BG_Image_Opacity
      @bg.z = 10000
    end
    # Create Text Sprite
    @sprite = Sprite.new
    @sprite.x = 0
    @sprite.y = 0
    @sprite.z = 10001
    @sprite.opacity = Text_Opacity
    @sprite.blend_type = Text_Blend_Type
    # Calculate Credit Height
    header_line = 0
    content_line = 0
    height = 0
    text = text.split(/\n/)
    text.each do |i|
      if i.include?('<h>'); header_line += 1
      else; content_line += 1
      end
    end
    @sprite.bitmap = Bitmap.new(1,1)
    # Test Header Properties
    header_properties(@sprite.bitmap)
    header_height = @sprite.bitmap.text_size(Test_Text).height
    height += ( header_line * ( header_height ) )
    # Test Content Properties
    content_properties(@sprite.bitmap)
    content_height = @sprite.bitmap.text_size(Test_Text).height
    height += ( content_line * ( content_height ) )
    @sprite.bitmap.dispose
    # Finished Test, Draw Text
    @sprite.bitmap = Bitmap.new(Graphics.width, Text_Begin_y + height + 32)
    content_x = 0
    content_y = Text_Begin_y
    text.each do |i|
     
      # Determine Special Tags
      if i.include?('<h>')
        i.sub!('<h>', '')
        header_properties(@sprite.bitmap)
        bitmap_height = header_height
      else
        content_properties(@sprite.bitmap)
        bitmap_height = content_height
      end
      # Bold Text
      if i.include?('<b>')
        i.sub!('<b>', ''); @sprite.font.bold = true
      elsif i.include?('</b>')
        i.sub!('</b>', ''); @sprite.font.bold = false
      end
      # Italic Text
      if i.include?('<i>')
        i.sub!('<i>', ''); @sprite.font.italic = true
      elsif i.include?('</i>')
        i.sub!('</i>', ''); @sprite.font.italic = false
      end
      # Align Text
      if i.include?('<center>')
        i.sub!('<center>', ''); @text_align = 1
      elsif i.include?('<left>')
        i.sub!('<left>', ''); @text_align = 0
      elsif i.include?('<right>')
        i.sub!('<right>', ''); @text_align = 2
      end
      if !@text_outline.nil? # Text Outline
        ori_color = @sprite.bitmap.font.color.clone
        @sprite.bitmap.font.color = @text_outline
        @sprite.bitmap.draw_text(content_x-1, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x, content_y-1, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x, content_y+1, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x+1, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.font.color = ori_color
      end
     
      # Draw Text
      @sprite.bitmap.draw_text(content_x, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
      content_y += bitmap_height
    end
    @delay = 0
    @started = true
  end
 
  # Update credit if credit started~
  def update
    if @started
      if @delay > 0
        @delay -= 1
        return
      else
        @sprite.oy += Text_Scroll_Speed
        @delay += Text_Scroll_Delay
      end
    end
  end
end

#----------------------------------------
# Plug Credit to Map >_> <_<~
#----------------------------------------
class Scene_Map < Scene_Base
  attr_reader :credit
  alias wor_mapcre_scemap_str start
  alias wor_mapcre_scemap_upd update
  alias wor_mapcre_scemap_ter terminate

  def start
    @credit = Wora_Map_Credit.new # Create Credit
    wor_mapcre_scemap_str
  end
 
  def update
    @credit.update # Update Credit
    wor_mapcre_scemap_upd
  end
 
  def terminate
    @credit.terminate # Dispose Credit
    wor_mapcre_scemap_ter
  end
end

Now open the Script Editor in your project. Go aaaaall the way down to 'Main" and select a space above it. Now paste the script into the white space. The script is now installed, but it isn't configured. Remember the green text? Well here it is telling you what to do! Simply follow the instructions to customise the script to your liking! ;D

Incidentally, this is the basic method to insert any script; above main, under any other scripts you are using.

Is this script really nessecary? If you have to ask, the answer is probably no. A lot of novice developers want to cram a bunch of scripts into their games, but the more you have the more complicated the programming becomes. See, scripts mess with the way the default engine works, and not all scripts are compatible with each other. So if you just dump a ton of scripts into the editor and you get an error, there are literally thousands of lines of code that could be arguing with each other. Then there's the fact that not every game needs an SVBS, a CMS, and alternate vehicle docking methods. Does the script work for your game? Is there an event that you could design to do the same thing? Do you REALLY want to bug a scripter? Those guys are rock stars, you know...



World Building- Making Maps:
Spoiler for:
Now for the fun part, mapping! This is the stage where your artistic talent can really shine. For a small game like ours, a 50x50 map should be fine, 70x70 at the most. Remember, not every game map needs to be huge. 300x300 monstrosities are WAY too much space, even for epic games. If you do it that way, you'll end up with a lot of dead space on your maps.

When you begin, you'll want to pay attention to the different tiles on Tileset A1. These are your generic worldmap tiles, and they all have different functions. For eample, notice the two grass tiles. Pick one and stick with it; if you put then together you get a harsh line where the tiles meet, and that's not cool.

Spoiler for Not cool:

Start big and work your way in. Begin with the landmass itself, and when you're happy with it, start adding details like trees, mountains and the representations of towns, castles and dungeons. There are two water tiles as well; they don't clash like the grass tiles, but one is darker than the other giving the impression of deeper water. Use that one for oceans, the other for shallows, lakes and rivers. Consider natural geography. Mountains are rarely near coastlines, deserts are not next to arctic areas, and so forth.

When you get to the towns, let's think about what a town does in an RPG:
  • It provides a place to rest, resupply and upgrade the party's gear.
  • It contains NPCs that provide clues to the next objective or piece of the puzzle.
  • It is a safe zone, where random encounters do not happen

Academic analysis aside, maps need to be interesting. In addition to function, it's your job to make your maps visually appealing; it IS a VIDEO game, after all.

So a town should have an Inn, arms and armor stores, and item stores or something that fulfils the same purpose. There are many conventions on properly mapping a town, but one of the most important is building height. 2 exterior tiles high, 2 roof tiles high is the standard for a one or two story building.

Essential to ANY map are entry points from other maps and exit points to other maps. Those are events you NEED to have in place. Speaking of...


Eventing:
Spoiler for:
This really deserves its own series of tutorials, but we'll hit the high spots. Events are everything in the game other than the database and scripts. NPCs, transfers, treasure chests, inns, shops, even the player are events. As you can see, they're pretty flexible.

The vast majority of your events are doors and transfer points. These, along with chests and starting positions, can be made quickly in the VX engine by right-clicking a map square in event mode.

Spoiler for Quick Event Box:

Other uses for events are cutscenes, which require a bit of thought and are not pre-made. As you become more comfortable with event commands, you can make all kinds of cool stuff happen, like mini-games and items that can teleport the player to a location that they can designate! 8) As I said though, it's too big a subject for this topic, and we won't mess with events TOO much.


Putting It All Together:
Spoiler for:
Okay. We've tweaked the DB to our liking, made our own monster, imported a custom monster and configured him, added our own music and made our world into something we can see. We populated it with folk and fiends. The towns, castles and dungeons are set up and look pretty. We added a script that gives credit to everyone whose work shows up in our game. Now to inject our storyline. Surprise! You kind of already have. Every move you make in game development has to have a purpose, and work toward the goal of a complete, coherent game. Feel free, however, to go back and make sure it all works! Which brings us to...


Playtesting:
Spoiler for:
Before you start patting yourself on the back, play your game. You may (probably) have made some errors that will need to be addressed. Find them and correct them!  :mad: Actually, you should have been doing this all along. After every new cutscene, new monster, new town, new dungeon, new event- after you introduce anything new- PLAYTEST. If it all works out, THEN you can compress your data and distribute your game.

Take player progress, for example. Make sure that the player won't gain levels too fast or too slowly. Looky here:

Spoiler for XP Curve:

This screen lets you modify the XP curve for your player. Since we want 10 levels over an hour, that's a level every six minutes or so. We can see that the first level monsters give out around 5 XP per monster- which is good since they typically come in groups of 3, and it takes 40 XP to go from 1st to 2nd level. So less than ten encounters should get the player up a level. It should also take about 3/4 of their HP and MP. Cool, no modification needed there. But our custom bad guys need to follow the same formula.

Once it's good, playtest again. Did it work out?

Congratulations! We're done, brother.


Conclusion:
Spoiler for:
There are several things we needed to consider to make a playable game. We saw how each step is important, and why we need to slow down and not try to develop the next big thing. We know starting small is good. We know the basics of the basics.

Now you can go and gain more skill. Go read some other tutorials that cover these subjects in greater depth. Go make a few small games that incorporate your new skill. Be creative!

If you found this tut useful, make your practice game and post a link to it here. Tell me a story! I sincerely hope that this tut is informative and will help a novice developer one day.

I actually did the tutorial and this is what I came up with. Feel free to play around with it, it's unencrypted. See how I did stuff, look into the more complex events and wierd event commands. Look at how the story is complete, but is wide open for a sequel- there's even space on the map that could lead to another area, so take off with it if you like. I didn't playtest well, can you find any game-breaking errors? What would you do differently?

Peace and hair grease!
« Last Edit: March 17, 2012, 12:30:51 AM by EvilM00s »
:tinysmile:

*
The Hero of Rhyme
Rep:
Level 82
( ͡° ͜ʖ ͡°)
2014 Queen of RMRKProject of the Year 20142014 Best RPG Maker User - Story2011 Best Newbie2014 Kindest Member2014 Best RPG Maker User - Creativity2013 Queen of RMRKBronze SS AuthorBronze Writing ReviewerSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.GOOD!For frequently finding and reporting spam and spam bots2012 Best RPG Maker User (Creativity)2012 Best Yuyubabe Smiley;o
Woah, this is really, really helpful! I appreciate you taking the time to write this out, M00s!! :D
Spoiler for My Games and Art:
ℒℴѵℯ❤


My Artwork Thread

The Lhuvia Tales [Current]

Ambassador [Complete]

The Postman [Complete]

The Wyvern [Complete]

Phoenix Wright: Haunted Turnabout [Complete]

Major Arcana [Cancelled]


*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Ain't no thang... I'm hoping that it will come in handy for the brand-spankin' new RMers we seem to be attracting as of late. Maybe it'll help, as dirt-basic as it will be.
:tinysmile:

***
Rep:
Level 59
I'm looking forward to seeing where you're going with this, EvilM00s. Of course, there isn't a whole lot to really comment on at the moment, but... you know, whatever. :P

We'll be following this. :)

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
WEll, as soon as I can mess with the screenshots, they will go in their proper places; that will show a lot of stuff that words kinda miss. In the end, it is intended to be a blueprint for a practice game that can be programmed in a day and played in less than an hour.

Hey, do you think I should throw the paragraphs into spoiler tags?
:tinysmile:

*****
you don't wanna mess
Rep:
Level 78
bruh
2014 Most Missed Member2014 Zero to Hero2014 Best IRC Quote2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
Perhaps you could add a section on inserting scripts, and explaining how they help or hinder the game? I.e., how to put a script in and follow its instructions, configure, whatever, then talk about how you should make sure not to overuse scripts. That would be very super-cool.

This should be stickied ;o

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Thanks, dude! I was thinking I'd leave the scripts for a later installment, no pun intended- although it does sound like a good idea... I just might do that. And a section on importing resources! Yeah!

Okay, screenies to follow. Please stand by...
« Last Edit: March 08, 2012, 09:12:34 AM by EvilM00s »
:tinysmile:

*
Rep:
Level 84
I solve practical problems.
For taking arms in the name of your breakfast.
Well done :3, altough it seems this is tailored moreso to vx, was that your original intention?

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Yes it was; I'm a real louse at XP or 2k.
:tinysmile:

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Welp, it's done. I'm going to actually make the practice game, all configured an' everything, and post it as soon as it's done for reference should the fledgelings want it.

Shouldn't be more than a day or two, now...
« Last Edit: March 13, 2012, 01:56:30 AM by EvilM00s »
:tinysmile:

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Uh, something bad happened while I was adding a link to the game, and the main post is screwed up. As in gone. I'm hoping Roph can fix that, but if not I'll rewrite it.


EDIT: Rewriting in progress...

EDIT dos: Done rewriting, now to stick the screens back in.

EDIT C: Done.
« Last Edit: March 16, 2012, 03:45:44 AM by EvilM00s »
:tinysmile:

*
Rep: +0/-0Level 55
Computer Programmer in training
Wow, this was very helpful!!
This motivates me now to not give up lol.
However since i'am using the VX (Ace) it's a bit iffy but I'll learn from errors along the way :P
Looking forward in where this will lead us to.

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
I'm glad it helped! Thanks for saying so.

Try following the steps (with a different script, of course) and see what you can do.
:tinysmile: