nijineko

Villager
Member
Joined
Jan 23, 2018
Messages
25
Reaction score
10
First Language
American
Primarily Uses
RMMV
My current project is to recreate an homage version of a very old ASCII rogue-like as a mobile game. The maps from this game consists of walls, doors, secret doors, and openings. The maps also featured one-time fog of war (once explored, always revealed). In rooms, one could find things like stairs, traps (pits, shafts, energy, teleport, guaranteed monster encounters), and various magical effects (darkness, anti-magic, illusions). Based on the combination of these things, one could also find hallways and large rooms.

I have started creating a whole map for this game, only to find myself asking some questions. Here is a list:

  1. Should I design a whole map, or create a unit by unit map (where a unit = rooms and hallways).
  2. If I choose unit-by-unit, can I reuse these rooms yet still keep track of where they are in the big-picture map?
  3. If I choose unit-by-unit, can I add and remove unique features via some method (global events?) to prevent visual repetition?
  4. How can I best emulate the special features of traps and magical effects on the map level?
  5. How should I best pull off the fog-of-war (any good plugins out there that are play-tested and recommended?)
  6. How can I include a "create-your-own-character" mechanism in the game? (Both visually and mechanically)
  7. How can I include mini-games?
  8. How can I include crafting?
Today's post focuses on questions 1, 2, & 3 only. Future posts will cover other questions.

What experiences and suggestions does everyone have in this area? I'm looking for opinions, ideas, and brainstorming; though if you have technical details of how-to, while that is most welcome, it is not expected at this point.
 

Canini

Veteran
Veteran
Joined
Mar 29, 2016
Messages
1,025
Reaction score
691
First Language
Swedish
Primarily Uses
RMVXA
Does a unit in this scenario constitute what the rpgmaker engine calls a map?
5KKeG2M.jpg
 

ACECORP

Founder & Entrepreneur
Veteran
Joined
Apr 6, 2016
Messages
257
Reaction score
40
First Language
English
Primarily Uses
RMMV
I think I get what you are asking about and if I am right than hopefully my answer is helpful.

I do both in my game.

I have many single unit maps, meaning the map is just the inside of a building, room, shop etc.

I have many different types of those "single unit maps".

Inside each one, I have NPC characters and events, etc.

I also have several large world maps and when my character walks over the appropriate square, he enters one of the single unit maps.

Now inside the single unit maps, when I re-use them, meaning I have a shop map where the inside of it is used for several shops, I keep track of that with a variable.

And I have a ton of NPC's and events that check is variable = 1 if so then do all this stuff this way and hide everything else.

But if variable = 2 then hide all that stuff and do this. Its actually pretty massive, and you gotta be crazy organized to keep track of it all, but yes I do exactly what you are asking and it does work.

What I would do is first decide what your entry points are and when the character enters from that entry point, assign a value to a variable. Then based all the events in the room off of that value.

Then if you want to enter the same room but have different stuff be in there, repeat the process but make a different value trigger it.

Hopefully the way I explained that was clear.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,340
Reaction score
1,357
First Language
Spanish
Primarily Uses
RMVXA
Should I design a whole map, or create a unit by unit map (where a unit = rooms and hallways)

now that I think of it, that design choice is prominent in the Silent Hill games.
you are always entering new areas, which you can't see (they're behind a door, or through a tunnel, or up a ladder...), and that builds anticipation.
it works wonders for horror games.

for adventure games, I believe the foundation of *adventure* is exploration, going forward towards nearby positions that you can see.

If I choose unit-by-unit, can I add and remove unique features via some method (global events?) to prevent visual repetition?
most definitely.
it's not easy, but it can be done.
I've done it, ..... kinda....
(I set up one tent, meaning to change it dynamically to represent different tents with different NPCs. I have the "different NPCs" system down, but the whole "ambience events" system is harder to come up with. You'll need a system to create NPCs and events dynamically, which *is* tricky to do if you don't know how to code)

How can I include crafting?
increasingly harder to manage the more craftable items you have, because you'll need individual ingredients, finished products, and recipes, all of which will be items, of which you have a limited amount available.
depending on the mechanic of crafting itself, it can be pretty easy to create, but harder to set up based on the amount of results you might end up having.
 

nijineko

Villager
Member
Joined
Jan 23, 2018
Messages
25
Reaction score
10
First Language
American
Primarily Uses
RMMV
Keep in mind that this game I'm trying to recreate is a nothing-fancy dungeon-crawl. I'm planning to add plot and story to it, but that will be a later upgrade to the game. First off is to get the basic dungeon-crawl in place. The original game shipped with 10 pre-made levels, but actually supported dungeons of up to 1000 levels, if you used the level designer official add-on.

In the unit idea (question 2), each room / hall would be an individual map. However, in order to reuse them in several different spots in the levels, or over various levels, I would need some method of "tracking where the characters are" in the overall dungeon map, and updating the transfer-events on the fly so that it correctly moves the characters through any given series of rooms in the correct order backwards and forwards.

Also, by reusing the rooms, things are going to look the same, pretty quickly. Hence question 3, where I could update tiles on the fly to add the illusion of diversity, without having to actually create separate maps for every variant.

Basically I'm looking for is if there is some method that would allow me to say something like: "Room #1 uses map-template #4, no extras; room #2 uses map-template #2, plus add cracks on wall (tile #xxx) at position 1,15; room #3 uses map-template #4, plus add skeleton (tile #xxx) in the corner at position 2,2." Where template #1 is a 10x10 room, and template #2 is a 10x50 horizontal hallway. And also keep track of where the characters are in the virtual map.

If this idea of mine is even possible, it would mean that each whole-level-map would only exist as a series of text entries defining which map-templates to use, and what individual tile-mods are placed where. This would allow rooms to be updated for events (post battle damage?) in a fluid fashion.

If anyone is curious as to WHY, this game has a stupid amount of 10x10 rooms (the first level alone has around 95)... lol. I'd like to be efficient in my design, if possible. Plus a unit-by-unit map would allow me to optionally dispense with fog-of-war, which the original game actually had a version of, amazingly enough.
 
Last edited:

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,340
Reaction score
1,357
First Language
Spanish
Primarily Uses
RMVXA
Room #1 uses map-template #4, no extras; room #2 uses map-template #2, plus add cracks on wall (tile #xxx) at position 1,15; room #3 uses map-template #4, plus add skeleton (tile #xxx) in the corner at position 2,2." Where template #1 is a 10x10 room, and template #2 is a 10x50 horizontal hallway

that's Recursivity 101.
it can totally be done, but you will need a way to read external files, or a number of common events that would inject extra instructions into the map loading routine, to reconfigure *the map itself* (which is saved as an array of numbers referencing tile IDs), to your setup.
I would advice you to not make it 100% customizable, as it would require extra coding on your part to account for possible errors that wouldn't show up on a by-design implementation (it wouldn't be fool-proof)
if you do it that way, it will do exactly what you design it to do, and just what you design it to do, which will be limited or not, depending on how many variations you plan for..... but once you assemble it, it won't be changeable.
 

Latest Threads

Latest Profile Posts

not me baking a pie because i was inspired by celeste
Doing RPG Maker News for 10th April, 2021. :LZScheeze: (Improving on the thumbnails, by using assets from the day's news.)
Just discovering the forum.
Since Final Fantasy VII has been trending today, decided to make a series of my favorite bars in the OG game! Check it out:

At 2021, we are now farther from the 1980's than they were from the 1950's. Consider that the next time you long for a 1980's song, when you thought your grandpa's taste for 1950's music was "outdated".

Forum statistics

Threads
110,296
Messages
1,052,053
Members
143,324
Latest member
Armyrule94
Top