RPG Planning Thread


Yeah, screen flashes are something we have the tech for (now), but I haven’t put to sufficient use; in frogatto as well.

Anyways, a loose plan for the upcoming release, which I want to do in a couple of days:

  • no new levels, or expansions of current levels, besides the house having an interior (which is already done and connected; we have inside<->outside doors, and they work).
  • maybe fix our zordering thing to respect midpoint if that’s easy enough - something unrelated had me scrounging through the code, and I think it’s based on the midpoint of the solidity rect already, which would be basically perfect. This would fix most of the current overlap bugs; essentially the only missing piece would be adding support for cliffs and such whose upper sections overlap the player.
  • finish off flagstones/walking paths
  • finish off stone fences
  • add light-streams to windows (no fancy orange glow yet)
  • add several new miscellaneous interior bits of decor (plates, books, cutlery, you name it).

Looking ahead:

  • my immediate goal after this is to start work on the actual *@&!# combat system, and get some actual *@&!# gameplay working. I’ll recite the mantra right here that I need to be a big boy and force myself to not care about having programmer-art placeholders for the monsters right now. It’s how actual games get done. I’m kinda procrastinating on this by doing art; I need to stop, and address this.

Longer-term things I’ll sink background work into:
(the first section being things I need more of, but of which the current ones don’t need revision)

  • I need more interior props (consider: libraries, markets, butchers, apothecaries, general stores, smithies, and general agricultural/toolshop type stuff).
  • I’m good with exterior foliage, but need more exterior man-made props (crates, benches, wells, etc).
  • I need to finish animating the exterior ground plants. This will be lightly time-costly (two evenings if I focus), but should be easy.
  • I need more house parts. I think I’m really getting the hang of this.
  • I need to design monsters. I’m not very practiced at this. Once designed, though, animating creatures should be a buttload easier than humans, because we’re really not nearly as particular about their body language.

Longer-term things I need to spend time revising/fixing:

  • I need to clean up the tree foliage so it’s less noisy (some of the leaves on the bright branches could stand to be more individually readable). Very time-costly, but relatively easy.
  • I need to go over the player’s walk cycle another time or two, to iron out any motion issues before I commit to actually rendering it as the real sprites. I’m not satisfied with the current motion; however, I’m also really a newbie at walk animations, so there’s going to be a substantial amount of floundering here. This may go on for quite a while, and I may practice animating several other player/monster models before I render the main character’s. I don’t want to waste time on rendering and then have to redo it later (like wesnoth).
  • I’d like to re-attempt water. Many things about the current water are fine; the shape of the earth banks, the rippling of the water at the edge. But what I’d really like to do is figure out some provision for partly transparent water which lets you see the rock formations underneath, like was done in SD3. Water will probably get put off for quite a long while.


“A few days” we said, but I got caught up doing a bunch of other crap.

An upside is that our trig functions now more or less work exactly the way you’d expect them to. Loosely speaking, trigonometry functions get used when things move in a circle or an arc, in frogatto. Especially, things like swinging ball-and-chains.

We now (as of a month or two ago) support fixed-point arithmetic, but no one had updated the trig functions to actually use them until now. That is, to use trigonometry, you need to pass in “ratios” to a function, like 140/50 (e.g. 2.8) … but with only integer support in FFL, this was hellacious. We couldn’t directly use the ratios, because ratios like 2.8 would get rounded to the nearest integer, meaning what should be a smooth circle, would (due to rounding) snap to only 6 points. So, to not lose precision, we’d have to multiply everything by something like 100 before going into the fraction, and the divide it by 100 later.

Ex: 140/50 = 2.8, which gets rounded to 3. Info is lost.
But: 1400/50 = 28, which gets rounded to 28. Nothing lost.

Tolerable when you’re doing this once. A trainwreck when you need to do it 3-5 times in a calculation; there end up being so many magnitude corrections that you entirely lose track of what you’re doing. So internally, we made our trig functions bullshit stuff by multiplying values like this, which meant the parameters passed in would be 100 times bigger than they would for the same functions in any regular math; needless to say, no one liked this. Good riddance.


So glad you are doing the math here.


I’ve been thinking a bit lately about the design of the leveling up (experience) system, starting from discussions on IRC with Jetrel and others, and some gaming experience of my own.

First of all, I can’t say I strongly dislike some “grinding”; certainly far too many games abuse it, but a solid battle system and, in general, gameplay can do a lot to keep things fresh - as long as there’s moderation, of course. After all, the main thing that stops me from playing more Diablo 2 is the terrible slog that is the Act 3 (Kurast Jungle) - that’s a level design issue.
I suppose I wouldn’t be a RPG gamer at all if there was too much I found wrong in the genre, anyway.

I’m assuming that we go with a mostly level-based, instead of skill-based system; we’ll be controlling a party, not one character, after all!

A common problem there is that, usually, games will have a exponentially rising curve of experience, which often makes getting new levels in the late game too tiresome. We’ll probably want to make it so the number of enemies/battles neccessary to earn a new level remains relatively constant, though it’s good practice to make the first couple of level advances a bit faster than most. That has a dual purpose: giving the player a feel for the leveling mechanics (if there’s anything special in it, like skill selection) and, more simply, as a sample of the rewards to come. (“The first one’s free!” :P)

So we could have something like awarding 5% of the EXP to level up for enemies having an average level of danger and are at the same experience level (internally, exposing that may be unnecessary) as the players; therefore, if the player advances through the game in a steady manner, he won’t feel the experience curve becoming steeper.

As for how we represent the players’ acquired experience on the current level, it doesn’t neccessarily have to be shown as a numeric value, a progress bar would do; though if there’s any strategic benefit of showing the EXP percentage (i.e., when the next level-up heal is going to happen), we could show the percentage instead. That would be good for powergamers, but I don’t think that makes it a bad idea, so I don’t really care either way.

Awarding different EXP values for characters depending on battle participation is something I wouldn’t be too fond of seeing in a small party-based rpg; that leads to players having to control who kills what, instead of focusing on winning the battle effectively. That, or risk having to drag along a dead weight that can’t keep up with the rest. That’s okay when party members are more or less disposable, but not so on smaller teams.

And, last but not least, it’s a bit strange how stingy JRPGs tend to be when it comes to give out experience for completing quests; there’s no reason we can’t do that, after all.


One loose RPG idea I’ve had has been the idea of “secondary classes”, or skills, which aren’t related to fighting. I don’t want to go the dorky WoW route where you do crafting or any sort of “furk” with the secondary class; I’d prefer these to be as non-involved as possible - probably being passive skills in the main game. “Furk” is stuff like the routine tasks you’d have to do in farmville - things that aren’t complex/interesting enough to be a game in their own right, but consume a lot of time and player-actions as filler. My biggest problem with stuff like crafting is it isn’t fun in it’s own right; you get the ingredients, click a button, and it rolls for a chance of successfully making a thing - it might be fun if it were inherently challenging, but I just really don’t like that kind of stuff.

So some of the ideas would usually be passive bonuses, or action unlocks - in some ways, these ideas are actually a bit like the “professions” in oregon trail.

For example, if horses were involved in the game, being a farmer/herdsman/farrier etc might give passive bonuses to speed or endurance on the world map.

Being an apothecary/alchemist might reduce the duration/power of disease and poison (since you’re presumably able to treat it).

Being a tanner/tailer/cobbler might have some defense or endurance bonuses due to better maintenance of equipment.

Being a cook/grocer/spice-trader might give you the knowledge to keep food from spoiling. If, say, food carrying was a mechanic in the game like it was in jewel of arabia. JoA actually had a cool mechanic in that one of the available character classes was bedouins. Bedouins were quite average compared to other classes like ghazi (the pure combat class), but they gave the whole party a better ability to retain food and water stores, and safely cross the desert, which was a big part of the game.

Being a trapper or a fur-trader might be necessary to get any value from killing wild animals, and might be completely separate, as a skill from:

Being a salvager or a merchant might be necessary to get any value from killing bandits and looting their equipment. Money value for stuff also might be a great thing to apply the various goods-making skills (leatherworking, etc) to.

As a general thought, I’d really like to avoid the diablo-style “harvest equipment and sell it for gold”. It’s incredibly tedious, it pretty much necessitates something like town portals … and blech - it’s just a big bag of hurt. I’d really like it if you killed things, and - like in zelda:lttp, that was that. Nothing to resell.


Yeah, I’m all for cutting out the middleman and make wolves, etc. just drop the gold which you would get anyway from selling their pelts. ;D


Could do a commission system, where the gov’t pays you for cleaning up the roads of the horrible, horrible monsters. Different gov’ts (or groups) pay different rates.


I like the idea of introducing passive skills to the fold. Passive skills, when used creatively, make the process of rpging more customizable and add depth. They extend replay value and extend gameplay considerably. Finding the right skills in the perfect harmonious template… a skill that is seldom perfected.

(Passive skills, for those not in the know, are usually bonuses that can all be used to grant awards to various character attributes, not only in battle but potentially *on the world map. It’s a nice feature. It would be super awesome to get creative with this! We first have to hammer out character classes and specific traits along the lines that Jetryl has established to further elucidate such roles and functionality in game play. )

I like where J is going with this so far.

For the purposes of passive skills in battle: It’s worth noting that implementing these characteristics, at least at first, will create a bit of brainstorming as they will have a profound effect on powering up the character and the relationship to the overall mechanics of enemy interaction across the board. All things must be considered before deciding skill sets and the means for obtaining them. We may want to think about creating a general base for passive skills that is universal to all characters as a starting point before delving into unique passive skills.

In addition to gaining experience for leveling up and enhancing strength for a character, it might be a good idea to create a system whereby the player is granted special skill points for completing certain objectives, whether through obtaining special points through combat or completing tasks on the world map.

I think we should start thinking basic with this, along the lines of adding passive skills that are universal to all characters for use in battle that strengthen each individual character.

A list of unlockable skills used via skills points:

Melee bonus % (10 points needed)
Defense bonus % (10 points…)
Magi bonus % (10 points…)


It’s worth noting that certain classes would obviously feature faster growth rates for passive skills selected, though it’d also be nice to allow all characters the chance to share skill sets to strengthen the party against all possible scenarios that they may face in battle. For instance, allowing a tank character to select mage skill upgrades which enhance magic ability (albeit at a slower growth rate than magic-based characters) which compliment their usually vast defensive qualities. (ex) It’d be nice to have a tank-character that is capable of healing+ skills and clerical skills that would round out their skill set and keep them from becoming expendable assets on the battlefield.

Class-specific skills would be unique to individual characters. Ie, A gladiator has a specialized skill for killing beasts or other wild creatures he might find in the colosseum that isn’t available to mage based characters. In the wild these beast-skills would obviously prove to be quite useful.

This will require a lot of legwork in finding out how these skills impact game play but imo offer an amazing sense of depth. Definitely worth discussing.

*I am not sure what actions will be available on the world map. But if we added a mountaineer class, they would obviously be open to unlocking bonuses which allow the party to move over mountains with ease and reach areas otherwise inaccessible to other classes. SECRET AREAS. Other ideas, A viking class would be able to move through water-based terrain with ease. Or an astrology class that manipulates times and space to warp the party to areas already visited.


saving some irc brainstorming for posterity

[10:31am] zookeeper: Jetrel, so i had this very vague idea about initiating combat... [10:35am] zookeeper: enemies are present on the map, CT-style. but rather than always attacking you on sight, they'll crudely evaluate their strength vs yours, and attempt to retreat if you're too strong. however, the trick would be that enemies would gang up on you; if you run into a goblin it'll retreat because individually he's too weak, but once he stumbles into 2 of his buddies, they'll together figure they [10:35am] zookeeper: can take you, and attack. [10:35am] zookeeper: that'd require a rather fluid switching between combat and non-combat modes though [10:36am] zookeeper: that could be a way to prevent you from having to grind through a lot of individual easy fights; the weak enemies would cluster first before attacking, and then you could take them out in a single fight more quickly [10:36am] zookeeper: consider this very crude brainstorming, i think there's plenty of potential holes in that idea [10:37am] Jetrel: zookeeper: yeah, I think you and I actually discussed this exact thing at an earlier point. [10:37am] Jetrel: One thing I've definitely decided to go whole-hog on is making this an action rpg. [10:39am] Jetrel: In fact I myself actually rather -dislike- combat transitions, so ... what better excuse than to eliminate them entirely, like in zelda. [10:41am] Jetrel: I think I'd like to shoot for something like you said - for enemies to wander around "diablo 2" style, but for them to have a limited amount of "awareness of where their backup is", "decision-making based on whether they think they can even muster backup", "possible non-combatant exit strategies", and "latent behaviors" [10:42am] Jetrel: This is probably one of the biggest areas I'd like to innovate on, since it's one of the lower-hanging-fruit I think I can reasonably address. [10:42am] Jetrel: i.e. given our goblin example: [10:43am] zookeeper: i don't recall this idea from before, but... [10:43am] Jetrel: Our goblin - and we assume goblins are smart enough to do this - this could be a MAJOR differentiator between creature types - would be aware that most of his buddies are on the opposite side of a ridge. [10:43am] Jetrel: So if he sees you, two major things go through his head. [10:44am] Jetrel: (sigh, why do I always prepend these with numbers and then think up more ideas?) [10:45am] Jetrel: "gee, I really shouldn't fight these guys, they're too strong" "but, I bet I could take them if I get my buddies" -> so, he actually goes over there, and recruits the other goblins into a "mob" that comes after the player. [10:45am] zookeeper: too bad about the action rpg thing though, it feels like they're kinda overrepresented these days and good old-school turn-based ones are more fun :p [10:46am] Jetrel: zookeeper: well, I like action rpgs more, and these things are so granular that they'd be ... I don't think I can pull off a TBRPG, frankly. [10:46am] zookeeper: i dunno about the idea of them fetching a mob to come get you, that could get annoying quickly: see an enemy, move to attack it, it runs away and comes back with a larger group. hard to avoid nasty surprises that way. [10:46am] Jetrel: That I can't pull it off mostly scuttles the idea of me doing it. [10:47am] zookeeper: fair enough [10:47am] zookeeper: we don't need a meaningful definition when we already know what _we_ mean by it [10:47am] Jetrel: well, what if you have techniques specifically designed to deal with this - like a sleeping spell, or a stupor spell? [10:48am] Jetrel: also it could be entirely possible that a given goblin might actually outright simulate a weak "memory" of where his friends were, and might be totally *wrong* about where they were. [10:48am] zookeeper: Jetrel, sure, you probably would... but then whenever you see a lone enemy which wants to run away, you couldn't know if it'll come back with a mob too strong, so you'd be using those all the time (or taking potentially big risks). i think it'd just be more comfortable for the player to be able to have more control over when to initiate the fight. [10:49am] Jetrel: zookeeper: you'd know by enemy type [10:49am] Jetrel: bears don't gang up on you. [10:49am] Jetrel: Actual intelligent enemies do. [10:49am] zookeeper: yeah, i guess [10:49am] Jetrel: Furthermore, I LIKE having surprises like that - it's one think I really liked about diablo 2 [10:50am] Jetrel: The alternative kinda sucks - games like chrono trigger and SD3 become an endless series of manageable "fights against only 3 enemies". [10:50am] Jetrel: It's exactly the "ohshit" moments that make games like this fun. [10:51am] Jetrel: You might not be terrified of losing stuff if loss-consequences are gentle enough, but you're still engaged in dealing with the circumstances. [10:52am] zookeeper: anyway, as i said, just throwing some ideas around. what i originally had in mind was little more than "making it easy for the player to quickly take out all the weak enemies in a given area at once rather than forcing/encouraging grinding through a lot of individual easy fights" [10:52am] Jetrel: engaged because you're being confronted with unfair-enough circumstances that you really have to do everything in your power to survive - but only once in a while. [10:52am] Jetrel: So some other ideas related to this [10:53am] Jetrel: One major idea is that enemies could actually participate in logical activities, and might "move on", but only when they're done. [10:54am] Jetrel: Like, you might be travelling down a road, and run into some highwaymen looting a slaughtered wagon+riders. [10:54am] Jetrel: which brings to mind a related idea - standoffs. [10:54am] Jetrel: Standoffs could actually be a huge mechanic for evenly matched fights. [10:56am] zookeeper: humm [10:56am] zookeeper: how would they work? [10:56am] Jetrel: These highwaymen might notice you coming, and if you skirt around them and don't make any threatening moves, they might not attack you. If you outmatch them, there might be a good probability that they try to avoid attacking unless you blatantly do so. [10:57am] Jetrel: So they'd try to finish collecting their loot, and then run for it. [10:57am] Jetrel: Depending on how scared they are, they might take their merry time - or they might be really sloppy and just grab and run. [10:58am] Jetrel: Or they might take their chances and go after you once they've got their bags loaded and have sent off the luggage pony. [10:58am] zookeeper: okay, i thought you meant in-combat standoffs or something [10:58am] Jetrel: Well, yeah, I do - because of a lack of distinction between combat and non-combat [10:59am] zookeeper: oh, duh. yeah. :p [10:59am] Jetrel: I.e. groups often might disengage from combat [10:59am] Jetrel: Different moves would push combatants back and forth. [11:01am] Jetrel: A lot of combatants will tend to take swings, and slide-back to dodge oncoming blows - you'll get a lot of situations where there will be momentary lulls in the combat - as happens even in SD3, without any fancy AI, just because various moves have resulted in characters being at a sudden distance from each other. [11:01am] Jetrel: (a common cause includes vanquishing an enemy) [11:02am] Jetrel: so in a state like this, the enemy might regroup... and then enter standoff mode, trying to gauge if they really should do this or not. [11:02am] zookeeper: so you might fight 4 goblins, kill 2 of them, and then the remaining 2 will decide to run off to their buddies further away [11:03am] Jetrel: Yeah, exactly! [11:03am] Jetrel: Or they might just break and run, if they're not aware of any allies. [11:04am] zookeeper: would probably work nicely (and large amounts of weaker enemies would be much more interesting to fight) if you can get the AI to really function well enough [11:04am] Jetrel: Which would vary from species to species - some species will tend to berzerk when threatened, others to get defensive and conservative, others to break and run [11:04am] Jetrel: Also there might be mixes of different kinds of enemies where certain kinds really muster the morale of their compatriots. [11:05am] zookeeper: yep [11:05am] zookeeper: soldiers and captains, etc [11:06am] Jetrel: So I really think _this_ is the big thing I want to innovate on - most of the other stuff I do in the game is going to be fairly run-of-the-mill ARPG stuff, with a little bit of enlightenment from the industry's cumulative experience, but having good encounter mechanics is probably the big thing I want to do. [11:06am] Jetrel: Like, I don't want to mess with some silly crafting system. [11:07am] Jetrel: I might also stick to fairly tried-and-true loot mechanics where enemies are handwaved to somehow have been worth barter by their pelts or something. [11:09am] zookeeper: humm [11:09am] zookeeper: another random vague idea: [11:09am] Jetrel: Combat, I do want to branch out substantially compared to most ancient ARPGs, but it's not going to be earth-shattering, and probably won't be "innovative" outside of the idea of importing combat mechanics that aren't usually in the genre. [11:11am] zookeeper: have X (let's say 4) basic "resources" (sort of like lumber-gold-coal-iron, but something more suitable), with different enemies dropping different ones. you can easily trade them to cash, but they're also used for some... other core trading/crafting/casting mechanic, so you have to decide which ones you sell and which ones you need [11:13am] Jetrel: Yeah, I was actually thinking about that in the framework of Sid Meier's Pirates, earlier today [11:13am] zookeeper: so you don't accumulate a huge pile of leather armour and rusty swords, but you do get something other than just money [11:14am] ceninan (~niwa@c-fb3be255.1119-1-64736c10.cust.bredbandsbolaget.se) joined the chat room. [11:15am] Jetrel: In pirates, you had 4 tradeable goods, one of which was fluff useful only for sale (and changed depending on the time period - hides, rum, sugar, and some other crap - actually I guess two of them were like this - the other was just generically "goods". [11:15am] zookeeper: right [11:15am] Jetrel: You also had cannon, and food [11:18am] zookeeper: anyway, i think there's some merit to the simple idea of converting redundant items straight to cash (like if an enemy drops a sword that's worse than what you got, it gets turned to cash straight away; if it's better than yours, you'll get it) [11:19am] zookeeper: of course then you'd need to make sure that those kinds of redundant items are never required for quests and such [11:21am] Jetrel: zookeeper: yeah, that's a pretty well "solved" thing - ToP for example did that by making a special category of "story" items which can't be traded. [11:22am] Jetrel: Or dropped, or any such harmful action. [11:26am] zookeeper: i don't generally like that sort of hand-holding too much. makes it hard to create situations where you can use familiar items in clever ways, and makes find-an-item quests feel more... "hardcoded", in a way, because when something gets labeled a "story item" in-game its use/delivery/whatever suddenly feels much more linear and predefined [11:26am] Jetrel: I think the benefits outweigh the downfalls of breaking a game by losing "that one item". [11:27am] zookeeper: if you meet a guy who talks about how he'd really like one of those golden swords they have across the sea, and you eventually find one of those and it gets labeled "a story item, it's here so you can take it to that guy who wants it!" in your face, it's kinda meh [11:27am] Jetrel: Depends on context. [11:28am] zookeeper: for really unique one-of-a-kind story items like that crystal which enables you to save the game, it's fine [11:28am] Jetrel: If it's a golden sword you *could* replace? Yeah, it's fine to make it a normal item. [11:28am] Jetrel: If it's the horadric cube? No, it's a story item, you can't drop it or sell it. [11:29am] Jetrel: Or say, the horadric staff - yeah, you can use it as a weapon, no, you can't "lose it" - I forget exactly which things D2 protected you from there. [11:31am] zookeeper: Jetrel, yeah, my point was that if anything gets converted to cash/whatever automatically, then you can't have quests where you need to spend the kind of items that might get converted to cash... which limits quest items to the unique ones you can't sell and which have that big "story item, this is important!" label on them [11:31am] Jetrel: yeah. [11:31am] Jetrel: That much I agree with. [11:31am] Jetrel: Not sure which way I'd go on that. [11:31am] zookeeper: like you can't have a quest where you need to go loot some gear to arm your goblin friend for battle, and then he actually fights with the items you give him [11:32am] zookeeper: or you can't get the guy the not-so-insanely-special golden sword he wants [11:32am] zookeeper: yeah, i don't know what'd be "best", if there is such a thing. worth considering all alternatives though [11:36am] Jetrel: yeah [11:38am] zookeeper: generally i think it helps immersion a lot the fewer "quest items" you have. for example, an item-fetching quest always feels more real when the item is a technically mundane item which might be hard to get or which you might already have or which you might even be able to buy somewhere, rather than obviously only being there for that particular quest (or having very very limited other uses). [11:41am] Jetrel: Hm [11:41am] Jetrel: On a related note, I really, really want to avoid a number of aspects of diablo2's system. [11:42am] Jetrel: In a sentence "avoid a shitload of minor magical buffs that don't do a f'ing thing". [11:43am] Jetrel: "hmm, sweet, this weapon does 6-48 regular damage and 1-2 fire damage? What's the point in even having the fire damage?" [11:43am] zookeeper: well that goes without saying :p [11:44am] Jetrel: zookeeper: well, amongst us, maybe, but there are quite a few imitators. :( [11:46am] Jetrel: I think if you bother giving something a magic buff, it should be fairly significant. [11:47am] Jetrel: I.e. if you have a "shining sword" that emanates light, then it should ... like... double, your light radius. [11:47am] zookeeper: yeah. unless perhaps the minor buff is significant in situations it mainly exists for, like if that sword's 1-2 fire damage means it's actually not completely useless against an ice golem which could have a -200% resistance to fire [11:48am] zookeeper: but of course in general you should have no abilities or features which are essentially useless [11:48am] Jetrel: If you have a flaming sword, it should deal as much flame damages as physical damage, etc. [11:50am] Jetrel: Tentatively, I'd shy away from significant early "magic weapon" effects, and rely on most weapons being differentiated by what kinds of moves they're good for, their hand-to-hand range, and their heft and movement speed. [11:51am] zookeeper: yep [11:51am] Jetrel: This is probably the big area I'd want to "innovate" in - not really anything that aoe3 or many other games haven't already done, but I think it should markedly improve over regular arpgs [11:52am] zookeeper: and even later i'd suggest being very conservative with weapons that have actual visual magic effects (like flaming swords), and rather have more magic weapons which which are simply unnaturally quick or strong or whatever [11:52am] Jetrel: Yeah, agreed. [11:53am] Jetrel: A big thing from aoe3 I want to use heavily is 1] melee range differentiation and 2] melee area-of-effect differentiation [11:53am] Jetrel: It would allow a lot of dynamism - if you were wielding a halberd, you would have a massively higher range than a sword. [11:54am] Jetrel: -but-, you'd have a much slower, more awkward strike. [11:55am] Jetrel: And I think for certain weapons, there'd be a part of the stroke where you're "stuck", where the impetus of swinging the weapon impedes your ability to dodge/strafe [11:56am] Jetrel: Which actually might be a nice differentiator for equipment weight - say, you could get some heavy iron shoes which slow you down, *but* greatly alleviate the "thrown off balance" factor from swinging your weapon. [11:56am] Jetrel: You move slower, but you're able to move around whilst delivering a blow, rather than being stuck. [11:56am] Jetrel: (all of this probably being on a continuum) [11:56am] zookeeper: hrhm. so what were your ideas WRT party members in combat, how to give orders to them etc? SoM/SD3-style or something else? [11:57am] Jetrel: Probably a lot like SD3. [11:57am] Jetrel: Touchscreens and mice might allow more flexibility [11:58am] Jetrel: Obviously, SD3 was hands-off primarily because trying to control them would have been a mess [11:58am] zookeeper: yeah i just realized that i had been thinking about all that enemy AI behaviour in context of a typical one-character ARPG [11:58am] Jetrel: Oh yes, that's one thing I do want to change significantly. [11:59am] zookeeper: you're gonna have fun trying to make the party members act non-stupidly (WRT chasing enemies or just generally keeping themselves from getting killed) [12:00pm] Jetrel: zookeeper: nah, I'm just not going to care - SD3 worked pretty well in that regard. If death doesn't have excruciating consequences, then escort-stupidity doesn't do much damage. [12:00pm] Jetrel: And AI unfortunately tends to be a fixed quantity in such matters, so I'm probably forced to do so. [12:01pm] Jetrel: In SD3, your escorts are merely incapacitated, and walking to the next scene revives them. [12:02pm] Jetrel: There are in-combat revival items which prove essential during boss battles (and have a sneaky side-use because they restore your otherwise incredibly hard-to-restore mana). [12:03pm] zookeeper: i dunno, i think i was pretty often annoyed at the AI in SD3 when i wanted everyone to get away from a particular slow enemy because it dealt high damage up close, but couldn't [12:04pm] Jetrel: Right, but there in SD3 - they didn't even have the most basic controls like "don't fight" [12:04pm] Jetrel: Just the most basic modes would help. [12:04pm] zookeeper: mmkay [12:04pm] Jetrel: Honestly just one button could do it. [12:05pm] Jetrel: A toggle between "retreat mode" and "attack mode"



[12:05pm] zookeeper: yeah, that'd help a lot [12:05pm] Jetrel: (where in "retreat" they probably would run to your main character) [12:06pm] Jetrel: SD3 was hurt by that dumbass decision to half movement speed during combat. [12:06pm] Jetrel: I don't know why on earth they did that - that castrated tactical opportunities in battle. [12:07pm] Jetrel: When you can't meaningfully maneuver around enemies, your only feasible strategy is usually to just slug it out. [12:08pm] Jetrel: s/halve [12:09pm] zookeeper: anyway, if you're aiming for even slightly more realistic/visceral/lethal combat (so more in line with some WRPG traditions) than the usual casual rabite-smashing where you're rarely in real danger in any given individual fight, then party AI becomes a lot more important [12:10pm] Jetrel: zookeeper: yeah, I don't want that at all. I want the challenge to come from the combat actually being hard, not from "high penalties for one character running out of HP during combat". [12:10pm] zookeeper: stupid party AI works in games where just slugging it out is the best strategy most of the time [12:11pm] Jetrel: I.e. if your ally is dumb it's not the end of the world, and the game NEEDS to be forgiving for your ally being dumb, because honestly you're going to have too much to manage. [12:12pm] Jetrel: If they die, you cope, and once you've killed the nearby enemies, you can resuscitate them -for free-, and recuperate their health with the most basic healing techniques. [12:12pm] Jetrel: the threat isn't one ally being dumb, the threat is TPK. [12:12pm] zookeeper: TPK? [12:13pm] Jetrel: (total party kill) [12:13pm] zookeeper: right [12:13pm] zookeeper: well i don't mean that it can't work like that in theory, just that balancing it that way could be really really difficult [12:13pm] Jetrel: That's one area I greatly prefer the jrpg approach for. [12:13pm] Jetrel: I think the opposite is the case - that balancing for that is much easier because it's much less volatile. [12:14pm] zookeeper: well how do you make combat difficult, if healing and resuscitation is so easy? just make it hard to actually land a decent blow on enemies, because they keep dodging and you have to time your strikes well? [12:14pm] Jetrel: Because any player-losses are not "major, ongoing power losses" [12:15pm] Jetrel: zookeeper: healing and resuscitation have nothing to do with combat - those, at least definitely the latter, are only easy AFTER combat. [12:15pm] zookeeper: i know [12:15pm] Jetrel: the difficulty is in the combat _itself_. [12:16pm] Jetrel: Not in a metagame where you're trying to not deplete your resources as you venture into a dungeon. [12:16pm] zookeeper: but combat is easier when you know that you don't need to worry about allies getting hit bad, because you know you can just heal them afterwards at little cost [12:16pm] Jetrel: .. [12:16pm] Jetrel: no, you're not thinking this through. [12:17pm] Jetrel: You do not have that luxury, because every ally that falls in combat makes a TPK markedly more likely. [12:17pm] Jetrel: If they fall in combat, it's quite hard to revive them till afterwards. [12:17pm] Jetrel: And the enemies that were fighting them now all gang up on you. [12:18pm] Jetrel: I mean, this was established and worked pretty well in e.g. SD3. [12:18pm] Jetrel: SD3's fault was the constant and low-grade enemy encounters. [12:19pm] crimson_penguin: "Jonathan Coulton's Greatest Hit (Plus 13 Other Songs)" [12:20pm] Jetrel: That, and the fact that "angel's grails" (the recovery item) were balanced for boss-fights, not casual encounters, which was a real problem. [12:20pm] Jetrel: That's one major change I'd make - if an ally goes down, you probably shouldn't have the option of in-combat revival except in boss fights (possibly enforced by scarcity) [12:20pm] crimson_penguin: there's a humble music bundle now [12:21pm] zookeeper: Jetrel, yeah but what i was getting at was how do you balance party AI stupidity and their tendency to get killed and the fact that their deaths are actually something you need to try to avoid? first you said that some AI stupidity isn't a big deal because ally deaths are not a big deal because you can revive them after combat, but they are a big deal if it causes everyone to gang up on you [12:21pm] zookeeper: in combat and TPK you. [12:21pm] Jetrel: zookeeper: I guess I've never seen this as a problem. [12:22pm] Jetrel: I mean, this is the meat and potatoes of some of my favorite games, like ARES [12:23pm] Jetrel: you pull them back when they're getting hammered, you cast healing spells at appropriate moments - you just play the game decently, and it's not a problem - and is for me one of the main draws of playing the game. [12:23pm] zookeeper: well... it can be or not be a problem depending on the exact balance and AI stupidity [12:23pm] zookeeper: just saying that it _can_ be a problem [12:24pm] Jetrel: Given how horribly SD3 was balanced, this is not a tough balance point, I have no fears about it. [12:24pm] Jetrel: (how horribly it was balanced in terms of overall combat difficulty) [12:25pm] Jetrel: Tough areas were tough, but they weren't compounded - in my experience - by AI stupidity. [12:26pm] Jetrel: ahh [12:26pm] zookeeper: yeah, i'd say because combat wasn't hard, it was usually just slugging it out and occasionally casting spells/techs [12:26pm] Jetrel: I think I know what the reason was.. [12:27pm] Jetrel: Because SD3 had no "hard counters" to which the player-characters were susceptible. [12:27pm] Jetrel: to use a wesnoth example, no spearmen for our cavalry to go off and attack. [12:28pm] Jetrel: Enemies were mostly the same in terms of hand-to-hand damage output; there were a few that were stronger by a factor of 2, but no cases where something was, say 40x better. [12:29pm] Jetrel: Whereas you easily get that, and more, in AoE3 - if an archer tries to hand-to-hand a heavy cavalry unit like a cuirassier, he'll literally be doing about 5-10 damage per hit to a unit with upwards of 700hp [12:30pm] Jetrel: Whereas a pikeman does something like 20*5 (i.e. 70-100) damage per hit against such a unit. [12:31pm] Jetrel: aoe3's balance in that regard was rather better than aoe2 [12:32pm] Jetrel: (archers for example only got that horrible penalty -at point blank range-; meaning a lone cavalry unit being peppered by their 30dmg ranged attack of all the other archers was a very different matter than all of them being simultaneously attacked by cavalry which force them to hand-to-hand) [12:32pm] marcavis (~marcos@ joined the chat room. [12:32pm] zookeeper: i presume that you want the middle ground between the two extremes [12:33pm] Jetrel: zookeeper: well, I probably don't want many "damage receipt" hard counters against the player. [12:34pm] Jetrel: I'm cool with damage-dealing hard counters - the trick is to have enemies some party members can't do much damage -to-, but to not have any party members who have enemies that can deal unusual amounts of damage to them. [12:35pm] Jetrel: i.e. no "party including the tin man, who's being faced by rust monsters" [12:35pm] Jetrel: If your party member AI derps out, he's not going to wander into a slaughterhouse, he's just going to not deal much damage. [12:36pm] zookeeper: yeah, i was about to bring that up :p [12:36pm] zookeeper: that's a good solution to it [12:36pm] Jetrel: Because that really seems to be one of the big offenses - situations where "you can survive unless your ally does one particular thing that instakills them" [12:36pm] Jetrel: One particular thing which the AI isn't trained to avoid, and agonizingly does all the time, and you're constantly trying to keep it from doing so, etc, etc [12:38pm] marcavis: hmm hmm, I think I'll want to see where this conversation started :D

Jetrel: so uh
[12:43pm] Jetrel: one very related thing I want to get into is that you’re part of what’s during parts of the game, a military outfit, and when you get in fights, you often have military escort.
[12:44pm] zookeeper: my long lines don’t get cut off, it seems. i wonder if it’s my client or the server which splits them.
[12:44pm] Jetrel: For annoyance removal, you don’t have “escort mission” consequences with these guys, they’re just an overall boost.
[12:45pm] Jetrel: however they also may not follow you far from camp.
[12:46pm] Jetrel: I just think this would be really nice to depart from many traditional games with - to make it so if you get in fights on friendly territory, YOU get the do some curb-stomping.
[12:46pm] Jetrel: Or you just straight up get to sit back and watch it resolve itself.
[12:47pm] Jetrel: (i.e. dumber things might engage the perimeter guard, without you initiating it, and you’ll just watch those things get slaughtered without having to intervene)
[12:48pm] zookeeper: well, yes, being a real-time game means you can have those sort of live sequences which in a way double as cutscenes
[12:48pm] zookeeper: (which is nice)
[12:48pm] marcavis: hmm, now I wonder - would you be able to freely loot those? Though I presume that looting would be automatic, instead
[12:49pm] marcavis: clicking corpses doesn’t really add to the fun, does it
[12:49pm] Jetrel: marcavis: yeah, I really don’t want to do diablo-style looting, that was just RSI hell.
[12:50pm] zookeeper: if loot gets converted so that you’ll never want to not pick it up, then only require the player to run over it to pick it up
[12:50pm] zookeeper: if the player gets to choose what to pick up and what not, then just come up with some kind of a smart interface to make it as quick and painless as possible
[12:51pm] marcavis: http://chzvideogames.files.wordpress.com/2012/04/video-game-memes-error-error-error-error.png I just love this one xD
[12:53pm] Jetrel: yeeesh
[12:58pm] marcavis: well, final fantasy gets by just fine with automatic looting. Not that that’s Jetrel’s favorite series :stuck_out_tongue:
[12:58pm] marcavis: some sort of manual looting is necessary if and only if inventory is finite
[12:58pm] marcavis: Otherwise, no reason not to have Worthless Junk x99
[12:59pm] Jetrel: marcavis: yeah, that’s actually one point of the FF-family I don’t mind so much
[1:00pm] Jetrel: There’s a lot I dislike about the FF-family; random encounters, linearly-increasing weapons which are “in series” rather than having meaningful choices between them, not much battle strategy, etc.
[1:01pm] Jetrel: totally off-topic, but: http://www.wired.com/dangerroom/2009/10/super-concrete-in-the-us-military-iran-and-the-pyramids/
[1:02pm] marcavis: Final Fantasy X does a number on that second gripe - all weapons start the same, it’s just a matter of finding one with the best bonuses, or customizing the weapons with them; say, with the cost of 80 antidotes, one can make an armor give poison protection
[1:10pm] marcavis: hmm Final Fantasy VII is also a bit like that in that some weapons are better but have less Materia slots/have them as singles, and not as in the more interesting pairs
[1:10pm] marcavis: Not that I’m trying to convince you to play FF
[1:11pm] Jetrel: Well, that’s a bit like gem slots in diablo2 items
[1:11pm] Jetrel: How did the materia work?
[1:14pm] marcavis: let’s see… when they are in pairs, they interact with each other; like if you put Doublecast and Fire together, you can cast the Fire technique twice in a row; and yeah, they’re much like removable gems
[1:14pm] marcavis: they also grant some small stats changes; elemental materia like Fire reduce HP and increase MP slightly, I think
[1:16pm] marcavis: Hmm, Doublecast is actually called W-Magic there. And there’s Quadra Magic, which casts four of the linked Materia
[1:16pm] Jetrel: marcavis: http://www.penny-arcade.com/comic/2008/04/14/
[1:17pm] marcavis: hehehe
[1:17pm] zookeeper: i also liked the way KotOR handled lightsabers. lightsabers were all the same stats-wise, but each could hold 2-3 crystals which would give them different properties, and you could swap the crystals and combine them in different ways depending on what sort of features you needed
[1:18pm] zookeeper: hrhm. or am i remembering that right at all.
[1:19pm] zookeeper: no, i’m not; each saber was constructed from different parts (hilt, power cell, lens, etc) and could hold a crystal or two. the parts themselves had different properties, although they were largely “in series”
[1:20pm] zookeeper: (and you could still switch the parts as easy as the crystals)
[1:20pm] zookeeper: well, whatever. it was something along those lines.
[1:20pm] marcavis: Jetrel: http://www.uffsite.net/ff7/materias.php check the bottom ones for interesting linking effects; like All, or Added Cut
[1:21pm] marcavis: Final Attack, as well - casts the linked materia’s magic when dying
[1:21pm] marcavis: something some leet equipment also does in diablo 2
[1:25pm] zookeeper: i think something like KotOR’s weapon modification system could be used in a fantasy setting as well, although a huge part of the modifications would need to be magical in nature. hard to come up with a lot of halberd parts with very different properties :stuck_out_tongue:
[1:27pm] zookeeper: works best in a sci-fi setting i think. it’s quite a bit easier to come up with switchable parts and modifications for guns and lightsabers and whatnot than for swords and bows.
[1:28pm] marcavis: yeah, the equivalent would be… shudder… crafting
[1:29pm] Jetrel: Yeah, just for complexity’s sake I don’t want to mess with that.


I’ve recently poked through the hipster wankfest adventure game “Superbrothers: Sword & Sworcery”; which is rather like Secret of Monkey Island for those who haven’t played it (for those who haven’t played SoMI either, it’s like a game of King’s Quest that you can’t render unwinnable by doing the wrong thing).

One thing that jumped out at me (literally) was a brief bit in the game where you’re chased by the guardian. This guy in the pic linked below. He reminded me of how poorly ghosts are handled in most games by being a good handling of the subject matter:

What sucks about most ghosts in most games is a lack of fear - specifically “numinous” fear, as C.S. Lewis described it. He actually invoked this to help define the term “numinous” in the first place - he gave a short example where you presuppose you’re blindfolded. Hell, I’ll actually quote it directly, since it’s well written:

... what Professor Otto calls the experience of the Numinous. Those who have not met this term may be introduced to it by the following device. Suppose you were told there was a tiger in the next room: you would know that you were in danger and would probably feel fear. But if you were told 'There is a ghost in the next room', and believed it, you would feel, indeed, what is often called fear, but of a different kind. It would not be based on the knowledge of danger, for no one is primarily afraid of what a ghost may do to him, but of the mere fact that it is a ghost. It is 'uncanny' rather than dangerous, and the special kind of fear it excites may be called Dread.

Now suppose that you were told simply ‘There is a might spirit in the room’, and believed it. Your feelings would then be even less like the mere fear of danger: but the disturbance would be profound…

The problem with most ghosts in videogames is that they utterly fail to evoke ‘Dread’ - at best they evoke some fear of losing the game.

I’m not entirely sure why, but I think most of it has to do with how most ghosts in most stat-based games with clearly defined rulesets (i.e. wesnoth) are contained, and are well-defined. They’re robbed of the fear of the unknown, because every way by which they can threaten you is fully known, and bounded.

To counter this, the first and obvious tack might be to implement various kinds of hidden information without changing the game; invisible locations (which wesnoth does), invisible stats like HP and such, etc, but my brief play in S&S:SB reminded me of something most games don’t do, which was emotionally effective in the game because it was my first time playing, and the game was unusual enough that I wasn’t sure where it was going with things - I wasn’t sure what tropes and proven videogame conventions I could rely on to keep me safe. I was emotionally moved, given a touch of storytelling-invoked dread, by the very fact that “I didn’t know what the game was going to do”. The very fact that I was presented with this ominous threat, and had no idea what rules it was playing by.

Any other game works by the “if it bleeds we can kill it” principle. Even if you hid stats, or something, if you saw a ghost, it’s just … sweet, keep shooting, eventually you’ll kill it. Other various gimmicks, too, are just a matter of discovering and working around the rules.

To solve this, to keep the dread, it seems most effective if we have something where we keep you in this state where the rules aren’t known. Hiding them doesn’t fix this, because gamers are experts at poking at what physicists call a black-box (a thing with internal properties you can’t open up and directly look at, but can guess at by examining how the box behaves in response to external stimuli; rather like shaking a christmas present and feeling its heft to guess what’s inside). Gamers are pretty-much trained from birth to figure out game’s internal rulesets.

So it seems it’d be ideal if the rules cannot be known. If hiding them is out, what about changing them dynamically and unpredictably? Varying their amounts/scales, but also swapping them in and out wholesale? I.e. most game creatures conform to a rule where they can’t pass through solid rock - maybe some ghosts can, but you can’t externally infer which ones - you cannot see this coming, you have to fear that they may be able to randomly do things that shouldn’t be possible in the game.

Thoughts? This is pretty far-out territory, but this is something that’s bugged me about most games for a long time.

(This is somewhat relevant: http://www.youtube.com/watch?v=RoK29EL2SU0 )


Good link. I think that, given Frogatto’s frequent save states, we could afford to make on rare ghost which is just unfair. And evil, and scary, and totally looks like all the other types of ghost. Sort of like a ninja kitty, in some respects, in that he’s actually quite the adversary. For example, we could make one that you simply have to flee from the level to avoid. We can make it semi-random, so it’s not too frustrating, and occurs in the second or third level about half-way through. I’m not sure how well this would actually be from a player perspective, since it’s quite a cruel trick. It would be a decent way to actually make them a bit scary.

Or not.


I think the most effective use of a ghost I’ve ever seen in a video game was in Seven Days a Skeptic, an adventure game by the guy who does Zero Punctuation. I’m not usually get too affected by in horror fiction, but I was in all legitimacy afraid of the dark for a solid month after playing that game, and I refuse to finish the series.

Go play it, because I’m bursting at the seams trying not to elaborate the ghosts’ rules.