Map Exploration Design

A discussion area for general design issues that staff would like detailed feedback on.

Moderator: Staff

User avatar
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 4:07 pm

Postby ChopperDave » Thu Jan 11, 2007 1:13 am

- The player can only initiate conversations in the direction that the player's sprite is facing (north, south, east, west). They *can not* speak with a sprite that is at a diagonal distance from them, even though the sprites are allowed to move diagonally.


If you can catch a sprite, you should be able to talk to it, regardless of how it moves (provided you're facing the right direction). The idea of diagonal distances not being valid doesn't seem logical to me.

For conversation checking, I agree with the use of collision rectangles. And checking up to 1 tile length away seems like a good start.

1. Enemy sprites on the map are generally silhouette images of various colors, with lighter colors indicating easier enemy parties and darker colors indicating harder enemy parties. The sprites may also be of various sizes


I've always been kind of iffy on this type of thing. Because you may say the enemy is easy, but a player who bought the wrong equipment or doesn't know what he's doing will find it very difficult, and begin to wonder why we said the enemy was easy. I think it's best to let the player decide who the easy enemies are.

2. Enemy sprite images gradually "fade in" from the edges of the screen as the player is walking (or standing still). The fade in process takes about 1-3 seconds, and during the fade in, the enemy sprite is in a stationary position

3. Once the enemy sprite is fully faded in and visible, it begins to walk around the map in a semi-random pattern. However, the destination of the enemy is the current position of the player's sprite, although it may take a somewhat round-about route to get there.


Why bother? Does the player really need the heads up? Is the game going to be that difficult?

4. At first, easier enemies appear on the screen and move toward the player slowly. As time passes (the player keeps trying to dodge the enemies), the enemies that appear begin to get stronger, and stronger enemies also move faster than weaker enemies. They also begin to appear closer to the player.

5. Over time, more and more enemies will be appearing on the screen. They will appear faster, they will be stronger, and they will be quicker to try and approach the player. Inevitably, the player will not be able to dodge all the enemies on the screen and once the player's sprite collides with an enemy sprite, a battle occurs.


So we're rushing the player through the dungeon? Isn't that contradictory to the idea of an RPG?


I'm not trying to be difficult or a total downer, but a lot of this proposal just does not make sense to me. Was there more to it?
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Thu Jan 11, 2007 6:59 am

ChopperDave wrote:If you can catch a sprite, you should be able to talk to it, regardless of how it moves (provided you're facing the right direction). The idea of diagonal distances not being valid doesn't seem logical to me.


Sprites can only face in lateral directions, which is why I suggested that diagonal triggers might not be a good idea. It would seem weird to be walking northwest, facing west, and then suddenly you are able to speak with a sprite that stands one tile above you. :shrug:



1. Enemy sprites on the map are generally silhouette images of various colors, with lighter colors indicating easier enemy parties and darker colors indicating harder enemy parties. The sprites may also be of various sizes


ChopperDave wrote:I've always been kind of iffy on this type of thing. Because you may say the enemy is easy, but a player who bought the wrong equipment or doesn't know what he's doing will find it very difficult, and begin to wonder why we said the enemy was easy. I think it's best to let the player decide who the easy enemies are.


I don't want to make Allacrost so complex that your choice of equipment has a huge factor in the battle. I've been playing FFXII lately and its a pain in the ass because there's 40 different weapons, and each player can equip any weapon, so its like what the hell do I buy and equip? :eyespin:

And the somewhat arbitrary "easy/hard" rating of the enemy encountered will determine how many enemies are in the battle party, and what their average XP level is. Basically, I don't think this is an issue that we should worry ourselves about.

2. Enemy sprite images gradually "fade in" from the edges of the screen as the player is walking (or standing still). The fade in process takes about 1-3 seconds, and during the fade in, the enemy sprite is in a stationary position

3. Once the enemy sprite is fully faded in and visible, it begins to walk around the map in a semi-random pattern. However, the destination of the enemy is the current position of the player's sprite, although it may take a somewhat round-about route to get there.


ChopperDave wrote:Why bother? Does the player really need the heads up? Is the game going to be that difficult?


The fading in is better than just suddenly plomping an enemy down on the screen IMO. Maybe they can appear anywhere on the current screen, I dunno. I just thought it would be nice if the player could try and plan out their route through the foes rather than rely on chance of whether or not they pop up right in front of their nose. :shrug:

4. At first, easier enemies appear on the screen and move toward the player slowly. As time passes (the player keeps trying to dodge the enemies), the enemies that appear begin to get stronger, and stronger enemies also move faster than weaker enemies. They also begin to appear closer to the player.

5. Over time, more and more enemies will be appearing on the screen. They will appear faster, they will be stronger, and they will be quicker to try and approach the player. Inevitably, the player will not be able to dodge all the enemies on the screen and once the player's sprite collides with an enemy sprite, a battle occurs.


Absolutely not. But what would the player do if there were random encounters? Answer: they'd do the same thing and try to move in the smallest number of steps possible to the destination to avoid as many foes as possible. If the player wants to take their time, they can. They'll just end up running into a lot more battles, that's all.


ChopperDave wrote:I'm not trying to be difficult or a total downer, but a lot of this proposal just does not make sense to me. Was there more to it?


Nope, that was pretty much it. I mean, the whole idea here is to meet the following requirements:

1) Players hate random encounters and will never stop bitching about them (personally though, I don't mind them myself). Thus, we want some visual representation of enemies on the map.

2) Players want the ability to choose their battles, and to choose whether they try to avoid an enemy or fight their way through.

3) At the same time we don't want the player to be able to avoid every single enemy, because that is not the point of a RPG


I think this scheme does a pretty decent job of meeting those goals. :shrug: This type of method isn't anything new, and a variation of it was seen in the recent Gamecube RPG Tales of Symphonia.
Image
User avatar
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 4:07 pm

Postby ChopperDave » Thu Jan 11, 2007 3:20 pm

I've got no problem with seeing enemy sprites on the map. In fact, I prefer that method. The problem I have is making them stronger and faster the longer they've been running around the map. That's the part that doesn't make sense to me.

3) At the same time we don't want the player to be able to avoid every single enemy, because that is not the point of a RPG


Even if they're the insane type that wants to try to beat the game at level 10? If that's their decision, we shouldn't prevent it. We need to make the gameplay as open as we can.
User avatar
byaku
Developer
Posts: 165
Joined: Mon Sep 11, 2006 6:45 pm
Location: Valencia, Spain
Contact:

Postby byaku » Thu Jan 11, 2007 10:12 pm

1) Players hate random encounters and will never stop bitching about them (personally though, I don't mind them myself). Thus, we want some visual representation of enemies on the map.


We can have a toggle that allows the user to switch on/off the display of the enemies in the map. That way anyone can choose how to play.
User avatar
gorzuate
Developer
Posts: 2575
Joined: Thu Jun 17, 2004 3:03 am
Location: Hermosa Beach, CA
Contact:

Postby gorzuate » Thu Jan 11, 2007 10:46 pm

byaku wrote:
1) Players hate random encounters and will never stop bitching about them (personally though, I don't mind them myself). Thus, we want some visual representation of enemies on the map.


We can have a toggle that allows the user to switch on/off the display of the enemies in the map. That way anyone can choose how to play.


I think that would be making everything too general.

Now, I am not a game expert, but in my mind I've always "classified" RPGs into several types, the main ones being:
- random encounters, can't see enemies on the map
- unrandom encounters, since you can see the enemies on the map.
I also believe there are players that enjoy one or both of these "types" of RPGs, but I don't think you can satisfy both camps at the same time.

Roots' idea is actually pretty cool :cool: for the "unrandom encounters" type of RPG. The only other way of doing it would be to have enemy sprites already on the map, just like the NPCs were in the demo. But I like Roots' idea.

Roots, you said that players always complain about random encounters cuz they can't see the enemies. You're somewhat right. But I'm sure there are players like you who don't mind the idea, and no matter what we do we will always get complaints about something.
Image
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Thu Jan 11, 2007 11:30 pm

ChopperDave wrote:I've got no problem with seeing enemy sprites on the map. In fact, I prefer that method. The problem I have is making them stronger and faster the longer they've been running around the map. That's the part that doesn't make sense to me.


No, its not that the enemies already on the screen become stronger and faster. Its that the new enemies that appear on the screen are stronger and faster than the previous ones. You're right: it doesn't make much sense for the enemies to change in strength/speed once they are already on screen.


ChopperDave wrote:
3) At the same time we don't want the player to be able to avoid every single enemy, because that is not the point of a RPG


Even if they're the insane type that wants to try to beat the game at level 10? If that's their decision, we shouldn't prevent it. We need to make the gameplay as open as we can.


If they want to do that, fine. They can always choose to run once they encounter a battle.


byaku wrote:We can have a toggle that allows the user to switch on/off the display of the enemies in the map. That way anyone can choose how to play.


Don't get me wrong. When I said I didn't mind random encounters, I didn't mean to say that I didn't like visible encounters. I'm fine with either system. I agree with gorzuate that it is best for us to stick to one idea and not have a toggle.
Image
User avatar
Burnsaber
Member
Posts: 85
Joined: Fri Feb 04, 2005 9:29 am
Location: Finland, Kuopio
Contact:

Postby Burnsaber » Mon Jan 15, 2007 2:36 pm

That "silhouette" thing seems intresting.
That system has many merits, one of which is that it allows the player to choose "their dish", so to speak. I'm one of those creeps who want their random encounters hard and not-so-numereous.
Now, lets take my total opposite from alternative dimension who starts to bitch when a melee orientented monster hits your party wizard for 10% Hp.
We both can enjoy this system, my twin charging every foe in sight, and me, dodging bullets, until I get hit by a cannon.
Can't wait to see it in action.

Althought, it must be a "super-fun" job to balance that.
I'm the 50th person who joined on these forums! I'm special!
User avatar
Drakkoon
Developer
Posts: 173
Joined: Thu Jan 11, 2007 12:54 am
Location: Montréal, Qc

Postby Drakkoon » Mon Jan 15, 2007 9:46 pm

I just did some mockups in photoshop of how the dialogues detection could work.

The first couple of examples show a 96x32 box on the tile just in front of the player. This would let the player talk with NPCs in diagonal.
And when you initiate a dialogue in a diagonal with an NPC, you turn the NPC in the opposite direction of the player's direction.

At the bottom is an a test I wanted to make. A 64x32 box with a 32x16 32pixels away from the player. This let's you talk with NPCs in diagonal while not making it too much and let's you speak with NPCs that are a bit farther away.

Note: The red X is to show what not to do after initiating a conversation, it does not mean that you cannot talk with the npc.
[img:287:370]http://allacrost.org/staff/user/drakkoon/dialogues-test.png[/img]

I don't think it looks too bad if you speak with NPCs that are beside you but that always face in the opposite direction of where you are facing.

Also, about encounters. Has anyone played Chrono Cross on the PS1. In that game the encounters had a starting spot on the map and they could wander off a bit from that spot. Once you had killde it, it would not reappear unless you quit the dungeon and came back in. You could also try to walk beside the monster if you felt like it would be too hard. Also, the monster on the map was always the hardest monster in the encounter.

I think a mix of that and the silhouette thing ( I think that's how it works in FFXII ). Where in more open areas, monsters are shown on the map, when killed, they can reappear. When they reappear, they start as a silhouette for 3 sedonds, where they are not attackable nor can they attack you. ( This is to protect them from appearing on top of you, creating a random encounter ).

But in dungeons so to speak, maybe make it like CC, where once killed, the monster won't reappear until a new instance of the dungeon is created.
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Tue Jan 16, 2007 10:20 pm

:approve: to your sprite conversation points above Jetryl. The bottom case does make more sense instead of just a plain flat bar where the target sprite may be.



Personally speaking, I don't like games where you have to re-enter a part of the dungeon for enemies to re-generate. :| I would prefer that enemies do not have any specific "spawn" position, but rather appear in semi-random locations around the player after a certain amount of time expires. (And BTW: no this is not like FFXII)
Image
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Tue Jan 16, 2007 11:51 pm

Actually on second thought, there are a few things that bother me. The side-stance spaces look to be very large to me. Those two examples would only look correct if the sprites turned their heads towards each other, and we don't want to require head turning versions of all of our sprites. :eyespin: I think instead it might be better if we adhere to the following two rules:

- The collision rectangles of the sprites have to overlap in the dimension that the sprites are not facing. For example, if the player's sprite is facing north, then the x boundaries of the two sprites have to overlap partially

- In the facing direction, the distance between the collision rectangle boundaries can be no greater than 3 grid elements (that's 16x3 = 48 pixels). For example if the sprite is facing north, then the opposite sprite must have the bottom border of their collision rectangle within 3 spaces of the other sprite's top border.


Here is an image that conveys these two rules. In each direction, there is at least one laila sprite that sits on the very border, which shows what the "worst-case" looks like with this rule scheme.

[img:320:384]http://www.allacrost.org/staff/user/roots/mockups/dialogues_test2.png[/img]


What do you guys think? It would be nice to come to a decision on this soon, as Drakkoon and I are writing this part of the code right now. :angel:
Image
User avatar
Drakkoon
Developer
Posts: 173
Joined: Thu Jan 11, 2007 12:54 am
Location: Montréal, Qc

Postby Drakkoon » Wed Jan 17, 2007 12:43 am

I'm ok with your ideas Roots, it does look a bit weird when the NPCs are so far to the left or right with the larger detection rectangles.

But I suggest that we reduce the collision rectangle to a 2x1 box ( 32x16 pixels ) box.

Here's a comparaison of the current collision rectangle, the smaller ones and the effect it has on the dialogue detection rectangle.

[img:180:141]http://allacrost.org/staff/user/drakkoon/allacrost-mockup-coll.png[/img]

Note: we might have to switch height with width when the sprite changes direction.

Edit: on second thought, we can't update such a rectangle when changing direction, it would create too many problems.
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Wed Jan 17, 2007 1:11 am

Yeah I see your point Drakoon. It does look nicer to have a smaller rectangle, but we have to keep the collision rect the same size otherwise the internets will asplode :ohnoes: :heh:
Image
User avatar
eleazar
Senior Member
Posts: 110
Joined: Mon Sep 18, 2006 7:56 pm
Location: USA

Postby eleazar » Wed Jan 17, 2007 5:34 am

If you initiate conversation simply by hitting the action button, then the range should be short, to prevent situations when it's not clear who conversation is being initiated with. Of course then you would have to do something special when the conversation "target" is on the other side of a bar or table.
User avatar
Roots
Dictator
Posts: 8662
Joined: Wed Jun 16, 2004 6:07 pm
Location: Austin TX
Contact:

Postby Roots » Wed Jan 17, 2007 6:00 am

eleazar wrote:If you initiate conversation simply by hitting the action button, then the range should be short, to prevent situations when it's not clear who conversation is being initiated with. Of course then you would have to do something special when the conversation "target" is on the other side of a bar or table.


I already added code to take care of this. If multiple sprites are within range for the conversation action, then the code finds out which sprite is the closest to the player, and the conversation is initiated with that sprite.
Image
User avatar
Drakkoon
Developer
Posts: 173
Joined: Thu Jan 11, 2007 12:54 am
Location: Montréal, Qc

Postby Drakkoon » Wed Jan 17, 2007 6:38 am

Also, for counters/bars/shops. VirtualSprites can have dialogues. This mean that we can put a dialogue initiater anywhere on the map.

We can add a dialogue to any tile we want, we just have to create an invisible VirtualSprite on that tile.

Return to “Design”

Who is online

Users browsing this forum: No registered users and 4 guests