• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Progress Report

Program Editor

I don't like posting about things I haven't yet accomplished, but I'm letting you know everything is going fine. I've been working on the program editor, and this is something that- while missing many features- still needs to be initially released with accelerators already implemented.

It will be cumbersome to test a program editor with no accelerators, and it will be the most evaluated part of the editor and engine for being so important. Once this step is completed, RPG 20XX will suddenly become an actual game engine.

Progress Report

Script Editor



This is the script editor so far- it isn't actually complete since the selection/add/removal of commands hasn't been implemented yet. What you see is a drawing test to see if it can draw random program pages.

I'm trying to make it as easy to visually see what is going on with the program as possible, arranging everything in a particular way and using icons everywhere. Some of those numbers will be replaced with symbolic names like "Greater Than" instead of "2.000".

When the event script capable RPG 20XX is released, only basic setting of values will probably be implemented. For example, if you add a Teleport command, you'll have to type in the ID, X, and Y manually when later the set button will open the familiar select-a-map-and-location dialog you saw in RPG Maker 2003.

This way, it is possible for me to implement any new command functionality first, and then override the set button with a special window that might make using the command much easier. And yes, every numerical value can be the value of a variable instead, including referencing a variable by ID where the ID is read from another variable. Only some of you actually did variable(variable()) in RPG Maker 2003, but if you did, you'll be happy to know you can do this for ALL commands that request a variable, not just a few specific ones like in RPG Maker 2003.

Announcement

0.05 Released

That was quite a lot for the event creation dialog. You can now create, edit, and delete events in the event layer. The download has been updated, so you can download again.

The only other additions other than the event dialog are the variables dialog (which is accessed from the event dialog) and the various coin addresses I've mentioned before now located under the About dialog.

One major thing you'll notice is that everything is back into one .2xg file, including the music when music used to be put into a separate folder. It made things simpler again this way.

Now the next step is the one you've been waiting for, where I let you script events and activate that big blank script window in the event dialog. I've reached this stage right where I've anticipated I would.

Game Design

Dynamic World

I usually don't talk about features I haven't already implemented for an upcoming release, but these are two very important features that actually add power to RPG 20XX. These are known as Geo-Mod and Archetypes.

Geo-Mod is the ability to permanently modify a map and for it to remain modified per save file. This idea has existed since the late 90s when FPS game developers wanted absolutely destructible terrain, and they called it Geo-Mod. This enables the development of constructive (or destructive) RPGs with RPG 20XX. This feature came to me when I thought of altering the idea I had for LandTraveller to use this engine instead- giving you an idea of why it is important to have.

Archetypes in RPG 20XX refer to events that can be replicated, like chests, with one or so aspects being changed, like item contained. That part you already knew, but the power comes from the ability to create new and permanent events during the game. In order to create an event, you would need to specify the archetype and the arguments (item contained, other parameters, etc.). Created events can then be persistent and remain on the map per save file.

For commands that target events, there will be "This Event", "Player Event", and "That Event" for any events just created using the above feature in case you wanted to quickly modify the event's other properties (like character set and such).

These features make games like LandTraveller possible, or you could use them for more simple things like terrain that is meant to be modified according to the story or a town the player can build (a staple of many JRPGs even ones from the 90s). The only drawback is that modifying a map increases the save data by the size of the original map. Creating events not so much, though a runaway event creator might overload a map requiring a reload of an earlier save to fix, so be careful when using event creation commands.

Progress Report

Such Event



I decided to stay with this style of displaying events. They're sure to stand out when they're at half scale with the surrounding map, but this time you get to see all of them (as opposed to those tiny square cutout windows you got in RPG Maker 2003). Remaining is the editing of existing events, their deletion, the format they have when compiled, and then having them display in the engine properly.

Always report illegal dumping.

Progress Report

Event Box



I've nearly finished the create-an-event thing, but I want to find a less tacky way of representing them on the map. I want events to be drawn as they should appear, but also be clearly marked as events in an unambiguous way (especially between events made out of tiles and ordinary upper layer tiles).

In other things, I've also confirmed mining YAC is actually pretty fast despite it taking a long time between shares. This mining pool has a simple getting started guide and user-friendly controls, and more importantly, they actually paid up.

I did a little more research and it seems the reason for this is because YAC uses an algorithm (named "scrypt-jane") that greatly lessens the advantage people with way too many GPUs have over ordinary computer owners. You can have the miner run in the background while you do other things, like make RPGs. Then you can contribute to RPG 20XX or keep all the coins for yourself.

Announcement

Light Coin

It still wouldn't feel quite right offering a location for direct money donations, but I can offer an alternative that supports another community effort at the same time. I've created an address to donate LiteCoins to.

Yeah you have no idea what I just wrote, do you? Basically, you first download the basic wallet software (open source, etc.), run it and let it run for about half a day or so until it has synchronized with everyone. Then obtain some LiteCoin through a variety of means (do NOT use the so-called "LiteCoin Faucets", most of them are loaded with tons of drive-by malware and/or adware). Then you can send any whole or fraction amount to anyone by putting the address in (like the one listed below).

It may or may not have costed you any real money. These coins may or may not ever be worth more than about 11 USD (at this time of writing) per LTC. You may send me fractions of a penny if you really wanted to. It's more important that you use it to voice your support for whatever websites or projects that list LiteCoin addresses for you to donate/tip to. It's still mostly just play money at this point, but it's really interesting.

Here's a copy of the updated notice on the engine's page:

You may donate LiteCoins for RPG 20XX to this address: LNFazSrQzXakzhNEonFcBezKHN9mYHVoEQ

LiteCoin is an agile alternative to BitCoin designed mostly for this exact purpose of supporting websites and free projects. You can donate any amount of whole coins or fractions of coins. Doing so also supports LiteCoin at the same time.

I heard you like communities so you can support while you support.

Game Design

Saved Variables



After considering many different types of variables to use, I settled on 64-bit fixed point numbers. These numbers are stable for all integers in their range, yet give you three decimal places. I wanted you to be able to have decimal point numbers so you could do the math you need for things like ring menus, smooth movement, etc. but still be able to use them to index arrays or IDs. Floating point numbers can do strange things when being converted into integers as they reach larger values, and they're slower to work with than integers.

This trick had been done on 32-bit numbers with three decimal places accuracy, but it limits you to numbers of about 2 million in either direction (positive numbers and negative numbers). I've commonly run into problems with this limit when trying to write RPG systems on 32-bit fixed point variable game engines (like old versions of ACKNEX and WDL script). Using 64-bit fixed point numbers gives you an insane limit you could probably count the stars in our galaxy with. I think it will do for an arbitrary RPG game.

Announcement

0.04 Released

I've just released a new download. Download using that button up there again for these new features:


- Can assign music to maps and they will be played for those maps (or OFF or no change)
- Fixed a bug where editing the charset of a child player object crashes the editor when hitting OK
- Fixed a bug where creating a player with no charset crashes the editor
- Can now import music tracks in the editor (.ogg .flac .mp3 .mid .xm)
- Can select players for being in a new game's initial party
- Can now walk around the map starting from the Player Start position set in editor
- VSYNC is now supported (and will be configurable later) to reduce tearing
- Can now specify the Player Start position by clicking on a blank space in event layer editing mode

Progress Report

Music Player



It looks like an overly simply music player, and that's because it is. The settings here actually apply to the project, so you can configure the start and looping time of each song, then test the song. These settings get saved automatically, so there is no APPLY button. I've noticed lots of the MIDI files from the old RPG Maker 2003 resources have silence at the beginning of them, so the start position comes in handy here. You could then set the loop time to the same as the start time (shown above), or make it 0 for there to be a moment of silence between each loop. As for the panning, speed, and volume settings you were expecting, those only appear when assigning songs to things (event scripts, map settings, etc.). There will be a preview button so you can test the sound settings out before deciding upon them. Music files are simply added to the .2xg file as-is, so be careful about compression. The editor won't accept raw WAVs as music tracks for this reason. If you need lossless audio, convert to FLAC instead and then import. Nobody wants to download 500+MB of soundtrack data just to play a classic 2D RPG.