Creating the Framework for an Adventure/RPG Hybrid in RPG Maker MZ

GBJackson

Veteran
Veteran
Joined
Dec 11, 2016
Messages
154
Reaction score
158
First Language
English
Primarily Uses
RMMV
A LOOK AT DUNGEONS

DungeonRoom.jpg

This is a sample of what a dungeon screen will look like. I have not created door tiles for this tile group, or destroyable wall tiles, just the regular wall tiles themselves. To do so, I brought one tile in from the RPG Maker MZ dungeon tileset A, and used GIMP to manipulate it to produce this tile group:

DungeonTileGroup1.jpg

When I get back to doing video tutorials, I will go step by step on how to get the results you see here.

In classic Legend of Zelda, dungeons were just a collection of adjacent room with different layouts, but in Chronicles of Omero, some screens will in fact be part of a maze-like system of corridors. Also unlike in classic Zelda, each room and corridor screen will have up to twelve exits, up to three on each side, so rooms can make a dungeon branch off into different twists and turns, sometimes leading to dead-ends.

While the overworld map is 17x13 screens in size, dungeons and cave systems will be up to 9x7 screens. It's actually necessary to build the entire dungeon map first to make sure the layout of all roomns and corridors line up logically. I have backtracked a little and have decided that the interior maps will also be made to follow the same screen-by-screen transition method. This is more for the purpose of having a consistent model that works for both interior and exterior screens, allowing them to be interchangeable. Essentially, what works in one can work in the other.

I am still using a random number generator to help me build an overworld that doesn't feel like a man-made environment, with no real rhime or reason as to where the exits are, and where things like chopable/burnable trees are randomly spawned to block of paths from one game to the next, to always give the player a different exploration experience and near-infinite replayability. Some dungeons will follow that approach, but they will NOT be story-related dungeons. Just opportunities to explore and find things. These random-element dungeons will also be smaller, ranging from 3x1 to 7x5 screens.

While each chapter in the series may be somewhat compact in terms of the number of story-related screens, they each will present the player with lots of exploration. In fact, I may release each chapter with the ability to turn story mode on or off at the start of each playthrough for those who may not care about story and just want to see how much of the chapter's map they can discover. That's an easy decision to make when the time comes. It's just a matter of putting a conditional branch on transition events that lead to story-related locations, so there's an exploration-only alternative version. The more I work on this framework, the more I realize just how many options it will afford me, and anyone who decides to use it.
 

GBJackson

Veteran
Veteran
Joined
Dec 11, 2016
Messages
154
Reaction score
158
First Language
English
Primarily Uses
RMMV
DUNGEON DOORS​

Dungeon Doors.jpg

Here's another dungeon room mock-up, but this time I'm showing off the door and gate tiles I've created using RTP elements modified in Gimp.

The shadow effect is done using GIMP's gradient tool, and in fact just transitions from black to transparent, so it can be used on any floor tile. The bright version, which simulates light coming in from outside, clearly showing where an exit to the dungeon is.. On the east wall, there is a gate and a mechanically sealed door.

Gates will need keys to open. Mechanically sealed doors will need to be triggered somehow, either by pushing a block or interacting with some other object. Unlike in Legend of Zelda, triggers for mechanically sealed doors will not have to be on the same screen as the door. This means you could pull a lever in one part of the dungeon and a door will be opened (or closed) in another part.

Hidden doors are also a thing. There's one on this mockup. It's very hard to see, but if you look closely, you can just make out the outline. This can be mechanically sealed, locked or just a door that opens if you walk into it. Technically, all closed door types can be set up to behave either way easily enough, so there's not really a limit on how creative one can get with doors.

Illusory walls Will be added. I'm still of two minds about how I want to handle them visually. Right now, the thought is to use a fade effect similar to the light and darkness. transitions, but apply it to the wall graphic itself. Placed over a passable version of the wall graphic, the effect should be that the player sprite will fade into the wall as it enters the tile. There will be no way to see an illusory wall.

I will be creating a Gem of Passage as a passive item that will allow entrance to illusory barriers, so some rooms in even early dungeons can be hidden and blocked until later when the gem is found, giving adventurers a reason to explore earlier dungeons.

I may create a consumable spell of Arcane Sight that will Momentarily reveal an illusory wall or barrier. But that would probably be an end-game magic store item, or something gained from high-stage mobs. I don't mind providing a way to find illusory barriers and walls at that stage, where the only thing left to do is complete the final task. This will give players the chance to go find everything before the game ends. If it's an expensive spell, or has to be farmed from end-game mobs, then it will still take a while to get enough Arcane Sight spells to just breeze through finding every illusion.

I'm going to have a long weekend this week due to Labor Day, so I'm going to try to actually put together another tutorial video in the series. I'll update the main post to jump right to the actual post where I introduce it, and I will even edit the original post where I described the step I was taking in my work process, so there will be a link. Now that my creative process has reached a certain point, I can get back to putting together these videos.

So this thread will become about me tellingh you what I am planning to do, what I am doing, and what I have done and how I did it.

I'm also open to community ideas for including elements that would fit in a zelda-type game. So if you have something you would like to see in the framework, please post here, and I'll see what I can do. If I do something that someone suggests, it will receive an actual tutorial, even if it only has to be a simple one because what it does is only a variant of something else. If it ends up in my framework, it will be explained. That I promise.

Until next time, be blessed, everyone...
 

GBJackson

Veteran
Veteran
Joined
Dec 11, 2016
Messages
154
Reaction score
158
First Language
English
Primarily Uses
RMMV
Next tutorial video will be delayed until next weekend. As I was working on it, I realized that I could use it to dfemonstrate how to do something related that will makefor much better results, and which I intend to use in Chronicles of Omero. There's just no way I'm going to have it ready this week...
 

GBJackson

Veteran
Veteran
Joined
Dec 11, 2016
Messages
154
Reaction score
158
First Language
English
Primarily Uses
RMMV
It's a total mess, guys.

I find myself in a serious financial straightjacket at the moment. I've had to take on expenses that I really was hoping to avoid for a little while longer, and that on top of my hospital bills and regular expenses has left me stressed and unable to concentrate on games or game development. Almost all my free time is spent on worrying about money and where I'm going to come up with enough of it to deal with a major end-of-year expense that had I not had to take on the extra expenses would not have been a problem.

It's like no matter what I do, SOMETHING is always getting in my way of pursuing anything using my own talents. I'm stuck making freaking rich corporations richer, and while I make more now than I did before the pandemic cost me my last job, I find myself with less to work with.

And every month it seems, a new piece gets added to the pile.

I just want to write music and create games. It's bad enough that my mind is all over the place on a good day, but with all the extra garbage on top, it's all I can do to get up in the morning, go to work, come home, juggle my budget, go to sleep and repeat the next day. I mean, I know we can't always do what we want. I get that. But up until now, I have at least had a balance in my life, where I could do what I need and what I want, and get some satisfaction out of the latter because I took joy in it. But right now I derive joy from NOTHING.

Okay... so what do this have to do with the tutorials or my project? Right now, everything is on hold until I can get my financial mess straightened out, or at least sorted enough that it isn't constantly weighing on my mind. I don't have a timeframe.

It's really sad. I've always told people that they can do anything they want if they put their mind to it and pursue it seriously. I always used to get annoyed when people would say "it doesn't work that way for some of us, because there's always something getting in the way. I used to say, "The only thing standing in the way of having the life you want is you. But now that I am on the receiving end of the dodgeball to the face, I realize that sometimes what stands between having the life you want is life.

So yeah... My tutorials and project are on hold. I'm sorry. I really hope things will turn around soon so I can get back to stuff without the constant internal nagging that I need to be focusing on other priorities. There is nothing more devastating to an idea person than the inability to think clearly.

Best wishes to everyone here on your creative endeavors. May you enjoy success and take joy in the creative process.

Be blessed...
 
Last edited:

GBJackson

Veteran
Veteran
Joined
Dec 11, 2016
Messages
154
Reaction score
158
First Language
English
Primarily Uses
RMMV
One thing I want to advise you to get in the practice of doing, especially if you intend to use multiple instances of the same interactive event, like burnable bushes, is to set most of their primary functionality using common events. This is especially important if you want to make all your single bush instances destroyable. The reason is that if you decide to make a fundamental change to the base functionality, especially after you're already plased a whole bunch of bushes in your game, if the event scripting is localized to each instance of bush, then you would have to replace every single one that you have placed with the new version.

However, if you make it so that when the player activated a bush event, it calls the common event where the actual scripting is processed, then you need only modify the common event, and then every instance of the bush will just work with your modified functionality.

In this regard, the only time you would want to modify the event scripting on the object itself is if you are going for an occurrence of something unique to that specific instance. Of vourse, veteran authors will already be using common events for this very reason, but many new authors tend to have difficulty initially understanding the power that common events give them. They try to do everything with the individual interactable events and end up creating way more work for themselves.

A practice I find myself applying is to combine all my destructable events into one common event. The actual instances of the destructable are set upt to do two things:

1 - Set a variable which I typically call Function to a value I want that type of event to have. Like say 1 is a bush, 2 is a boulder, etc. In the common event the first thing that happens is a conditional branch that checks the value of Function and then jumps the event to a label that corresponds. That's where the event's actual functionality is processed. Then it jumps to a labelI typically name "complete" at the very end of the common event that sets function to 0 before ending the common event and return to the local processing.

The good thing is that any self-switches that the common event would set are passed to the local event so your conditions for the local event's pages will work.

Using labels and go to label commands can allow you to set up some pretty powerful functions, so be sure to get in the habbit of using them.

Oh... one thing I do is set a branch in the initial section of the common event that goes to a label called out of range. This actuall has 2 sections in the branch, one for if Function < 1 and the other is for if Function > the highest value that a functionality block has been set up for. The out of range block will cause text to pop up that says :Returned invalid Function value of X" where x is the value of function, and then it goes to the complete label. This is for debugging purposes and will immediately let me know if I have set the function value on the event instance incorrectly or not at all. You could leave this out of your common event, butif you are building a game with a lot of interactive event types, including resource nodes for gathering materials or whatever. You may find that you want that debugging info.

The reason why the "complete" block sets Function to 0 is to make sure that the Function process is reset after every time it is used, so no errant values for Function remain active.

Hope you find this helpful
 

Latest Threads

Latest Posts

Latest Profile Posts

I think Kipling said it best.

If you can make one heap of all your winnings
And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
⁠And never breathe a word about your loss,
(...)
Yours is the Earth and everything that's in it,
⁠And—which is more—you'll be a Man, my son!


Do you feel like your modern cities are too clean? I made some dumpsters and trash variations. Visit my MZ resource thread (link in signature).

Forum statistics

Threads
118,578
Messages
1,117,108
Members
155,641
Latest member
Serpenking
Top