Title: * Scenario3 RPGMaker Update *
dw817 - October 5, 2006 04:00 PM (GMT)
OK ! Good morning !
I am going to let you know of the progress I am making since I have decided to fully finish Scenario3 for GBA. However, while I may not write much code after this, I will ALWAYS update Scenario3 to user requests. And keep Scenario3 in good working order so it will be an ongoing project, much like Scenario2.
Here's the clypse:
Currently Scenario3 runs perfectly in PogoSHELL, a kind of Windows for GBA, but I may not have an easy way to extract SRAM for Scenario3 out.
Any information on how to do this would be greatly appreciated.
http://kuwanger.net/gba/pogoshell/If you flash it to your GBA card as a single program, however, you can easily use XtremeFlash to SAVE/LOAD new 64k SRAM for that slot of the 4 available.
I am VERY pleased to announce that there will be MUSIC and sound effects.
It looks like I can store 20 songs each 30-seconds long with repeat.
Special effects will be MINIMAL. While you can have rain and fog, twisting the screen like the underwater effect will not be possible. I am also not seeing how to TINT the screen save inserting pattern blocks which will not look very good.
I have approx. 64k SRAM per world file. SRAM is Static RAM, that is, you can turn off your GBA anywhere and when it powers back up, it remembers everything in your SRAM.
Unlike other RPGMakers, even in this 64k SRAM you will have the ability to edit the images for the 64 tiles, 16 critter images, 16 Sprite images (2-step animation and face UDLR), 96 char. font, border frames, 16x16 pixel cursor, and custom 27 user-defined icons.
ALL images are limited to 16-colors !
That is, instead of using true 24-bit graphics, all images are converted to 16-colors. These 16-colors are changeable if you so choose (although I have a default I use), the colors for default are as follows:
00..Black [Transparent]
01..Black [Solid]
02..Dark Purple/Blue
03..Medium Purple
04..Light Purple
05..Dark Red/Brown
06..Red
07..Orange
08..Yellow
09..Green
10..Light Green
11..Blue
12..Aqua
13..Dark Grey
14..Medium Grey
15..White
You also have the ability of "tinting" all colors so you can make Orange look more like Fleshtone, or if you need to lighten/darken the colors to see on a non backlit GBA unit.
. . .
As much desired, there WILL be either 3 or 4 players in the game.
And they follow you around much like my G/F calls the parade of the mushroom heads. :) You can also write scripts to determine WHO is in your party, interchangeable with other heroes/heroines that are not in the party, etc., and building weapons/armor that can only be used by him or her.
Fleshing out the SRAM details here is the status:
Up to 128 switch names that can (YAY!) be used on ANY map.
Prior definition was that you could only have one switch name per map.
That is, you could make all the switches on a map but they were all FORCED to link to only ONE switch name. The way I have it now, you can create tiles/sprites that use ANY NUMBER of switch names on a single or all maps if you choose(very similar to Scenario2 so you can make complex maps indeed !) Switches are defined by 6-char. names. They have status as in Scenario2 of being ON or OFF.
You will have 16 maps, 25x25 NO wraparound (it was too messy to code intelligently to do Wraparound for GBA). Each map has 3-bytes, 1 for first tile & LockPage flags, 2 for Tile#2/Sprites/Critters and Hidden/Invert flag. 3rd for Switch #.
While you do not need to remember the switch #, it refers to the 128 6-byte storage so if you DO rename a switch it affects ALL map switches since it is coded by the 0-127 position solely. All tiles, however, are referred to by the switch NAME so you need never to remember the ID #, and it will be invisible to the Worldbuilder.
Locked pages. Due to memory constraints you can only have up to 3 locked page positions per map cel. That is, a careful check is made to ensure that you ONLY have up to 3 locks per any script. Naturally the 1st page is always run in a script, but if you put a lock in your script, then THAT page will be run next time. [Lock] "+" is also in effect to lock the next page without running it if there was a [Terminate] Sprite Messenger command.
There are 64 tiles. While I had a bit of fun defining completely custom 64 tiles, I think I will borrow some images from original Scenario2 (like bridge since currently I have 2-bridge images in Scenario3).
There are 16 Sprites. All sprites fully animate 2-step and can face UDLR. Much desired and now available will be WANDER. The Sprites can and will by default wander around on the screen. Since all sprites are capable of independent movement, you can write a script to move one or more all at the same time now.
Item definitions.
Here is my dilemma. I would like to keep things very simple indeed with fixed-item definitions (which would greatly simplify Worldbuilding), but I also have the ability to allow a script for every single item including spells, weapons, armor, etc.
While this opens great flexibility to even making custom scripts per tile-type, it may be too complex to call a SIMPLE RPGMaker, which is what I want to build most of all. What are your thoughts ?
Item storage. I am at odds in deciding if each of the 3/4 players carry items themselves or if they use a magical and unlimited-space inventory they can all access even during battle (which could take away the complexity and resourcefulness of them each carrying their own items).
There will be 4-elements. Included are the 3 from Scenario2, Fire, Ice, and Bolt, but a new one Mystic. Critter definitions can be strong/weak-against and have the ability of casting these elements as spells.
Spells, whereas Scenario2 only had 3 attack spells, since you can (unless requested otherwise) write scripts for every spell, this includes increasing/decreasing power/defense to players for the duration of the combat.
I am dissecting my Scenario2 to see what would be good for new Scenario3.
Tokens. While Scenario2 had tokens they were not well defined.
ALL ITEMS including weapons have a 15-char. description.
Oh, and text is 15-char. across in scripts, and up to 3-lines down per page display.
. . .
I think that's about it.
In the future I will PROBABLY shut down a large part of my current Scenario site:
http://geocities.com/dw817in opening new area to D/L add-ons specifically for Scenario3.
Add-Ons will include custom sound effects, music, graphics, and of course an area where you can post or download World Files written by other Worldbuilders such as yourself. :)
dw817 - October 7, 2006 03:36 AM (GMT)
Coding is going well:
* I have made a good discovery about string-handling in DragonBASIC.
If you are interested, you can read my article here:
http://forums.zhilaware.starfusion.org/viewtopic.php?p=1349I was having difficulty recalling SRAM items such as current map, location, and tile preferences when you turn off the GBA. Taking into account these string limitations the system is now working quite well. :)
dw817 - October 7, 2006 10:56 PM (GMT)
Good afternoon !
* Okee, the scrolling water is giving me real hell.
Here's why:
Images are stored one-byte per pixel but I am using 4-bits of data to interpret the actual pixel data. Character data is stored in not by the character reference (like Scenario2) but by the next adjacent byte to the next 8 modulos pixel in the same matched character.
I CAN have 2-images for water, so I may go to proceed with that.
Here's the problem. Plotting tiles takes time. If I want to have animated water without actually having to redraw the screen or portions of, I must directly modify the character data that holds the water image.
I think I am going to write a pixel-reference function that will calculate the pixel based upon the character map generation. Then I can scroll the water cleanly, like down diagonally, which will look great !
So far saving the game player information (player data) is working well.
It seems like you can only have one save-game position since I am keeping tabs of the locked position for each of the 7500 tiles. Yes, I cut the maps from 16 down to 12 to make room for the 3rd byte of data per map cel so you can have any number of and any type of switch to each map.
dw817 - October 9, 2006 10:58 PM (GMT)
Good Evening:
YAHOO !
Thanks to the dilligent work of DDLullu, now you can run Scenario from PogoSHELL AND EXIT from Scenario via the menu auto-saving your work as it returns back to PogoSHELL !
This is WONDERFUL !
It also means I can bop out some useful programs in DB for GBA now like a little Checkbook program, word-processor, and phone/data directory assistant.
So now PogoSHELL can do what !?
Play Nintendo 8-bit games, .MOD music, .MID music, Sega Game Gear games, Master Sega games, Colecovision games, Super Nintendo games, B&W Gameboy games, Color Gameboy Games, read text files, and now run true DragonBASIC programs !
* OK, reading the author's comments on PogoSHELL I have learned the following.
The LAST GBA program you run (say Scenario3) unpacks directly into the top slot of four for Visoly's XtremeLink.
What does this mean ? Sneaky stuff ! I figured out how to do it ! :D
Well, if you want to transfer your World from the true GBA to the computer,
bring up Scenario3, once it is up. DO NOT exit back to PogoSHELL yet.
Turn OFF your GBA while it is still in Scenario3 (I auto-save your world file once there is 1/2 second of no key presses), bring up VISOLY XtremeLink and then From Save Games Click on Position [1] then READ from Flash Cart to DISK !
This is a true 100% compatible-with-Visual Gameboy Advance 64k .SAV file !
Make sure it's the same name as the one you are bringing up in Visual Gameboy.
You can take this .SAV and continue your Worldbuilding in Virtual Gameboy Advance or any other GBA emulator if you so choose.
If you want to LOAD in a new world file to your actual GBA unit, bring up Scenario3 from the GBA unit, once again POWER DOWN when Scenario is up (do not return to Pogoshell !), bring up Visoly's ExtremeLink.
This time from Save Games, once again at Position [1] WRITE from DISK to Flash Cart. Use the .SAV generated by Visual Gameboy Advance or whatever GBA emulator you are using.
Plug your flash card back in your GBA and bring up PogoSHELL.
Once you hit a key in PogoSHELL it will SAY that it just saved off the SRAM for it.
What's going on here ? Tricky stuff ! :D
Since we know PogoSHELL must decompress the SRAM to the top 64k SRAM slot every time, then since we exit Scenario3 WITHOUT returning to POGOSHELL, we are directly changing (either reading or writing) new 64k SRAM from slot one.
When you bring back up PogoSHELL, it copies SLOT one (which you just modified !) to the Scenario3 game file and it THINKS that it was the save file just made in Scenario3 from the GBA unit. You TRICKED IT ! And you get to work on your World File both in GBA emulator in Windows and directly on the unit itself.
The advantage to this ?
Since you can now save world files direct to the GBA, you can make a series of sub-directories in your Windows like:
[Folder] Default World File Folder
[Folder] Suzi's Quest File Folder
[Folder] Jack's Big Trip File Folder
Inside each of the sub-directories is the SAME NAMED .SAV file, say
scen3.sav
If you do this, you'll need to rename your Scenario3 to scen3.gba.
You want to save the SAME name each time because when you FLASH it to your flashcard, you don't have the ability of renaming files inside PogoSHELL, so decide on a name for running Scenario3 like "scen3" and you won't have any problems !
When you save from your Flashcard to your computer, you can make:
[Folder] My Work File Folder
Which once again inside that folder you save off the file scen3.sav
See how this works ?
SO how does one go about posting a World File ?
You save off the single scen3.sav file inside a .ZIP file like:
"Crystal Sword"
and then post it the way you normally do to current Scenario (sending it to me in Email via binary attachment). :D
These world files will be REALLY small too once PKZIPed. About 12k-20k a pop.
Not this week but NEXT week I am going to overhaul main Scenario website in anticipation of Worldbuilders for new Scenario3 !
Thanks DDLullu !
dw817 - October 10, 2006 01:29 AM (GMT)
Okay, I now have a new Email account.
If you've tried to send me a world file either recently (or years ago) and it seems like I never got it, you're probably right. ;)
dw817@yahoo.com
I am receiving over 100 Email per day in this box and none of it was requested
(READ S P A M !) so it is doubtful I will look in here for Scenario2 or Scenario3 projects and/or inquiries.
ALL Scenario3 queries are to be directed here:
scenari3@nospammeyahoo.com
(remove the n0 5pam me first, and yes there is NO "O" (oh) in that Email address).
I will be checking this Email daily to help you with your port to Scenario3.
If you have questions regarding Scenario2, well, that's fine, but it is no longer supported, mostly because of Windows incompatibility. Unless otherwise specified, all my work and focus will be towards Scenario3 for the Gameboy Advance.
If you need to send in a Scenario2 world file AND I know you, then that's fine too, but my main website is going to get overhauled here pretty soon so while all world files (none will be lost !), they will be removed from dw817 and available from a different yahoo account, like "http://geocities.com/scenario2worldfiles" (not yet active).
I will be posting work-in-progress Scenario3 "scen3.gba" this next Monday so you can all see where I am progressing on this.
October 16 2006
. . .
If you do not have a GBA and/or Flashcard you can still be a Worldbuilder in this program by using Virtual Gameboy Advance, a Freeware GBA emulator found here:
http://vba.ngemu.com/All editing will be done in the emulator or real GBA unit.
The advantage here is that now my RPGMaker will run in ANY computer platform (not just limited to Windows) that is capable of emulating the Gameboy Advance, instead of being limited to Windows and version '98 at that. So the Gamepark32 and Macintosh computer which can emulate the GBA will DEFINITELY be able to run Scenario3.
More computer platforms means more support !
And of course if you have a Flashcard, you can take Scenario3 on the go !
To beam up your world file, merely PKZIP the single 64k scen3.sav file and binary attach it to the new Email above.
That's all from here !
dw817 - October 11, 2006 08:43 PM (GMT)
Good afternoon:
OK, after careful consideration and several hours tediously examining what other companies (read: ASCII/AgeTec) wrote in their RPGMakers, I have decided the following:
There are no wizards.
That is, you do not have a template to define anything.
Anything and everything is defined via scripts raw.
Here's the clypse thus far:
You have 1230 script lines total. Each line is 16-bytes across.
Having treasure on a tile costs one line script since you are referring to the NAME of the treasure.
Everything else, is defined by one or more script lines, depending upon how detailed you want a definition to be:
if "/" then editor variable (7-char, 8-char. storage)
if "*" then game variable (7-char, 8-char. storage)
if "+" then temporary game variable (7-char, 8-char. storage)
if "@" then start player combat script
if ">" then start map TILE script
if "!" then start critter script
if "&" then start item script
if ";" then start weapon script
if "^" then start armor script
if ":" then start spell script
if "$" then start item script
if "#" then start tile script
if ":" then start GLOBAL map script
if "." then continuing script line (after start)
if "'" then continuing text line (after start)
So you can see that the apostrophe ' as the first character will display up to 15-char. across in a message.
To terminate the definition of one script, merely start any character besides:
period or apostrophe.
Locks (to lock doors are merely IDs "A" - "Z", 26 different locks). You get to define an item as a key ID of "A" - "Z" if you so choose.
Player Combat Scripts are if you choose to have this player do auto-combat, you will need to write the script on how they handle in battle since nothing is pre-defined or known to the system.
You have up to 1230 lines available in scripting so this should be enough to define a good world file.
Since everything "floats," that is, there are no set definitions for anything, you get to define everything. All weapons, armor, spells, items, critters, reaction to walking on tiles, entering/leaving maps, etc.
A basic intelligence will be done to determine defined item attributes at the time you purchase them from a merchant so you can see how they affect your status if used or readied/worn on your person.
There will be =8= MAXIMUM players at one time.
While this would be an absurd thing to do (the tediousness of keeping tabs on all 8 of your players), I will probably coerce the system to work with 3 at any one time during game play, yet allow for the definition of 8, and the ability to swap out inactive players with active players.
I'm sorry if you were hoping for definiton wizards like other RPGMakers.
I know that would make it easier.
But I think flexibility is going to be the strongest point of this particular RPGMaker.
While I will have the basic script editor complete by Monday, chances are VERY GOOD that quite a few of the Sprite Messenger Command icons will get shuffled around thoroughly until I have settled down on a set of 147 commands which are the maximum allowed in the system I have defined thus far.
Tiles and default images should maintain the same unless I am met by someone who provides better 16x16 Sprites or Tiles that could be used as a default template.
Couched, Hidden, Invisible, and Inverted tiles will be in effect, just like Scenario2 is currently.
Now, this is a curious concept and I wonder if it would be useful.
Not now but later I COULD remove the LOCK flag direct from each map cel itself and store it solely in the script definition. In this, you could lock any LINE # instead of just a single BIT that signifies that the page has been locked (and also limiting you to only a single line lock - which is not very useful) :)
I am thinking this might be desireable because it is highly unlikely that anyone would want to run the same script more than once from two different locations AND have a different locked position for calling that same script as a different tile that would somehow RESET the prior position unnaturally.
To remove a locked page, you merely reset the index to itself. This could be done simply by starting a new game. I will have to give this more thought ..
I was recently doing a Sprite/Collision test. Running all 64 sprites at once does seem to slow it down considerably. I'll add the "wander" class to maps but mapping will be slower if you have to have 60+ wandering sprites on a map visible at one time.
dw817 - October 13, 2006 02:37 AM (GMT)
Huzzah !
I am coming up for air !
Okay, with a lot of work, I made a library for DragonBASIC that lets me build and use local variables. This is not as easy as it sounds and the actual complete source to this library is over 300 lines long !
- - -
dim LocalPullR
function LocalPull
LocalPullR=LocalVal[LocalVarPage,LocalVarPosN]
inc LocalVarPosN
return LocalPullR
end function
- - -
While it's not perfect, I CAN use variables integer A - Z and strings A$ - Z$ just like local variables. This will help my coding CONSIDERABLY. Now I am met with the task of having to change my entire existing Scenario3 source-code to make use of local variable access so I can manage it easier later in the future, esp. for the Sprite Messenger routine I am working on.
I'm getting there !
dw817 - October 14, 2006 01:53 AM (GMT)
Good Evening:
* Well as it turns out my little Local Variable Library is WAAAY too slow.
I implemented a small amount of it for my mapper and was not favorable.
I MAY not have the Sprite Messenger finished by Monday !
Here's what's working good so far.
| CODE |
Main Menu, (hit SELECT), not all items active yet. Arrow keys, move map cursor. (A) plot/invert tile. (B) select new Tile or ROOF. (Left-Trigger) Bring up fast tile adjust menu. (Right-Trigger) terminate or revive tile status (flag). (Start) Insert Sprite/Critter/Treasure, etc. |
Now Intelligent switches for lamps, doors, treasure chests, pull-handles (inverted), new inside-ability now can have ANY number of tiles OR sprites (with background retained for sprites !) on the INSIDE since I am using separate flag entirely.
Very smart map plotter, if you plot CEILING it is intelligent and draws just where it is supposed to, same in INSIDE mode, and smart tiles for plotting standard. Ceiling is Tile #63 so can be redrawn to your prefs.
Virtual Variable Minder Complete !
Saving off Tile prefs, map positions, etc. Planning mass storage in here for player attributes and ability to define scripts for tiles, maps, critters, sprites, and events.
Instead of a fixed curve in mathematics for attributes to game and players, I am leaving everything open architecture so you can change every single value for every item and definition.
Rewrote mapper from the ground up for maximum speed !
My coding now uses boolean bit shift mathematics instead of integer adjustments.
I.E.: (X SL 1)+1 NAND 255,Y SL 1,(C SL 1)+1+((C SR 4)SL 5)
It's much faster now ! :)
Instead of saving a single BIT to tell if a script is locked or not, I am saving directly as part of the (invisible) source-code flags for the script SO you can have ANY position (I am limiting up to 99 locks per map cel, that should be enough). So you can lock a script on any page, ahhm, line #. You do not have visual pages scripting in here like Scenario2 but lines #s., Final Display is smart and will pause every 3-lines or so, yet you can edit full screen scripts (20-lines down, I may adjust to make room for X/Y coords above).
Switches are 6-characters, 80 maximum to entire world (I did this so you can see and edit all switches in 30x20 screen- let me know if this is not enough switches, remember this must all be within 65536 bytes, currently this takes 560 bytes, tile/sprite/font images take 22528 bytes and 12 maps take 22500 bytes leaving space for world total 1229 16-char. script/var recordable areas). Switches are intelligent. You can have any number and on any number of maps and like Scenario2 they flip the map intelligently based upon tile/ couched/ hidden/ inverted choices for that map cel.
Any treasure (outside of default gain gold) requires a single script line now (of the 1229) since ALL items are defined by 7-char. name.
Preliminary graphic work for tile/font/sprite editor underway. All is saved to 64k SRAM.
Planned items include debugger window so you can be in Testplay and have a display top-right-hand corner that views flag status for variables, switches, and player attributes. I may allow for this display to appear in the map editor too.
What do you think ? B)
To put you through a bit of torture, I thought I'd dig up one of the more popular game-makers today and let you see how debugging is done in it. This is why I write Scenario, to combat complex programs like this.
http://www.gamingw.net/tutorials/907May make you appreciate the simplicity of Scenario2 a bit more. :ph43r:
That's it for today !
Jed - October 14, 2006 02:56 PM (GMT)
Whew, I'll start from the end and work backwards.
Yes, regarding debugging. That is so true. Scenario meets the solutions of manual labour perfectly. That being said, debugging should be accomplished within the code anyway and not be forced upon a worldbuilder. Event error handling and such.
SO, big thumbs up!
I'd like to know just have fast the mapper will be, will everything be smooth? Map scrolling, character walking, etc?
Regarding the switches, if you have a cap of 80, do you mean 80 unique switch names limit? Or, 80 overall including multiple uses of the same switch.
For example, if one map is a maze that has corridors that switch the floor around, and this entire map is controlled by just 5 switches that each affect upto 20 different tiles. Will that be 5 switches of memory space used, or 100?
Can switches be applied to many elements, like the treasure chests, doors, tiles etc.
Something I would have liked to see in Scenario 3 was the ability to overlay and switch around alpha objects, rather than having just one.
I certainly like the idea of a debugger window to view current switch status and such items.
I'd love to carry around a game I've made on GBA, that'd be great.
Okay I'll stop there despite having much more. I'll post again soon.
dw817 - October 14, 2006 09:25 PM (GMT)
Hi Jed:
| QUOTE |
Whew, I'll start from the end and work backwards. Yes, regarding debugging. That is so true. Scenario meets the solutions of manual labour perfectly. That being said, debugging should be accomplished within the code anyway and not be forced upon a worldbuilder. Event error handling and such. SO, big thumbs up!
|
* Thanks. :) Nono, the debugging is custom, that is, you get to specify what it is you want to have displayed (like some key switches of yours so you can see how they are affected by activating sprites during testplay). NO forced information is given on the map during Testplay except the 4 players' info at the bottom (names and hitpoints).
(there will be maximum =4= players, not 3, and I am going to TRY and set it so you can define a new character in a script so NO real template is needed to exchange one of your players for another.
This allows you essentially unlimited character definitions, built directly from a single entry in the Sprite Messenger.
| QUOTE |
I'd like to know just have fast the mapper will be, will everything be smooth? Map scrolling, character walking, etc?
|
* What is slow is the map-setup initially (takes about 2 seconds each time you warp to a new map). Actual scrolling the map and characters that are walking across it, once the map has been intialized, is quite smooth.
Also, you can have tinting after all. I had forgotten that GBA keeps their tiles/sprite colorsets different from each other. So you can have that neat effect where the background slowly fades to black and the Sprites stay the same brightness (like for a summoning).
| QUOTE |
Regarding the switches, if you have a cap of 80, do you mean 80 unique switch names limit? Or, 80 overall including multiple uses of the same switch. For example, if one map is a maze that has corridors that switch the floor around, and this entire map is controlled by just 5 switches that each affect upto 20 different tiles. Will that be 5 switches of memory space used, or 100?
|
* Good question. Actually I've decided on 140 switches. They will be MAXIMUM 3-characters length (Shadow did this nomenclature in his world), and since you must "type" in each switch name with arrow keys, this will make it a bit easier to type them out. Switch editor will be 7 across, 20 down, 3-char. to each, and set flag of ON or OFF.
You can have up to 7500 switches in total that can be any of the 140 switches for the entire world file (one to each map cel if you like) B)
| QUOTE |
Can switches be applied to many elements, like the treasure chests, doors, tiles etc.
|
Switches can be applied but ONLY to map cels. If you want to compare or set custom switches for maps, tile definitions, and other areas that do not use a mapped location, you will need to enter the comparison in the script. All treasure chests, doors, tiles, torches, and pull-handles are auto-set to work with switches and change their image according to the switch being ON or OFF. If you plot the opposite tile (an open-door instead of a closed door), the opposite image (closed door) will be used when the switch is set. Same true with locks and warps. (All tile definitions can have 3-char. switches, including warps. So you can turn on/off warps too).
Like Scenario2, you can plot 2 tiles in a single map cel and have the 2ndary one appear and in definition when a switch is set. Hidden/Inversion/Couching is available as well.
| QUOTE |
Something I would have liked to see in Scenario 3 was the ability to overlay and switch around alpha objects, rather than having just one.
|
* Huum .. Alpha objects will NOT be in Scenario. Remember, all images are custom and I am using 22500 bytes to record a 256x176 16-color pixel area.
If you want to have an "object" that is, something that is bigger than 16x16 pixels.
You can use 4 of the 64 16x16 tiles to build a 32x32 object and tiles ARE inserted on the 2nd layer so you can have the background peek through like a true Alpha Object. In this, you can also apply switches to "Alpha Objects."
| QUOTE |
I certainly like the idea of a debugger window to view current switch status and such items.
|
* As do I. :) However, I will probably not by default show all 140 switches during Testplay. Instead, you will get to build your own "list" of what you want displayed for debugging. So you can easily view switches like "MK" for Met King, and "GGK" Got Gold Key, etc. You can also create custom variables specifically for Testplay, understanding that they are up to 7-char. across with up to 8-char. across value accessed globally via Messenger.
The Right-Trigger button will not only reset/terminate sprite/critters but also flip switches. I am coding it now to additionally invert a tile (if there is no sprite/switch associated with it).
I remember making a game called Orbs of Ankhar years ago for the Apple ][+.
Ultima, a popular RPG in this time period used every single key A-Z to represent a command for their game. I wanted to see how far I could get with just the spacebar for every command so I coded it to.
Enter City/Attack/Talk/Status(Use item) based upon what the player was facing and/or tile upon. "Dragon Warrior Monsters" for Gameboy Color is a good example of turning a single button into a dozen or more commands that vary upon your surroundings and what you are facing.
| QUOTE |
I'd love to carry around a game I've made on GBA, that'd be great.
|
* Yep, will be nice. But remember, if you want to code it in Windows, you would use the Gameboy Emulator like Virtual Gameboy Advance. It is quite unlikely I will make a true GFABasic editor to edit world files to maintain compatibility with the system and to ensure compatibility with all the Window platforms.
However, I have planned to make a program to transfer it to/from your GBA unit with ability to import/export maps, image sets, and scripts.
| QUOTE |
Okay I'll stop there despite having much more. I'll post again soon.
|
* Feel free to ask what you like. :) Questions about Scenario3's fuctions will always improve it's design since I just want to build the best and easiest of what Worldbuilders need for a good RPGMaker.
I am finishing up the raw data message handler. It will be precursor to a true Sprite Messenger but allow you to edit all scripts for everything, including mapping variables. Access it via available menu MESSENGER. One top entry called "/SRAM" contains the word "SCENARIO." I am using it to check first-time entry to GBA. Do not change this or it will reset your world file.
Image editing will be next step after Messenger.
Once I've gotten this far I have planned to enter/exit testplay by hitting (Select) 2x, or (Select) again 2x to return from Testplay back to the map editor. Press it a single time to bring up main menu.
Hope This Helps !
dw817 - October 15, 2006 10:59 PM (GMT)
Scenario 3 (way beta) is complete.
While quite a bit is done, I still need to make the global script editor but you can see the rough start of it by selecting "Messenger."
OK:
(A) plots a tile, or inverts to the last plotted tile beneath cursor.
(B) picks new tile. If you are INSIDE and choose the top-left BLANK tile, you can place or remove inside/outside tiles. If you are OUTSIDE and choose the bottom-right CEILING tile, you can also place or remove inside/outside tiles.
(Start) to create Sprite, Critter, Lock, Transport, Warp.
(Select) to bring up the main menu.
You can change maps here.
Left-Trigger to bring up quick tile adjust and enter INSIDE or OUTSIDE
Right-Trigger to invert tile, flick a switch, or reverse a locked script/critter state.
In most menu selections of choices or tiles/sprites you can tap LEFT-TRIGGER or RIGHT-TRIGGER to select the first or last item.
When the image editor is complete you hit (A) to plot your choice tile, or the last tile selected it plotted on top of.
Left-Trigger and Right-Trigger will pick colors.
That's all for now !
Download Scenario3 from here:
http://geocities.com/scenari3
dw817 - October 22, 2006 09:46 PM (GMT)
Good afternoon:
* The Scenario site has been updated.
I will update the site and Scenario3 engine every week.
You can now download the default .INI for Virtual Gameboy Advance emulator, and the latest version of Scenario3 which features a bit more work in the scripter.
dw817 - October 24, 2006 05:21 AM (GMT)
Good Evening !
(Or Good Morning, depends upon your point of view)
Well, it's midnight here and I've made some nice progress.
The raw script editor is just about complete !
You can now insert/delete characters, use a little keypad for both Sprite Messenger Icons and upper/lowercase text. The search routine is a bit more intelligent.
Use LEFT-Trigger held to act like DEL key
Use RIGHT-Trigger held to act like inserting SPACE (scrolling to right)
Hit (A) Button to activate keypad.
Hit (B) 2x from keypad to add a space.
Hit (B) once to return back to movement
When scrolling up and down, if held, it will go faster.
If you hold (B) while scrolling up or down, it goes very fast indeed.
What is planned ?
Basic TESTPLAY will be done by this next Monday !
(The map may not appear correctly for Testplay until the week after).
Planned also is the ability to cut/paste script from the middle to the end so you can add as many lines as is needed, and, you can see what you last worked on.
The system is still running in immediate mode, that is, while you are entering a script, if for some strange reason you lose power, ALL your work is still already saved. I am modifying the 64k SRAM directly.
It looks like the 1st char. in scripts will tell what type the line is, whether it is a:
Weapon Define
Armor Define
Shield Define
Rune Define
Spell Define
Item Define
Tile Script Define
Map Script Define
World Script Define
Critter Script Define
NPC Script Define
Sprite LocXY Define
etc.
I am going to try and use existing characters but may wind up creating custom original so you can really tell the types apart from each other.
Did you like the mini-menu at the bottom with the small icons ?
Would you like to see that returned and do away with the text menus that are in place now ?
Write to let me know on what you'd like to see in this version of Scenario !
name@yahoo.com
replace name with scenari3 to discourage spammers.
dw817 - October 25, 2006 04:17 PM (GMT)
Good afternoon:
* I was talking with my Dad today about some of the complexities involved in S3 for scripting and how I didn't want there to be anything remotely resembling programming for the Worldbuilder. It has to be a SIMPLE system.
I posed the question, you have a Goblin, the Goblin carries an Axe, I want the Goblin to wield the Axe in combat and do damage to one of the 4-players.
I want to write a script for this using as few Sprite Messenger icons as possible.
He said in the absence of using arguments to call a function or procedure, there would be no way. He said my program is blind.
I asked, blind in what way ?
He said, if you call a routine, it does not know who called it, and will only return values in arguments ..
...
!
...
I understood what he was saying. If I knew WHO or what TYPE was calling it before I actually ran the script, then I could automatically know what arguments to send back the routine !
So, quite simply, you would use:
[Call] (looks like a telephone receiver) Axe
You wouldn't need to specify that it is a weapon since it would scan all the script lines for anything that says Axe, and going by the definition above knows that it is a weapon. Naturally you have no other items called Axe so it calls the weapon.
The "Axe" script could be something simple:
[Damg]~25
Which means, returned damage for (one person implied by default) is NEAR 25 points.
And since there is no TERMINATE at the end of the line, the next line would be checked. If it started a new definition for an object in your world file, then it would terminate there and RETURN right back to the script that called it, so both the Player and Critter could use the Axe.
Phew !
I could've skipped all of this complexity and followed the tried and true method of RMs where the Critter does damage and SAYS it uses an Axe, but this way, you could actually have critters and players both use the same item, including potions, etc.
In this, I will probably designate a few damage symbols like:
physical, magic, absolute
Physical does damage and is encumbered by the target's defense, armor, level, and modifiers.
Magic does damage and is encumbered by the target's magic defense, and quite possibly Armor if it is magic armor, level, and modifiers.
Absolute does absolute damage, skips all armor, level, and modifiers
In this, I am going to need to make a little window to detail out every single Sprite Messenger icon, it's id # and it's name so it can be referred to in this Forum when I need to explain something about it.
. . .
Additionally, I am putting together all the music that you can select to build your world in. A LOT of it will be MIDI music, including the fave "love3" used for map editing, but will be called, "love."
Here is the directory thus far:
- - -
10/25/2006 06:36 AM 72,754 $bestitm.wav
10/25/2006 06:38 AM 31,084 $inn.wav
10/25/2006 06:40 AM 22,124 $item.wav
10/25/2006 06:42 AM 27,406 $victory.wav
10/25/2006 12:19 AM 173,910 ancient.wav
10/25/2006 10:40 AM 2,024 begin.sfk
10/25/2006 06:50 AM 501,228 begin.wav
10/25/2006 06:56 AM 152,310 boss.wav
10/25/2006 07:04 AM 235,240 castle.wav
10/25/2006 07:09 AM 162,120 city.wav
10/25/2006 12:13 AM 262,334 combat.wav
10/25/2006 07:20 AM 76,764 credits.wav
10/25/2006 07:29 AM 121,496 dance.wav
10/25/2006 07:23 AM 84,380 danger.wav
10/25/2006 07:26 AM 18,238 darkness.wav
10/25/2006 07:33 AM 139,042 dception.wav
10/25/2006 07:38 AM 218,748 death.wav
10/25/2006 07:44 AM 114,792 deep.wav
10/25/2006 12:03 AM 343,202 love.wav
- - -
begin.wav is kinna big so I may replace it with another.
dw817 - October 28, 2006 04:40 AM (GMT)
Good Evening:
* OKay, lots of progress here.
Once the map editor is up, hit (SELECT) and choose MESSENGER.
Your Raw Script editor uses a little upward facing triangle just beneath the character it is getting to modify.
If it is GREEN, then you can enter in a line definition icon
If it is BLUE, then you can enter normal text or the variable name.
If it is RED, then you are expected to enter the value for this variable name.
The 1st character is a special symbol in a colored rectangle denoting the data type. There are 16 types:
01..System Variable (up to 1220 total)
Icon is a little PC computer, white background
02..Game Variable (up to 1220 total)
Icon is a chalice, white background
03..Custom Variable (up to 1220 total)
Icon is a small "+", light-grey background
04..World Script (1 total)
Icon is a planet, aqua background
05..Death Script (1 total)
Icon is a skull, red background
06..Map Script (12 total)
Icon is a map, aqua background
07..Tile Script (64 total)
Icon is a tile, aqua background
08..Critter Script (16 total)
Icon is a critter, green background
09..Sprite Script (16 total)
Icon is a butterfly, violet background
10..MapXY Script (up to 7500 total)
Icon is a target, yellow background
11..Item Script (20 total)
Icon is a potion, orange background
12..Weapon Script (12 total)
Icon is a sword, orange background
13..Armor Script (12 total)
Icon is armor, orange background
14..Shield Script (12 total)
Icon is a shield, orange background
15..Rune Script (8 total)
Icon is a ring, orange background
16..Spell Script (12 total)
Icon is a starburst, orange background
Once you hit (A) then a 5x5 button-pad will pop up in the top-right-hand corner. Use the arrow keys and (A) to select a keystroke from there. Also use Left-TRIGGER and Right-TRIGGER to change character sets.
There are 9 character sets altogether.
1=Misc punctuation
2=Uppercase letters (and default set upon hitting (A))
3=0-9 digits & misc
4=Lowercase letters
+ 5=Sprite Messenger Icons for Player control
+ 6=Sprite Messenger Icons for game definition
+ 7=Sprite Messenger Icons for special FX
+ 8=Sprite Messenger Icons for Warp and extra definitions
9=User-defined Sprite Messenger Icons
Currently there are 100 Sprite Messenger Icons for commands denoted above with "+"
This list will get shuffled around a bit before finalizing position.
To exit the raw script editor and return to map editing, hit (Start)
Entries are ALWAYS completely recorded even if you power down with an incomplete entry or fail to return to map editing.
All world data is still within 65536 bytes limit.
Engine will be posted Monday or before.
That's all for now !
dw817 - October 28, 2006 05:02 PM (GMT)
Good Afternoon:
* OKAY !
I have written a little library in Scenario3 now to read data that can be appended to the end of the scen3.gba file without requiring recompilation of "scen3.gba."
What does this mean ?
Well, quite simply, you can now append anything like data/audio/images up to 8megs (if you use my old Flashcard) or well beyond 32megs with modern flashcards.
How useful is this ?
One thing I DEFINITELY see is that since each world is 64k in size, it is entirely possible for the future to allow you to attach multiple world files on to your .GBA.
While you are still limited to 64k (if you use my small flashcard), you can copy the contents of a choice selection of 64k chunk ROM worlds attached at the end.
Since each world file is 64k you could easily attach 16 world files you can copy and work with increasing your .GBA final size only by one meg !
I anticipate using something like this in the future and MAY remove the ability to edit images on the unit itself (if there is a great call for it) and go to 16-bit graphics entirely, requiring you to import/export modules of graphics and audio from a separate windows program I can write.
If I do this, it will give me QUITE a bit of space back for data and keeping track of the status of 2 or more worlds should be easy to do.
This is waaay down the line though !
For the moment, I'll work towards allowing you to import a custom 24-bit bitmap LOGO on your .GBA file that appears when you call it in the script.
What may happen to the overall edit ability of future Scenario3 ?
I will quite likely keep the editor on the GBA file itself, but MAY make a program in GFABasic to let you build world files, saved as a single .GBA file, that is the PLAYER ONLY, complete with your LOGO.
That's all for now !
dw817 - October 30, 2006 01:34 PM (GMT)
Good Morning:
* If you downloaded the latest Scenario3 engine, you may be confused and perhaps somewhat frustrated at how complex it has gotten in such a short amount of time.
I am working on the "Wizard" ability, that is, you just plug in some values, I.E. an item definition:
NAME="CURE1"
DESC=2-line 15-char. description
WHO=Self&Party/Opponents
WHAT=Affect HP/LEV/EXP/STR/DEF/WIS/LUCK/STATUS
HOWLONG=Permanent/Temporary/OnlyInCombat
WHERE=Use anywhere/only in combat/only out of combat
TARGETS=One/Random/All
COST=How many magic points or goldpieces needed
GFX=graphic effect
SFX=sound effect
CHARGE=Infinite, random amount, fixed amount
While I MAY keep some semblance of a Sprite Messenger, on the real GBA it's pretty difficult to see what you are coding when the font is 8x8.
ALSO, I am tossing this up in the air, would you like to have 16x16 text ?
I have already converted over a legible font to the 16x16 tiles to experiment with.
[enclosed]
I can also increase Sprites to 32 and Critters to 32 if you take out the ability for animation to show facing in 4 different directions for all sprites. Sprite animation will still be active, that is, the Sprites will shuffle their feet and arms but when they move left, right, or up, they continue to face down, and (at this point) I think it won't be possible to change the graphics of the font on the GBA unit (if I change to the 16x16 font and increase Sprites and Critters as detailed above). I am also thinking seriously about have a scrolling map like NES Legend Of Zelda where you walk out of one room it scrolls off the screen and you are scrolled to the next screen in the direction you traveled. If I do this, I can get a LOT more map space than just 25x25 since I wouldn't need to maintain what is NOT seen off the edge of the screen which is required in scrolling the map.
Please let me know what you'd like !
I'm in the planning and development state and what to do what is best for you Worldbuilders in keeping the system neat, simple, and legible. :)
dw817 - November 1, 2006 12:13 AM (GMT)
Good Evening !
OK, I talked things over with Tetteh (a friend of mine) regarding the mystery of the size of the text.
He said, if it was JUST going to be for the portable GBA and you couldn't see it in Windows or any other operating system, that the 16x16 pixel font would be fine.
However, since my program will be used MORE in a GBA emulator, I should keep the 8x8 font.
OKAY, so there might be a compromise.
Regular 8x8 text font as it is now, and ability to edit the images for all the characters. And the 16x16 text for Title Screens.
Acch ! I have FINALLY figured out the infernal Sprite routine for DB.
If you didn't know, I cheated and drew the Sprites on Playfield #2 (they are 0-3), not as real Sprites but as Tiles. Okay, so here is what I am thinking. I need to turn OFF all the game sprites when you have a menu or text display because the sprites sit right on top of EVERYTHING.
It looks like there will be no more than 62 visual sprites on each map.
This is because I am pushing the hardware and not re-using a Sprite between frames to have it be somewhere else even though it was displayed where it was originally.
This does NOT mean that you can only have 62 Sprite Messages, you can go as long and deep as you like with that to each map. :)
I am working out some Wizard-routines to assist in building both players and tile definitions. I think the "raw-script" editor will only be used by die-hard Worldbuilders who have to control at the system level.
Right, now I'm left with a bit of a puzzle. I have allocated graphic and memory space for Playfield #2 to scroll with Playfield #3 (main tiles). Playfield #2 is now no-longer being used. I can get back quite a bit of RAM (not SRAM) by making it not a map that you can plot to, but just a simple screen 256x256, not 512x512 which is what it is now. Perhaps I should use it for scrolling text onto the screen. Will give it some thought, or you let me know what you'd like.
dw817 - November 1, 2006 04:09 AM (GMT)
OKAY !
After a lot of thinking I got the sprites to animate, shuffling their feet in place. They are not facing different directions yet, but WANDER class is next !
In order for Sprites to wander though, they must adhere to the rules placed by the tiles, so that's the next step, and FINALLY put in basic testplay.
While it's interesting to write the Sprite Messenger for Scenario2, I think I'm going to make a Wizard for everything so it's not so complex, like:
Define Tile: WATER
(show all 64 tiles and you mark tiles where you can go to ENTER water)
(show all 64 tiles and you mark tiles where you can LEAVE water to enter that tile)
Special abilities:
[ ] Does damage to player when crossed, how much
[ ] Slides down U/D/L/R (like for a cliff or icy patch)
[ ] Treat as bridge
[ ] Forest or Bed, lose your legs from Sprite view
4-way direction, which ways can you leave this tile
(like for a ladder, only up and down)
[auto-warp], warp in a direction, or it's specifically a Warp Catch
I may be able to make something simpler than this, but this is what is planned for Tile definition for now.
Also, if you cannot see the changes I have been making in the map in these new releases, simply delete your scen3.sav file. It will reset to my current work.
I have doodled in map 1 & 2.
dw817 - November 1, 2006 06:32 AM (GMT)
OKAY, it' a bit past midnight, and I've been thoroughly looking over RMXP along with a world file someone made in it. It's not complete, but I do see my work cut out for me. I see the author wrote a very complex script using a programming language not too dissimilar to C++.
Instead of using the Sprite Messenger, how about if I made a little cinema-maker ?
I had an idea like this about 15+ years ago where you get to place & position all the sprites, write in text for the story, and move them around with a cursor.
This will be FAR easier to do than in the Sprite Messenger where you tap in Icon Commands like Shadow and Arrow without having a chance to see what you are doing.
This would also facilitate the ease of having multiple sprites enter from off-screen (like a classic, "Guards ! Take this traitor away !"). :)
Huum, so when you build a Sprite, you are immediately entered into cinema-mode, with the ability of asking questions and changing items like gold and inventory.
So, it could be like a little movie. You use LEFT and RIGHT arrow keys to move from one frame to another (where a Sprite/NPC/Player moves a full 16-pixels per arrow keystroke) and per frame, you get to tell EVERY Sprite where to go and what to do as well as terminate them and create new ones off-screen or appearing out of nowhere. To my knowledge, this has never been done in a RM, and I did want to build something like this 15+ years ago but didn't have either the coding knowledge or know-how to do it.
I think now I do and that will give GBA-RM the edge on ease of building busy RMs with complex storylines. :)
In this, I may use a different kind of SRAM arrangement where it is all packed and compressed upon request HOWEVER during building, if you lost power, you could lose your script or map if it wasn't already saved. I'll have to give this some thought on how to keep it like it is now where your work is saved anywhere you are.
dw817 - November 3, 2006 02:06 AM (GMT)
Good evening:
* Well, after quite a bit of reading up on the inexplicably lack of documentation for DB, I have found how to order tiles in the Z position. Quite simply, earlier, Sprites appeared above EVERYTHING, even text and that was a problem. I wrote a nasty slow routine to remove all Sprites prior to opening a menu and it really slugged down the system.
Now I can specify the Z order I need both Sprites & Tiles to appear.
In this (one thing I have planned) is the ability to scroll text on to the screen, while sprites are animating, and map scrolling.
I will probably restructure most of the font so that it is not SOLID but has a clear outline. There is one sprite in the 16 that I may replace with another as it is using the BLACK not as an outline, but as her hair color, and I'm making taboo that transparent color except for font & sprites, where they are auto-generated by the system. I - am still interested in doing only uppercase letters. I know a lot of you want uppercase and lowercase but on a real GBA it's hard to read those little lowercase letters. If I can lose the lowercase I can add letters A-Z in the 16x16 font size so you have both size of uppercase to choose from.
Email to let me know what you think !
dw817 - November 5, 2006 05:15 AM (GMT)
Good evening:
* Okay, quite a bit has been done now.
I am unable to get the speed I want for the smart menus so if you backtrack a step from the menu, you will need to return back to the main menu (one keystroke).
Since I am using real hardware sprites now, there is no easy way to insert a symbol atop of them to show what their status is, so I am changing their color.
Normal = Active or Revived
Greyed out (stone) = Sprite Terminated or Critter Defeated
Since color changes are possible with sprites I may well set it so you can choose from 3-4 color sets where orange stays the same but 2xblue changes to 2xgreen, 2xgreen to 2xred, and 2xred to 2xblue, etc.
I will probably make some new color changes as well, like aqua for Sprite is reset and has not been run yet.
Violet for does not move, etc.
12:02am
--------
You now have large digits 0-9 and large uppercase letters A-Z.
Kept both uppercase and lowercase for smaller font.
That's it for tonite, new posted engine before Monday and bulletin explaining changes.
dw817 - November 5, 2006 08:32 PM (GMT)
OK, a few changes.
I've removed the boat and made it a tile. The boat would not be used very often so just to have it appear would be enough to create a warp to points with it.
Added another sprite in it's place, removed large 16x16 font completely in favor of more Sprite Messenger icons in the works.
Put back in solid BLACK background for font.
It was very tricky to plot a background behind it to cover up graphics back there.
You will still have ability to scroll text on to the screen, but you might want to keep the screen dark since the 8x8 font is no longer hollow.
Sped up Inside/Outside routine, smarter menus don't get so confused as to where you are now.
Sprites still face 4-directions with 2-step animation and still on for 4-players (8 total).
I'm also making a mini-menu maker so I don't have to put in tedious coordinates for input to your world file.
Think that's about it for now.
10:21PM
Still working on it !
Post date will be tomorrow.
dw817 - November 7, 2006 05:25 AM (GMT)
Good evening:
* As you know I =WILL= be working on Scenario3 for GBA, however, I may backtrack a little once I learn some useful info.
And this is indeed useful.
I rewrote the sprite driver so now it no longer takes =2= sprites to animate a single 16x16 image but =1= sprite ! I can animate 128 sprites on the screen now.
I'll PROBABLY open up sparkle-effects for top 64-127 sprites.
The world file is now compressed, that is, if you use PogoSHELL, if you make a world with one room, it's as little as 1k !
You now have the ability to edit/import/export ALL 250+ 16x16 images !
The 8x8 font is gone and in it's place is new 16x16 font.
Everything is flagged for what gets changed.
If you use default, it's not saved to your world file.
So if you created a new definition for "Potion" but left "Wooden Sword" alone then your world file would only save the new data for "Potion."
Your world file is saved very much binary now with ALL elements fitting just to size, so no more variables fixed at 8-characters or results fixed at 8, instead variables are now saved according to the size of the names and contents you chose, "MetKing=Y" takes 10 bytes in your world file instead of 16.
To accomplish this, you are no longer writing directly to SRAM.
This means you MUST save your changes occasionally. I'll probably make a rapid-SRAM saver that records your world file for major changes like inserting scripts, etc.
If you change only one graphic tile of the 250+ to something you want (and it doesn't have to be just a sprite/critter/ but any image you want), then the storage for it is exactly 130 bytes. 128 for the pixel data, 1 for definition, and 1 for which tile this changes. So if you changed ALL the tiles, critters, and sprites, that would be 18720 bytes required from your (suggested) 64k.
25x25 MAPS are GONE. In place are 15x9 non-scrolling Rooms. You have 81 rooms all connecting in a 9x9 field. If you walk off the edge of one room, it scrolls to the next, much like Legend Of Zelda for the NES. In this, you can now define random encounters and create complex stories easily by changing room, tint, and sprite/tile locations.
You can also define custom exits so it is very possible to create a labyrinth using only scripting and one room !
SRAM extends beyond 64k.
I'm not checking the size of it now so you can probably get a little busy with it all the way past 256k if you use a ton of custom images and scripts. Remember, your work is not saved to SRAM until you tell it to, so ultimately, you have megs of space available for your world file now.
However, if your world file is small, then the SRAM file that is saved is small indeed.
Here's the list of new definitions for SRAM storage I have set:
00=Free space, end data (close & compress here)
01=Change Tile Image (16x16 pixels)
02=Variable & "=" & contents
03=Define Player (8 total)
04=Define Weapon (flagged for 90)
05=Define Armor (flagged for 90)
06=Define Shield (flagged for 90)
07=Define Ring (flagged for 90)
08=Define Spell (flagged for 90)
09=Define Item (flagged for 990)
10=Define Tile (64 total)
11=Define Sprite (16 total)
12=Define Critter (16 total)
13=Define Room Script (81 total)
14=Define World Script (1 total)
15=Define DuringCombat (1 total)
All 8 players are still in effect.
All 16 sprites still face 4-directions, 2-step animation.
Everything is still scriptable but will have Wizard to set defaults like cost of item, strength of weapon, etc.
You can now effect color changes for Sprites/Critters (and I believe tiles if I am reading the documentation on DB correctly).
In this, you can have someone wearing a green suit, and changing the # from 0 to 1, you change all GREEN to BLUE so their orange face is unchanged but their suit goes from Green to Blue. Same color changes can be done with critters.
Since all images (including system images) can be imported and exported, it is quite likely that the # of sprites & critters will float in future release. That is, you can have WELL over 16 Sprites at the cost of cutting into tiles, or more tiles cutting into critters, etc.
It is also quite possible I will have a Wizard to select pre-made rooms even for those Worldbuilders too lazy to doodle their own.
Spells are not done by WhoCanLearn at level but WhoCanUse and the level of the spell is included in it's own definition (no longer required by player data).
That's all from here.
New engine (I hope !) will be posted next week !
There's a lot of changes, especially to the maps, so old SRAM will undoubtedly be 100% incompatible.
Sorry 'bout that, but I'm getting there ! :D
dw817 - November 9, 2006 12:55 AM (GMT)
* Time for an update, and some information, none too good.
I am checking with other programmers of DB, the programming language I am writing

in, and unless I am very mistaken, DB can ONLY access 65536 bytes SRAM. (Static Ram, your world file).
The only way I can expand this is if you build a world file in Windows and append it as a ROM data file to the end of the Scenario3 engine. I'm not ready for this yet, so I must contend with the 64k limit for now.
While this makes my work considerably easier it makes my heart heavier ..
I was really hoping to see worlds made 1-2megs in size and even bigger, but DB cannot access outside 64k. I am going to have to restructure again, but there are a few constants.
I am keeping the "rooms" design where you have 135 rooms each sized 15x9. There will be random encounters you can define for each room, and other items like setting new exits when you walk out of the room to the next one.
I am losing the lowercase letters. It would be quite a task to switch between uppercase and lowercase letters if you must enter every letter via the GBA gamepad.
There will be 4 players active, still all animating and facing 4-directions.
Scripting may be considerably simpler for the fact that I don't have enough SRAM to store really complex scripts now.
I feel - really let down here, ...
So there might be a project beyond this one that uses the original premise of GFABasic as the brains and Basic4GL as the graphic engine. If I do this, I will PROBABLY ALSO not have scrolling maps but allow you to draw every single room if you so desire pixel by pixel in any paint program. Thus you can make rooms like Final Fantasy 7, Saga Frontier, and Legend Of Mana which were hand-drawn by someone else. Let me go to finish up the current project first.
UPDATE 7:18pm
It seems I can have both 8x8 font uppercase and 16x16 font uppercase.
Very nice ! I will go to implement this in new version.
UPDATE: 9:36pm
Phew ! Time is getting away for this day !
OK, quite a bit done.
Since water animates and I can place it behind objects now, you have ledge, seaweed, whirlpool, and boat which animate the water around them as well as regular water, they are at the start of the tiles.
Removed the "inside" tile to replace with jail door.
Gave warrior girl outline in hair.
removed the caveguy, replace with girl sprite with bow in hair.
removed lowercase, only uppercase letters now.
You can now have 25 custom 8x8 pixel icons as part of name or text.
You can change ALL images of:
64 Tiles, 16 Sprites, and icons of Expr, Gold, Hearts, Magic, Str, Def, Wis, Luck, Fire, Ice, Bolt, Mystic, Poison, Snow, Rain, Murky, put back in custom frame, small text cursor and custom 16x16 pixel game cursor. That's it ! Images to follow below are system use only.
Sprite messenger was culled thoroughly, only following icons are used in "director" mode.
Forward, Backward, Face, Turn Left, Turn Right, Rotate Left, Rotate Right, Up, Down, Left, Right, Jump, Tremble, Waver, Beeline.
It was a REALLY tight fit, but I got 16x16 font in with "!" "?" and "." additional only.
And there are 5 system 16x16 cursors with room for one more. Total 1020 char ! Saved for use.
I'll work out the maps tomorrow.
Think that's about it !
It must be lunchtime or something so I'm taking a break.
dw817 - November 13, 2006 04:54 PM (GMT)
Good Morning !
* I was making this way too complex for the SRAM.
I think this method will be the best.
When new data is being added to SRAM:
1. A scan is made through existing SRAM data all the way to the end for the same named object. When found, it is flagged for deletion.
2. Once SRAM is scanned, the new data is appended on the end. If there is insufficient room, an auto-compress of SRAM is called first, THEN it's stored. Maximum compression in both cases.
Done !
Now, this does mean that ANYTHING you add will use up SRAM, even if it's the same length or LESS than what is existing in SRAM, however, all is compressed very neatly when you call Compress SRAM, so you might need to do this for every few new maps made.
Rooms increase to 256 !!
How is this possible ?
Rooms decrease to 64.
You don't get it ? :P
I have known for some time now that in RPGs, when you enter someone's home, it is almost exactly like the last one you entered, maybe with a new Sprite waiting to talk to you, but no other difference.
Therefore, instead of writing out 256 custom rooms, just write out 64. THEN when you are building your maps, you can specify which of the 64 rooms you've built actually house the contents for that map cel, or go to make a new one right then.
The advantage ? One room only takes !one byte! not counting any additional information, like sprites or switch data.
This leaves a lot more room for building scripts and other game definitions. And you can make a nice city block with 8 houses, put different sprites and stories in each of them, and take only 1 byte to each house.
I may set it up also so you can change blocks, that is, use different tiles replacing other tiles so although it's the same room in one of the 256 rooms, some tiles might be different, like walls and floor.
Also, I don't think I'm going to allow you to change the 16 colors.
You can change the brightness (so orange is more flesh-color), but not the overall color itself. There would be too many incompatible images doodled by others that wouldn't be compatible with others' if they were imported as Add-Ons to a library.
That's all from here !
I definitely have my work cut out for me so I'm getting back to it !
B)
dw817 - November 15, 2006 03:11 AM (GMT)
Good Evening:
* Well, I am more than disgusted at the lack of RAM space I have for Scenario3.
Not only am I limited to 64k SRAM for the world file, I am also limited to 256k RAM (which I thought I allocated correctly) and failed to consider the overhead of the system itself using the RAM (about 64k), so I really only have 192k RAM.
A compact language indeed.
SIGH ..
I think this system is going to be very much like Cylur's.
Restructure.
To keep RAM space small, I am going to have to use fixed values for world definitions. Thus far, it appears (in order to satisfy RAM limitations) that you are limited to 16-lines per script per item that is not normally scriptable in most RMs, (like items/weapons/tiles, etc.)
I'll let you know more when I know more myself.
I think what I need to do is focus on the system itself and not expect miracles with the scripting system. As long as a story can be written and told in the system with animation, it should be an acceptable RM.
I'll work on it tonite.
update: 10:22pm
* Phew !
I'm feeling a lot more confident now.

Since I am dealing with rooms now (and not maps) I can specify quite a bit !
Now that I've freed up the RAM for calculating positions of everything, we have some fixed and easy-to-access locations:
These aren't cast in iron yet, but represent a solid foundation and a far simpler premise that uses considerably less memory:
Images = 22528 bytes
49 maps x 566 27734 bytes
128 items x 16 4096 bytes
16 critters x 32 1024 bytes
64 tiles x 32 2048 bytes
16 sprites x 32 512 bytes
10 player defs x 32 320 bytes
128 inventory x 2 256 bytes
140 switches x 4 560 bytes
The maps are big because they not only hold map data (3-bytes per cel) but also new script data as follows. This is an idea I had for a RM many years ago when I thought RAM would be terribly limited (QBasic 4.5). It's far simpler than the Sprite Messenger. Numbers in parentheses are bytes taken for definition.
Room definitions
+ Contents (405) from 15x9x3
+ specify exits (4)
+ define random encounters (4)
+ BG Music (1)
+ Tint (1)
+ Rain/Snow/Fog (1)
+ Torchlit (1)
+ Script/Message 150
Script definitions
~~~~~~~~~~~~~~~~~~
specify music (1)
specify tint (1)
Choose from (144) (16-char x 3 lines x 3 pages)
+ Scroller 123
+ Storyteller 123
+ Text 123
+ Text Random 123
+ TextQuesYN 123
+ SwapItem 123
+ Merchant 1, sell items 2, goodbye 3
+ Inn 1, decide not to stay, spent night 3
+ combat 1, lost battle 2, won battle 3
option to warp to room after each message seen (3)
So when you run a script, you get option for new music, tint screen,
3-lines of text 3-pages deep (16-char. per line).
+ Scroller is quite simply, scroll all 9 lines of text up on the screen.
+ Storyteller relies on calling separate rooms (to tell a story) and returns back.
+ Text is straight out 1-2-3 page.
+ Random shows random 1-3 of text page.
+ TextQuesYN shows text1 and asks question, yes gives text2, no gives text3
+ SwapItem shows text1, looks to see if player has swap item, if so, give text 2 (and swap item), otherwise text3
+ Merchant gives text1, items sold are text2, goodbye please come again are text3
+ Inn gives text1, if you say NO gives text2, if spent night, give text3
+ Combat is text1, then special combat, if win, give text2, otherwise text3
more later to follow ...
You can also warp after every page of text and specify a locked page to each as well.
What does this mean ?
I have added a new icon (16x16) that looks suspiciously like a gear from a clock.
If you choose this as your Sprite image, then this sprite is invisible and run IMMEDIATELY upon entering the room in Testplay. You MUST enter the room and it only runs once until you leave the room and re-enter, unlike RMXP or any of the other Enterbrain/ASCII/AgeTec RMs which for some reason insist on repeating forever locking the game (literally requiring you to exit testplay if you forget to choose a flag from 0-255 to cancel it first pass).
Back to my 3-line method, In this, you can have storyteller give 3-lines of text (page1), then warp to a different room, new music, color tint, etc. give 9-lines of BIG text from THAT room, then you can warp to ANOTHER room, etc. You can tell a huge story this way, and you are still only using a single byte for the entire script type. :)
This then will be the new premise, this GREATLY simplifies things too (and for you !)
I'm confident this will be a good approach, and still leaves open easily the storyteller method.
There will be sprite wandering, but if there is to be complex scripted animation of sprites (direct control), it might be done inside the text itself as true Sprite Messenger icons).
Will see what kind of memory I have after all the above is implemented.
dw817 - November 16, 2006 03:39 AM (GMT)
Good Evening !
* Phew, it's nearly 9:30pm and what do I have to show for my effort ?
It won't look right in this font so it's included as an image.

Switches are going to be nice !
Looks like I can store not just ON/OFF status but a byte of data (where 255 is ON, 0 (zero) is OFF, and anything in-between is a readable value).
Definitions will be in play over scripting so while you still get to define all the 64 tiles, it will be for travel ability, damage/heal player, etc.
4-bytes are going to be used per map-cel thus:
0..Tile #1
1..Tile #2/Sprite/Critter
2..Program, what does this tile do, sprite message, warp, lock, treasure, etc.
3..Switch # (0 is NONE, anything higher is a switch)
So in this case, you truly can hide/couch/invert not only sprites but sprites with switches. That should make for some interesting worlds built.
The logo screen is just that, a 30x20 field with ability of adding any sprites, tiles, or large font to your screen.
Menu checksum is how those menus are so darned smart. :)
I probably don't need 64-bytes per player definition, but that should be more than sufficient to define the primary 8 players, and I'll use the 1st player (#0) as storage for the main map editor's prefs.
Why are critters 64 deep if there are only 16 images for them ?
You now have the ability to tint ANY sprites, including player sprites (and I have made palettes that swap everything except orange - for use for hands/head/feet, etc). Since you have true random encounters now, it's a simple matter to delegate a new colorset for a critter. And yes, you can have more than one sprite on the screen even if they are the same image and share different colors.
Since there are 64 unique critter definitions, you can use the same image, with a different tint, change the name of the critter, and it's ability in combat, + gold/exp !
You do indeed have 128 item and 128 spell definitions !
You tell what the item is, who can cast/cannot cast this spell, etc.
Also, unlike other RPGs, you don't run out of baggage space getting items.
Natch you are limited to 99 of any item, but you don't have to toss one item in favor of a different one. 128 slots in your inventory ensure you can carry everything.
Both room and message definitions will have quite a few choices, including tinting screen, changing music, and/or warping to a location upon reaching the end of any of the 1/2/3 text pages.
Well, to know more, study the worksheet snapshot above.
There are really over 2300 lines of footnotes I made for myself in notepad but the top info is the best for you to know for now.

That's all for now !
I =SHOULD= be able to post the NEW engine this Monday.
dw817 - November 17, 2006 09:05 PM (GMT)
Good Afternoon:
* I am starting to have some real difficulties with the accursed string-handling for coding

.
I had forgotten how untuitive the "busy" meter was when it said
JUST A MOMENT ...I am setting it now so there is a screen update when it is ready to update it's progress. This will be needed for other items that take time in the system, like clearing a map to zero for instance.
I am using a make-shift checksum in the world file now too, which, although complex, should allow you to save very little SRAM on your flashcard, no more than 3k or so, so you have room for other games on your flashcard.
It's cutting a little into the system (50 spells instead of 128 & 100 items instead of 128), but it will help in compressing world files for the future.
It's also running a little slow.
I may remove it. (SIGH) always something.
I am working on it.
Hopefully I will have a post Monday, but it's Friday and so far a lot of coding is still up in the air.
I'll let you know. :)
dw817 - November 18, 2006 04:09 AM (GMT)
Good Evening !
I have found the best of both worlds.
One of the problems I had in saving the world file to SRAM is the image data.
You must save 22528 bytes of images in your SRAM. This automatically makes your world file 23k with no work done to it yet !
So I am thinking, how about this, save a zero if it matches default SRAM stored internally in the GBA file.
Consider, I am trying to save a 0 (zero) when the data in the SRAM matches what is in the system default "Original_SRAM." By doing this, if you don't change any images, then they are saved as zero. The complexity is, there might be an occasion when the data you want REALLY is zero, and that is NOT what the Original SRAM has, so you need to store a zero but don't want it to retrieve the "Original_SRAM"'s value.
How to do it ? <_<
Well, first off reading one byte at a time in SRAM is painfully slow, so I am reading two at a time via LOADWORD.
OK, so we are reading 2x as fast, but we still have the problem with wanting to store a zero where it can be one of two zeroes. One, that it is a true zero we are storing, or Two, that it is a flag to read the "Original_SRAM's" value.
The answer, use a lookup table. Now this lookup table is VERY small. That is, since SRAM is 64k, I only need to save a BIT of data for every byte I am comparing. Well, since I am not comparing a byte at a time but a WORD (2-bytes) then it will be 1/16th of the entire SRAM.
Let's see .. 65536 divided by 8 = 8192. Divide that by 2 = 4096.
So we need about 4k to store information regarding whether or not the zero is one or two states. But isn't this a waste of bytes ?
Let's see, the data remaining is 61440 bytes using the 4096 bytes lookup.
But the lookup should not include itself, so there is an unaccounted 256 bytes since it's not supposed to verify itself.
In truth, to get the actual intelligent value for maximum usage of 64k, you would take 65536 and divide it by 9 to get 7282 bytes and then multiply it by 8 to get 58254 bytes. If you add 58255 and 7282 you get 65536 bytes even. But that's a terrible way to do it because of the uneven values, even if the final check data would be 3641 bytes, 455 bytes savings from 4096.
Huum ..
I don't need to record my smart-menu of 256 bytes in this Original_SRAM thingie look-up which is 256 so I would have to subtract that from the total.
Well now wait a minuette !
65536 / 16 = 4096, ok !
4096 / 16 = 256 !
perfect !
So I can use the first 256 bytes as my smart menu lookup, and if you take byte # 4096 and divide that by 16 you get 256 ! 1-byte plus my 0-255 lookup so it doesn't get touched, AND we can store the 0-wanna-be's from bytes 256-4095 !
The rest of the world data gets stored starting at byte #4096 !
OKAY this will get it !

The speed is good, I've got a little progress meter as it reads in all of the sprite information, and we have sprites and tablets.
What's going on here ? :)
There isn't enough space to store sprite information for all 49 rooms since a single room with tile information only would be 540 bytes for 4-byte info or 675 bytes !
Multiply that monster by 49 and you get 26460 bytes or worse, 33075 bytes !
That's too much space to record !
So Sprites are added and record both map and X/Y location.
There's NO room to stuff a Sprite Message in each and every Sprite either because of space limitations, and we might want to repeat some text, so now ENTER
TABLETS
What is a Tablet ?
It is a page with 9-lines of text on it, 16-characters across.
Remember the technique I mentioned earlier of being able to flag with your 9-lines of text, where it is 3-lines per page, and 3-pages total so you could have:
QuesYN, Text#1, Ask YNQuestion, Text#2 if Yes, Text#3 if No, etc.
I am really pushing this thing against the wall though and, as you can see, maximum you can have is 72 tablets, or 648 lines of text.
A Sprite can only use one tablet at a time, so you have an option of calling either a different map/location or nearby Sprite to carry on the script using it's tablet.
It will really be easy to understand once it's all written.
To build a sprite, you press (Start),
choose an image
then choose it's wander-class
if no wander, then choose direction it faces (if a Sprite) by default
then tell how it responds, automatically, when you touch it, you are nearby (specify distance), it sees you, or you use an item
Then specify the script type, like QuesYN, Merchant, etc.
then enter in your 9-lines of text for it OR use existing 9-line text data from another tablet. Remember, you only have room for 72 tablets in the world so you might want to re-use some of them. This being done so you can build 3 sprites that while they are in different positions and locations can all share the same Message Tablet and take only 186 bytes instead of 474 bytes.
That's it for here !
It's 10:00pm so I'm taking a break !
dw817 - November 20, 2006 02:19 AM (GMT)
Good Evening !
* Very good news indeed !
AXEL and DDLullu from the United Kingdom send greetings and regards to DragonBASIC (the language I am programming

in), and sends me a .MOD player for DB, which DDLullu took from existing code from Neimod from another programming language.

The good news is, S3 (provided I understand the coding !) will be able to play .MOD music ! This is excellent, since .WAVs are nearly 500k for only 30-seconds of music, and some .MODs are 100k or less and play 5-6 minutes !
I will be searching high and low for .MOD music.
If you have some .MOD music you would like to see in the system and it is REALLY good for S3 (and super small in size), feel free to Email me a copy and it just might get entered in as one of the permanent RPG music ! I'm looking for no less than 32 songs altogether. Riffs will especially be needed so you might have to use Screamtracker or another .MOD editor to build these.
Riffs for:
"Players spends the night at an inn"
"Gained a level from experience points"
"A companion has joined the party"
"A companion has left the party"
"Found a good item"
"Found a key item"
That's all from here !
Current SRAM recording is VERY small and compact !
The S3 engine, as is, will be posted before Monday evening.
Update --> 8:46pm
* I was - successful.
I have two .MOD music that are playing in S3 now !
The difficulty is, it seems to have EATEN sound ability, that is, I cannot play .WAV while .MOD is playing. I will experiment further for a few more hours, then take a break.
dw817 - November 21, 2006 12:54 AM (GMT)
Good Evening:
* It has been - a very tiring day. Spent all day reformatting and repairing someone's computer 6+ hours which died the moment I put a firewall in it for internet safety for her. Not a happy time. :angry:
You can find the latest engine and bulletin here:
http://geocities.com/scenari3/bulletin.htm
dw817 - November 21, 2006 03:25 PM (GMT)
Good Morning:
* Getting ready to hand out turkeys at the church food bank (serious).
Someone from my apt complex needed one so I gave them mine.
Can't stand that dead dry bird anyway. It's ham for me. :)
. . .
OKAY !
Very nice progress in S3 this morning !
Axel wrote me back regarding doing system interrupts and now S3 has one.
What does this mean ?
Well, the 3rd layer which always animates now is the same speed no matter what is happening. This frees up my kludgey timer routines I wrote and the speed of the system is now doubled (you can see this in very rapid cursor movements - posted next Monday eventide).
Also, I can now pull out ALL the stops (the timing periods) when the system is busy decompressing data (the loading sprites) so that's quite a bit faster now. This is how S2 works already.
If I hadn't mentioned this earlier, S3 is having fixed locations for everything in that little 64k area. What does this mean ?
Quite simply, you (and other programmers) are welcome to write in any language, GFABasic if you like, little add-ons to S3. For instance, you have 72 scrolls, that is, 72 series of 9-pages of 16-char. text lines.
If you wanted to make a Windows program to modify them (so you don't have to use the GBA to enter messages), all you need to know is:
Tablets start at 32390 byte position
There are 72 Tablets altogether
Each Tablet is 144 bytes
Each Tablet is 9 lines down of text
Each Tablet has 16-char. per line.
So in GFABasic you could write:
OPEN "u",#1,"scen3.sav"
SEEK #1,32390 + 144
PRINT #1,"HIYA!";
CLOSE
Which would store "HIYA!" starting at the first line, first character in the 2nd message tablet on any world file. 2nd Tablet since we added "144" above.
A simple message editor could be made in Windows to bypass entering messages with the keypad in GBA. All world information, sprites, tiles, maps, items/etc. are all at a fixed location in S3 and at a fixed size so you can POKE directly to them without disturbing any other world data. It doesn't get any easier than that. :)
Sayonaran - November 22, 2006 03:28 AM (GMT)
Just checking in from Programming Land. Now working on 3D games, but I can't find a good engine to make an Action RPG or a Tradtional RPG while at it. I'd still rather do 2D, but now 3D is all the rage... meh.
Anyway, I can't really remember, but did you stop working on Windows Scenario altogether? I know you were worried about not having Mac support, but the all-new Mac Pro is able to run Windows Programs! Dude, you can find Windows emulators to slap on the Mac anyway! (Did you know that??) Pleas,e don't discontinue support of Windows Scen, please! It's the best 2D RPG Maker out there! (I really don't want to invest in RPG Maker XP cos I hate the way it looks!)
My sister is working on a RPG Maker project as well, but since she doesn't play or like RPG's, it's constantly in Programming Limbo. Argh, I'm just a gaming programmer, not an Application programmer like she is! I try to give her input, but she's not really listening. There's supposed to be two versions, DOS and Windows (you'd be surprised who still runs DOS programs!)
Her RPG Maker is a bit more complex and looks nothing like yours, so don't fret. Since she's an avid Programmer, her output tends to be on the more intermediate/advanced level. So if the average Joe hasn't fried their brains on acid kool-aid, then they won't sqawk about how hard it is...
Anyways, just glad to know that you're doing swell! I'm going back to programming land to finally finish these +5 year old projects and hopefully have something DONE for a change, if my evil computer doesn't continue to hate on me! O_O
-- Spinner
dw817 - November 28, 2006 02:59 PM (GMT)
Good Morning Spinner, and Worldbuilders:
* Apologies for not a weekly update yesterday.
I went to visit my sister in her country house way out in the woods (edge of Texas).
She has Carpal Tunnel Syndrome which means it hurts to use her hands to do stuff, so I did a fair amount of it.
Despite this, she is doing fine, with her 3 HUGE dogs (one comes up to your shoulders when he is on all fours), and 7 cats. A bit of a zoo really.
My little DOS laptop (20mhz) hard-drive broke so the past few days I was there and here, I was putting together a nice little QBasic 1.0 bundle I can work with.
. . .
Scenario3 progresses.
I had forgotten that some my earlier RM work used the same similar technique of scripting. Here it is from my MiniQuest written in QBasic too many years ago.
| CODE |
Title 2, 6, "edit script" TR 6, 6, "1 output text" TR 6, 8, "2 give something away free" TR -1, 10, "3 swap something for another" TR 6, 12, "4 take something and vanish" TR 6, 14, "5 engage combat with critter" TR 6, 16, "6 inn to recover hits" TR 6, 18, "7 end game"
|
Over the years, I added
"Random Message", "QuesYN", and "Merchant"
So this is not too dissimilar to the work I am doing in

.
I'm back now so progress will continue, currently, getting map-maker to work and finishing up tile/char editor.
Answering Spinner:
| QUOTE |
Just checking in from Programming Land. Now working on 3D games, but I can't find a good engine to make an Action RPG or a Tradtional RPG while at it. I'd still rather do 2D, but now 3D is all the rage... meh.
|
* I'm not fond of 3-D games unless it is a shooter or racer because you cannot see behind you, and while this is not really needed for a shooter or racer, it is important for a RPG so you can see behind you. So, I too prefer top-view 2-D for RPGs.
| QUOTE |
Anyway, I can't really remember, but did you stop working on Windows Scenario altogether?
|
* Yes.
| QUOTE |
I know you were worried about not having Mac support, but the all-new Mac Pro is able to run Windows Programs! Dude, you can find Windows emulators to slap on the Mac anyway! (Did you know that??) Pleas,e don't discontinue support of Windows Scen, please! It's the best 2D RPG Maker out there!
|
* Thanks for the vote of confidence. :)
It was a real pain to compile that monster.
I have not left Windows. I will proceed with both Basic4GL and GFABasic again once I finish

to mine and everyone else's satisfaction.
| QUOTE |
(I really don't want to invest in RPG Maker XP cos I hate the way it looks!)
|
* I downloaded and regged it. It requires 1024x768 screen which I don't like.
It's very complex to use, and uses the Ruby programming language (a lot like C++) to build scripts. While it has a great selection of monsters, music, sprites, anime portraits, tiles, and combat backdrops, it leaves little room for image or audio editing except to real programmers, and world file sizes minimal appear to be 10megs.
I'm very pleased with S3, the way it only saves a true byte of data if it differs from the default. And the fact you can edit images (once I finish the image editor!) :)
| QUOTE |
My sister is working on a RPG Maker project as well, but since she doesn't play or like RPG's, it's constantly in Programming Limbo. Argh, I'm just a gaming programmer, not an Application programmer like she is! I try to give her input, but she's not really listening. There's supposed to be two versions, DOS and Windows (you'd be surprised who still runs DOS programs!)
|
* I'd be interested to see a screenshot of her RM if at all possible.
My little laptop can barely run Win3.1 so I well understand about running DOS programs. Actually I'm looking for smaller replacements to boot-DOS if they exist. And I'd like it to boot making a ram-drive but I'm not sure how that is done.
| QUOTE |
Her RPG Maker is a bit more complex and looks nothing like yours, so don't fret. Since she's an avid Programmer, her output tends to be on the more intermediate/advanced level. So if the average Joe hasn't fried their brains on acid kool-aid, then they won't sqawk about how hard it is...
|
* Heh- sounds like a real she-bevel. People like that are rare indeed. If she's posted her RM, I'd like to see it if I can. :D
| QUOTE |
Anyways, just glad to know that you're doing swell! I'm going back to programming land to finally finish these +5 year old projects and hopefully have something DONE for a change, if my evil computer doesn't continue to hate on me! O_O -- Spinner |
* I think you'll do just fine.

Remember, once I finish S3, I'm going back to Basic4GL and GFABasic. B4GL being the audio and graphic engine, GFA being the brains behind the operation. It'll be VERY compatible and high-speed as well.
dw817 - November 30, 2006 07:07 PM (GMT)
HAPPY HOLIDAYS EVERYONE !
Here is some very busy (once you are past the intro) Christmas Music from the Trans-Siberian Orchestra and a nice Holiday Greeting to boot !
Have a very Merry and a cool Yule, Worldbuilders !
http://geocities.com/scenari3/gifts/xmas2006.zipPlease let me know if you have any trouble downloading it !
Jed - November 30, 2006 10:57 PM (GMT)
That's a really nice greeting Mr, David, Sir, erm... (dare I slip a legendary joke in?)
Great music, thankyou very much (miles better than the horrendously fanfarific call-waiting music I discovered my latest workplace actually have) !!!
Now then, I believe a certain congrats is in order, at least according to the front page of this forum, you have reached one of those ages where everyone is supposed to make a fuss of you, at least that's how it is here in England.
Whahey, enjoy however you spend the day, and then the morning after, and the week, and then the festivities forthcoming!
I'll be staying around to keep an eye on progression mind you :D
You make a very good point about the 3d worlds not showing behind the character. Which makes me consider, what about isometric views? Revolutionary even in the 2d world. Shining Force games I think come to mind.
Sorry to ask, but how's the string handling?
Is it possible to deal with it the way most languages should and often do in terms of object oriented styles.. as an array of characters. Thus, appending two, substring methods, finding indices, regular expression etc can be defined (or used if it's already defined).
dw817 - December 2, 2006 03:16 PM (GMT)
Good Morning, Jed:
| QUOTE |
Great music, thankyou very much (miles better than the horrendously fanfarific call-waiting music I discovered my latest workplace actually have) !!!
|
* I am experimenting with WMA audio compression. I think I can make it 25% smaller now and leave exact music quality (requires WMA 9).
| QUOTE |
Now then, I believe a certain congrats is in order, at least according to the front page of this forum, you have reached one of those ages where everyone is supposed to make a fuss of you, at least that's how it is here in England. Whahey, enjoy however you spend the day, and then the morning after, and the week, and then the festivities forthcoming!
|
* Well my G/F is arriving today (in about 45 min) and she says BE READY so we can start shopping for her Xmas gift. Heyyy, whataboutme ??
| QUOTE |
I'll be staying around to keep an eye on progression mind you
|
* I keep discovering new things about programming

on the GBA so expect some good results for the future !
| QUOTE |
You make a very good point about the 3d worlds not showing behind the character. Which makes me consider, what about isometric views? Revolutionary even in the 2d world. Shining Force games I think come to mind.
|
* I catalogue most of the games I have as to visual. Topview, sideview, isolinear, and 3-D. Shining force is only isolinear in combat view. REAL isolinear is difficult to play. You press up on the controller and the player goes up =AND= right. Very difficult to navigate.
Most modern isolinear games allow true UDLR movement even though the graphic are hinted at isolinear, which is perfectly acceptable.
The problem with me using isolinear is that the blocks are not square, but like a trapezoid. While this is entirely possible, I like to keep everything square. (perhaps in tribute to Squaresoft) :)
| QUOTE |
Sorry to ask, but how's the string handling? Is it possible to deal with it the way most languages should and often do in terms of object oriented styles.. as an array of characters. Thus, appending two, substring methods, finding indices, regular expression etc can be defined (or used if it's already defined).
|
* I have had to write all of these from scratch since DB didn't have them:
| CODE |
function CHAR$(T$,P) function VAL(V$) function STRING$(L,C) function SPACE$(L) function DECA$(N,L) function Pad$(T$,A) function Instr(A$,B$) function RInstr(A$,B$) function WordNo$(N,N$) function CountWords(T$) function VLenX(T$) function MaxWordLen(T$) function Trim$(T$)
|
Other than that, it's coming along well !
I'm working on the image editor.
It's complex since one pixel saves 4-bits and I had to write a bit-library amongst other things ! Phew ! B)
Sayonaran - December 21, 2006 02:45 AM (GMT)
Taking a quick breather from programming land! Some notes, updates, and the like, so pull up a chair! :)
Finally dusted off the c++ disks and will program my 2d games in there. i gave up on 3d games. almost every jerk out there says to me that i gotta have winXP (you all know by now i have a tricked out win98 box) and i gotta have photo-realistic 3d (you all know i really hate 3d cos a: it's hard to program and b: i'm always squawking about story-driven games) and that 2d is dead (and you all know like bruce lee, 2d will rise back from the grave!!! hehehe :D ) To those suckers I go pfft. >_<
Anyway, I was (key word was) working on 3d for shooters and action adventure games. My dream is to make a game that's has a bit of elements similar to devil may cry, nanobreaker, chaos legion, van helsing, and constantine. But that didn't pan out due to liscencing issues for the 3d dev kits and using only MP3 for music instead of midi... the jerks...
So, i'm going back to the 2d route and will have to put my 3d game on hold. i'm also working on my first and only platformer that i've been tinkering with off and on for several years: Ultimate Moonwalker. it combines elements from both Sega Genesis and the Sega Master System of the game mj's moonwalker. i never played the arcade version, but one of my old friends sent me a few notes about it. (they used to feed quarters into the machine way back then).
But my Ultimate Moonwalker won't be out for a while since it's a tinker project, but once i get it polished, it will be freeware of course. But I don't expect anyone to buy it though either... just for fun, you know?
Okay, enough about me, so lastly, I just want to keep rooting for you David! I'm so envious that you can create something as fantastic and great as Scenario. I really want to use ScenGBA but I'm kinda eh... :blink: cos I really don't know what to do with it! Since I'm not that keen programming for a GBA, I'm hoping that others will use your maker and you will get popular because of it, since you're a fine programmer and should get noticed for all your efforts!
-- Spinner
P.S. After getting my demonic computer fixed for the umpteenth time with a better (and expensive!!) surge protector as well as a quality backup utility, hopefully I can finally finish a game and get it put on CD that will get sent to you, David! I never forgot my promise!! B) Maybe I should get it exorcised as well??? :P
dw817 - December 24, 2006 12:57 AM (GMT)
Good Evening:
* ... it is really -frustrating- too see just how much work I've lost.
I'm going through my Scenario3 template now for GBA and seeing several months of work needing to be rewritten and figured out ...
OK, I need to understand how to modify images directly in Scenario3 anyways (remember the little pixel image editor?). Since this is pretty complex requiring me to convert 16-bit memory addresses to 4-bit reference data I am going to work SOLELY on this. Once I've accomplished this, I'll pick up the pieces, brush them off, and get back to work.