Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Fantasist

2101
General Discussion / Re: RPG Maker acronyms
January 08, 2008, 12:26:48 am
QuoteCP - Chaos Project (chaosproject.co.nr)
The name of the game and the forum made by Blizzard.


what about this forum? ;)
2102
QuoteNickname/Displayed name feature - turn it on

I registered with the name fantasist cause I don't have to type uppercase while logging in, but  thought the nickname feature is disabled. Could you please turn it on, Bliz?

PS: I know I'm lazy :D
2103
News / Suggestions / Feedback / Re: Blizz-ABS promotion
January 08, 2008, 12:22:43 am
You know I'll use it  ;D
2104
QuoteAt least I have learned something out of it: NEVER DO BUSINESS WITH CHILDREN! =P

I forgot to mention in the old forum:
friggin lol!

rolf!
2105
News / Suggestions / Feedback / Re: CP on the move!
January 08, 2008, 12:19:55 am
I slept at 4-30. Darn! I missed the move! well, not quite :)
2106
Welcome! / Re: Free hugs for everyone!
January 08, 2008, 12:18:26 am
hi. I'm not new to CP. lol!
2107
Welcome! / Re: Hola Peoples
January 08, 2008, 12:17:32 am
Too bad I'm not 18 yet >.<
2108
Welcome! / The Fantasist is here
January 08, 2008, 12:15:44 am
Hello everyone. I'm Fantasist, a day dreamer with a philosophical touch. And I'm also an RGSS scripter (the n00b scripter, I often call myself).
2109
Welcome! / Re: this is nice!
January 08, 2008, 12:13:32 am
We really need a new skin which I'm sure Bliz will come up with. But as GAX said, a darker theme would be good. The old CP is the first sote I liked a theme as brigt as that, a miracle really. I never like bright >.<
2110
Welcome! / Re: MOUSHI MOUSHI!
January 08, 2008, 12:12:00 am
Heya Ulta :D
2111
    The ultimate guide to distributing your game

    This post will be kept up-to-date as I gain more knowledge. Anyone's welcome to share any tips and if they're good enough, I'll add them.

    Note: This work is protected by copyright liscence.

    Quote
    Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License


    You are free:

    • to Share -- to copy, distribute and transmit the work
    • to Remix -- to adapt the work


    Under the following conditions:

    • Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
    • Noncommercial. You may not use this work for commercial purposes.
    • Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.



    • For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.
    • Any of the above conditions can be waived if you get permission from the copyright holder.
    • Nothing in this license impairs or restricts the author's moral rights.



    Table of contents:

    • 1. Introduction
    • 2. Making your game RTP-independent
    • 3. Gathering the resources together (using the Resource Tester)
    • 4. Testing and Debugging
    • 5. Filesize optimization
    • 6. Distributing your game [WIP]
    • 7. Useful tools
    • 8. F.A.Q.
    • 9. Contributers


    1. Introduction


       Are you making a game or already made one? You must have put a lot of effort into it, so much that when you finally want to show it to the world, you want your game to be as unique as possible. In that stage, the orange blob, 'Game.exe' might start to look annoying. Of course, the most common and inevetable problem is the dependency on RTP. This tutorial is meant to make you able to distribute your game in a very professional way, without the need for RTP and with an installer. I've given some tips on filesize, as making your game small in size always encourages others to download it in the first place. Sections 2, 3 and 6 cover the basics of distributing your game, but I recommend you read all of this tutorial. I promise that you'll feel the difference :)

    2. Making your game RTP-independent


       I'll explain here how to make your game run without RTP, nothing more, nothing less. That means that this is NOT about gathering the resources, that's covered in Topic 3. Follow these steps:

    • Search for 'RGSS' in your Windows directory. You'll find RGSS10xx.dll. If you're using the official version, you'll find RGSS102E.dll. If you're using the Postality Knights, you'll find RGSS100J.dll. You need to copy this and paste it in your game directory (the game folder).
    • Open the Game.ini file and modify the contents by using the following guide:

    Quote
    Library=RGSS102E.dll (the name of the RGSS dll you've just copied into the game folder)
    Scripts=Data\Scripts.rxdata
    Title= (Your game title which gets displayed on the title bar when in windowed mode)
    RTP1= (The default is 'Standard', the name of the RTP you're using, just erase the word)
    RTP2= (This is the name of the second RTP if you're using it, just leave it empty)
    RTP3= (same as above)

    Now try running the game. It will display a 'File not found' error and stop. That means the game is no longer using the RTP files, and is expecting the resources to be found in the game folder.

    Note: When you run Game.exe, it first searches for the RGSS dll specified in the Game.ini file, in the same directory (at the same place where Game.exe is). If it does not find it, it searches in the C:\Windows directory.

    3. Gathering resources


       Now that the game doesn't use the resources from the RTP folder, it expects them in the game's directory (the folders 'Graphics' and 'Audio'). Basically, all you need to do is copy every resource used by the game from the RTP directory (usually C:\Program Files\RGSS\Standard) into their respective folders in the game directory, that's all there is to it. But obviously it's not easy. You could always copy all of the RTP (nearly 20 MB) into the game folder, and a lot of unused resources get copied. Or, you could make note of EACH AND EVERY RESOURCE as you use them while making your game and copy them, or something similar, import every resource you use in the database from the RTP directory, both of which are not practical.

       If you've used RM2k/2k3 for some time, you might have come across a program which lists all the resources you're using in your game. Blizzard's Resource Tester does just the same. It will make a txt file with all the resources you're using, and what's more, even unused database entries like items and skills are logged. Once the list is ready, copy all the resources from the RTP folder into your game folder.

       I'd like to point the use of 'Ctrl' key in this context. If you already didn't know, you can select multiple files by holding down the Ctrl key and clicking the files you need. And If you're using Windows XP, in the folder toolbar, turn on the button "Copy To". Now select the necessary files in the RTP and use 'Copy To'. You'll be done in no time.

    Note: For avoiding possible problems, I advice you to name custom resources differently from the RTP files.

    4. Testing and Debugging


       This is a crucial step in releasing any kind of product. People don't like unexpected errors suddenly popping up while they're immersed in gameplay. Errors are not always technical, They could be glitches in the game or even logical errors. Here are the kinds of errors and bugs you might encounter:

    Script related errors: These are the errors you get because of inconsist scripts or improper use of "Call Script" event command. Most of the time, an error pops up and the game crashes.
    Solution: The best way to tackle this is to test all its features which you used, after you're done installing all the scripts. Scripts can be incompatible, so while it worked before, it might not work properly after you install another script. If you're not a scripter or can't solve the problem, get help from the maker, and if he/she's not available, get help from others.

    Glitches in the game: Most commonly encountered in event-based mini games and systems. For example, a jumping system might glitch and the player may jump into water and get stuck there. It could even be story related. For example, there's a quest where you need to get an item for the King from a monster. If you messed up the eventing, (a) When you return with the item, the King still says "Arshes, can you do me a favor? There's a monster blah blah... (b) After you defeat the monster and give the King the item, if you go back to where you defeated the monster, the monster's still there and the same cutscene ensues.
    Solution: This is solved by thorough test play. While playing, test every possible map and every possible side quest. After completing a quest, visit every map it involved to check if there are no glitches. The more attention you pay to detail, the better is the chance of finding bugs.

    Logical inconsistency: The best way to explain is a good example. Let's say you designed two monsters, a Bat and an Ogre. You've set the Bat to cast 'Sleep' and you've set the Ogre to cast 'Paralysis' once every two turns. And you happen to make a monster troop with these two monsters. What happens when the player battles them? The Bat casts 'Sleep' and the Ogre casts 'Paralysis'. You're either asleep or paralysed, so you can't act. The monsters still keep casting 'Sleep' and 'Paralysis'. Though technically nothing is wrong, that battle never ends.
    Solution: This can be corrected by even more observation to detail. Battles, mostly, should be played several times without cheating (no 'God-Mode' in this phase of testing :P). You might not spot them normally but you definitely will if you look for them.

    Note: After spending a lot of time on making the game, your brain might 'get used' to some inconsistencies and you might not be able to spto them. It's best if you ask other people to test play the game. When I say 'test play', I mean not just asking them to play the game, ask them to look for glitches and errors.

    5. Filesize optimization


    Why is smaller filesize important? Because it's easier for you to upload the game and easier for people to download it. Remember, uploading is not a one-time process. You might upload an update or a version with some bug fixes. Since most of the filesize is because of images and audio, you'll need to know the various methods and formats while saving them.

    For both images and audio, you need to keep two things in mind - quality and filesize. You can't get the best of both of them. Different formats offer different balances, it's you who need to decide what's best for your use. It's not difficult in case you were wondering.

    Image Compression: ShowHide


    Image Compression:

    The first rule is NO BITMAP(.bmp) IMAGES. Bitmap files are raw data in uncompressed form, and they take collosal space. You're best bet is JPEG and PNG formats.

    PNG: PNG images support alpha channels or transparency, that's an advantage over JPEG. Using PNG format is virtually lossless, you won't find much difference in the image. PNG has 9 compression levels. I suggest you save your images in the highest compression, you won't notice the slightest difference between 0 and 9 compression levels if you try.

    Note: PNG IN 0 COMPRESSION TAKES AS MUCH SPACE AS A BMP! So never use 0 compression, use at least 1.

    I've tested this with some images and came up with a gist:



    Here are the images I used, from compression level 9 to 0. You won't find much difference between 0 and 9.

    Compression 9 (9.40 KB):

    Compression 8 (9.41 KB):

    Compression 7 (9.48 KB):

    Compression 6 (9.57 KB):

    Compression 5 (9.67 KB):

    Compression 4 (9.72 KB):

    Compression 3 (9.95 KB):

    Compression 2 (10.0 KB):

    Compression 1 (10.2 KB):

    Compression 0 (30.6 KB):


    JPEG: You use this format when the image is colorful and not uniform. Saving an image in JPEG format decreases it's quality permanantly, so as a general rule NEVER convert sprites or other pixel arts to JPEG. Don't convert your master copies to JPEG if they're important. Use JPEG images only for the game's release if you're desperate about saving filesize. There are batch converters which convert loads of images at once. They're not hard to use either, so this is practical.

    The statistics of JPEG compression:



    Images I used, from quality 1% to 100%.

    Quality 1% (0.86 KB):

    Quality 10% (1.84 KB):

    Quality 20% (2.78 KB):

    Quality 30% (3.47 KB):

    Quality 40% (3.99 KB):

    Quality 50% (4.48 KB):

    Quality 60% (5.0 KB):

    Quality 70% (5.75 KB):

    Quality 80% (7.01 KB):

    Quality 90% (9.71 KB):

    Quality 100% (21.0 KB):


    When PNG and when JPEG?

    The important difference is that PNG is a lossless compression. This means that if you convert a picture file to a PNG the image will not be changed.
    JPEG is a lossy compression. Converting to JPEG will in almost all cases result in a different picture. Also remember that if the game is played full-screen the artifacts (distortions in the image due to JPEG being used) becomes more visible.

    I suggest you try compressing it to PNG and JPEG. If the artifacts are too bad or the PNG doesn't fill much more than the JPEG I suggest you use PNG.

    In terms of filesize, JPEG is smaller than PNG in most of the cases. Check this out:


    And don't forget, 0 compression PNG is as large as bmp, the same image in bitmap format was 30.7 kb, and 0 compression PNG is 30.6 kb.

    Now let's concentrate on the exception. Consider these two images:

    PNG (1.90 KB):


    JPEG 1% Quality(2.62 KB):


    The lowest quality JPEG is larger than the PNG image, but there's lot of distortion in the JPEG image. So what's the bottom line? PNG is better for uniform images with clear cut outlines, while JPEG is better for images like photos.

    Note: Never convert a JPEG to PNG. The result will still be the crappy distorted picture and the filesize will typically be high since PNG typically don't work will with the distortions create by JPEG.
    Also save the master copies as PNG. This applies even if the original master copy is a JPEG, ecause if you change a little in a JPEG, save it, change a little, save it and so on you might get the quality decreasing each save. You will not get this with PNG.


    Audio Compression: ShowHide


    Audio Compression:

    First rule is DON'T USE WAVE (.wav) FILES. Wave files are raw audio data, and like bmp for images, they're really huge.

    Try using MIDI files as much as possible, as they are VERY small in size (arounnd 10 to 50 KB?). Use other formats like MP3 and OGG only if you're particular about what you want to use and MIDI files aren't up to the mark. Also, don't convert a MIDI file into MP3 or any other format for whatever reason, it's just a waste of space. The converted files are always much larger than the MIDI files.

    If you decide to use other formats than MIDI, remember these points:

    • kbps determine the quality and size of MP3s and OGGs.
    • RMXP needs extra time to load OGG files, while MP3s don't need any. The delay in loading an OGG file depends on its size.
    • Streaming is supported by MP3 and WMA(Windows Media Audio) files and thus they don't need any time to load.(The reason OGG files take time to load is streaming is not supported for this format)
    • An OGG file encoded on 64kbps is around the same quality as an MP3 file encoded on 128kbps.
    • Using a 32kbps OGG file sounds quite good in-game, despite being 4 times smaller than a 128kbps MP3 file.

    I'm not too familiar with audio encoding and optimum encoding of audio files will be a whole tutorial in itself. The best way is to do some experimentation yourself and use the format which suits you best. Of course, the internet is a great resource for information. There are many tutorials on audio encoding out there.


    6. Distributing your game [WIP]


    Now that you're game is ready for playing, you can distribute it. In section 2, you made your game technically RTP independant, in section 3, you gathered all the resources and made your game practically RTP independant. All that's left is to pack the game folder and upload it.

    But before you do that, you might want to change the icon of Game.exe. Refer section 7 for how to modify the exe.

    You have three options for packing the resources.

    1. The "Make Game Disk" option from the "File" menu of RMXP. All this does is compress the game folder and make a self-extracting exe. This is normally fine, but it doesn't install any shortcuts anywhere.

    2. You can zip the game fplder and upload the zip file. Use a program like Winzip or WinRAR to compress the game folder.

    3. You can make an installer and upload the file. Refer section 7 to find an installer.

    7. Useful Tools


    (Clickable headings)

    Irfanview: IrfanView is one VERY nifty tool. It's basically a viewer with lots of common filters and ability to save in many formats. It can batch convert/rename files easily. You can even view AVIs and MPGs (don't know about other video files), and you can view PSDs. Only downsides I found are there's no way to change hue easily, and it's not an image editor, so you can't draw things. I highly recommend you get this. Also visit their website, you'll find lots of filter packs which might come in handy.

    XN Resource Editor: You can mod exe, dll and ocx files with this application. You can use this to change the icon of your Game.exe file. Resource Hacker is a similar progran, but looks a bit old and it doesn't come with an in-built bitmap editor. If XN Resource Editor gives you any problems (highly unlikely), you can use Resource Hacker instead.

    Clickteam Install Creator: You can create an installer for your game very easily with this program. It's totally free, but there's a link to their website in the last page while installation. Some might not like this, but I recommend it. There are other programs like this on the internet, so the choice is yours, just use Google.

    8. F.A.Q

    Awaiting questions...

    Contributers

    Blizzard (audio compression)
    Zeriab (image compression)[/list]