namida's new RPG project

Started by namida, November 25, 2018, 10:57:58 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

#15
Elements and status effects (in general, not every individual status) are now working (though I still need to implement immunity / resistance to statuses).

In terms of which status effects are actually implemented so far, it's only Death, Zombie, Haste, Slow, Shield, Aura, Weaken and Meltdown - but more are coming, don't worry about that! I'm not necesserially going to copy everything from the original (for example, two of these have been renamed, and are just similar rather than identical in effect), but it's likely we'll see at least some of the standard-RPG-fare ones - and maybe some new stuff if I come up with good ideas that I think will have practical use scenarios.

I've also decoupled animations / displaying attack effects, from the overall progression of the battle system. This means, essentially, that I can make an animation play and/or an effect show at any time - one use case for this would be showing statuses being removed at the end of a turn due to expiry; another might be to show Poison damage (once I implement that).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#16
Done a lot today. In addition to those mentioned in the previous post, I've now added the status effects Poison, Blind, Silence, Sleep, Virus, Regen and Defend (EDIT: and Reflect). Additionally, buffs and debuffs - or at least, Strength, Defence, Magic and Spirit buffs and debuffs - are all working. I'm probably not going to add HP, MP or Luck (de)buffs (but I will likely add Agility). Finally, status resistance is now a thing at last.

I've also finally implemented equipment. I won't say too much for now on how equipment will work this time around, but I will say it's a little bit different - though should still be very easily understood by anyone who's played the original game.

One feature FFX had that didn't make it into the original game, but the new engine has now, is "SOS Status" abilities. These are similar to Auto-<Status>, but only activate when the character is below half HP.

EDIT: And, finally implemented enemies dropping items!
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#17
I've now implemented status-touch/strike and element-strike abilities. :D

So, let's talk about how equipment's going to work this time around. Instead of having a traditional-style weapon, and several ability slots, instead, you'll have a weapon and an armor, which themself may contain abilities. Similar to FFX, the weapons and armor have no special features whatsoever outside of the abilities on them - so even if you got them in different places or they have different names, two weapons with "Physical Damage +10%" as their only ability will function exactly the same.

Currently, I'm thinking along the lines of capping the number of abilities per equipment piece at 4. Remember - this is per piece, so between a weapon and an armor you'll be able to have 8 total abilities. However, I don't plan to allow total freedom over what abilities are on equipment - I might implement shops where you can custom-build a weapon, but this would only be from a (shop-specific) limited selection of abilities. For the most part, it'll be a matter of what you find (which will be fixed) or receive as drops (which there will be room for variance on - for example, the swan enemy I've been using as a test will have a 50/50 chance of weapon vs armor, which then has a 50/50 chance of having either Physical+/-5% (+ for weapons, - for armor) or Magical+/-5%, and then a 10% chance of also having the corresponding 10%). The scripting for drops allows for a bit more complex than this - for example, the abilities could vary depending on which character they're for.

Any individual weapon / armor is tied to a specific character. However, the character will be able to switch weapon / armor at any time (even in-battle, though this will cost a turn, and only one piece can be changed per turn, not both).

Abilities also won't always be positive. While there'll be more positive than negative, you may very well come across an armor that gives you an elemental weakness, or a weapon that reduces the damage you deal, or an armor with something like Hasteproof on it. In some cases, this really will just be junk equipment that serves no purpose, but in other cases, it might be that you come across a double-edged sword (pun not very intended) - for example, you might find a weapon that reduces your physical damage dealt by 10% but increases your magical damage by 25%, or an armor that makes you immune to Haste but gives you auto-Shield and auto-Aura. Or, there might be situational uses for them - for example, an armor with Auto-Zombie might not be so useless against a boss that likes to use instant death moves, especially if it also comes with an elemental absorb on it so you've still got a way to heal. Or if a boss likes to use the Zombie-Regen combo and you don't have any way to block Zombie, you might have at least picked up a Regenproof armor somewhere.

I've also now implemented summoning - or at least, the basic summon / dismiss (though there are further details of how this will work, that remain to be implemented). Probably the only major battle system features that are still missing are in-battle equipment changing and member switching. (Some specialized moves - eg. Steal, Mix (maybe) - still need to be implemented.) EDIT: Both switching and equipment changing are possible in-battle now.

Because there'll be a limit to how many abilities a character has available at a time, I don't see the need to segregate attacks into sections like "Black Magic", "White Magic", etc. However, the list will be split into two sublists (accessed by pressing left / right from the other list). The first one has Attack, Summon, all equipped attacks, and Item (in that order). The second one has (currently in this order, but I wonder if this is the optimal order) Defend, Change Weapon, Change Armor, Stall (pass turn without doing anything), Switch and Escape. In particular, I wonder if having Stall in the middle is optimal (as you can wrap around, Escape and Switch are still fairly quick to get to).

As a point of interest - just to get to this point, which is still far from done (especially in terms of the menu system, where almost nothing works so far - you can view (but not use / equip) your inventory and you can view and reorder your party, that's all), there's already 421KB of source code. o_O

And another very important feature has just been implemented - you can now save and load your game! At the moment, it's limited to a single save file, but this is purely a matter of "I haven't added a menu to select from extra ones" yet.

Counterattacks have also finally been implemented. One thing I can confirm is we won't see the behaviour from the original where counterattacks can occur mid-attack (eg. in the case of Double Hit, where an enemy would counter once after each hit, or when using a hit-all magic spell against multiple counter-capable targets, where each target would counter immediately after taking damage rather than after the whole attack finished).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#18
Quote from: nin10doadict on December 09, 2018, 12:23:45 AM
Being able to see how the move affects the upcoming turns is quite nice. One thing that bugs me about Final Fantasy Opera Omnia is how moves that grant speed buffs or debuffs don't reflect the new status in the turn queue before the buff/debuff actually occurs. I've had instances where I was trying to plan my turns in a specific way, only to find the queue suddenly changing because one of my characters gave themselves a speed buff. :-\

I've now got this implemented for Haste and Slow. I still need to do it for Agility buffs / debuffs, as well as handle some edge cases. EDIT: And now the (de)buffs, and all the edge cases I could think of, are covered. :D

When you're selecting a command, the turn order will update to reflect what will happen from use of that command alone. Once you're selecting a target, it will also reflect what any status inflictions will do to the turn order. When rendering this, it assumes the infliction will succeed (it makes this assumption even if it's literally impossible for it to succeed). And yes, it takes into account any [status]touch/strike abilities you may have when using physical attacks, too. :)

MP-damaging and draining attacks (including MP-draining attacks) are also implemented now. I still don't feel very comfortable with the idea of enemies actually requiring MP (being able to drain away all their MP just feels like a really cheap tactic, unless they solely use unique attacks that don't consume MP, in which case it's no different from them having free use of spells), so it's likely that'll be the same here - that enemy MP is only there for the purpose of absorbing it. However, perhaps if other means of healing MP aren't so common... ;)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

nin10doadict

The turn queue reflecting buffs gained/lost with the move sounds very good.

Well, enemies having infinite MP or not needing it for anything is fine, as long as you don't try to play tricks with it.

I recall one battle in Bravely Default where a boss character was talking about his party "using up too much MP," leading me to believe that using abilities and attacks to drain their MP was a valid strategy. Nope. They either have practically infinite MP or just don't need it for their attacks.
Coincidentally, that battle is one of the hardest in the game if you don't use cheese tactics, and not just for the reason that the dialogue tries to mislead you.

namida

So, you may have noticed in an earlier screenshot, the presence of a "Summons" option in the menu. I'm sure you're all familiar with the general concept of summoning in RPGs, and as you probably guessed the way they work in this game is similar to FFX.

Each character can equip one summon at a time. I plan to tie useable and/or learnable abilities to the equipped summon, but haven't decided on exact details of this yet. It is possible that some characters won't be able to summon, or that some otherwise-regular characters won't be able to change their equipped summon.

During battle, you can summon on any turn. This essentially works like switching to the summon, except that it replaces your entire party (not just the character who summons it). It's not a game over if the summon dies; you go back to controlling your party instead. Once the summon dies, you cannot summon it again for the rest of the battle - after the battle, it comes back with 1 HP, just like characters do.

Summons also have a "rage meter" (actually, regular characters do too, but it works a bit differently for them). When they receive or deal damage, this meter fills up. When it reaches full, the summon automatically uses their special move (usually a very powerful hit-all attack, but there are exceptions, for example, one summon has a move that fully heals your party, including status effects, and bypassing Zombie and Virus). Once they use their special move, control returns to your party and you cannot summon that summon again for the rest of the battle. On other turns, they work just like regular characters do, aside from that they cannot use items, escape, change equipment (since they don't have equipment) or defend.

Aside from this, summons also have three special moves. The first one, "Guard", halves all damage taken (unlike Defend, which only halves physical damage), and increases the rate the rage meter charges at, until the summon's next turn. The other one, "Relax", increases all damage taken by 50%, but prevents rage meter charge. Whether the rage meter effect is positive or negative will likely be a situational thing. The final special move, "Dismiss", returns control to your party. This does not prevent you summoning that summon again, but their rage meter does not reset next time you summon them (unless it's in a new battle).

The exact numbers are likely to change, but the general concept isn't, unless it really ends up being too broken (and of course, enemies / bosses will be designed with the fact that this feature exists in mind).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#21
Scan window!

Blue Girl doesn't have any status effects currently inflicted on her, but if she did, they'd display (one at a time, with the icon and name) in the top-right corner. Despite their vulnerabilities not being listed (since immunity / resistance to them would be kind of silly), Defend, Guard and Relax will also be listed among the current status effects.

Immunity to statuses is specifically displayed as "Immune" (or rather, abbreviated to "Imm."), rather than just "0%". Additionally, "Auto" will be displayed when relevant.

There'll be none of the varying degrees of elemental resistance, which is why they don't show as percent. "Weak" always means double damage, "Resist" always means half damage.

Speaking of Scanning in general, there's now a shortcut to scanning all enemies. If one of your frontline characters has a weapon with the Sensor ability equipped, all scannable enemies are treated as scanned. This isn't a permanent effect - if you switch the character back out, the enemy is no longer scanned (unless you've actually casted Scan on it too). Although I might just change this to "if you have a non-dead, non-escaped character with a Sensor weapon anywhere in the party, even if not on the frontline", since there's nothing stopping a player from switching the Sensor character in, looking at the scan info, then switching back out.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#22
Made some progress on the menu system. :)

But for now, a notable milestone - the new engine now supports everything needed to replicate the Transient fight from the original game! (In fact, I think a lot could be reproduced, although there are a few that couldn't yet, eg. Returner.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

So, I've implemented most of the levelling and attack learning system now.

Learning attacks works somewhat similar to the old game, except instead of each character having an inherent class, the attacks they can learn are determined by the equipped summon. You still earn AP, and spend it to learn attacks. However, you won't have all your attacks available at all times. Instead, you can equip up to a certain amount - I'm currently thinking four or five - at any given time. Once you've learnt an attack, you can equip and unequip it freely, you don't have to pay the AP cost again if you unequip it. On a side note, you can also learn a limited number of abilities (similar to the ones on equipment) this way. They have a separate cap from the attacks, which I'm currently leaning towards setting at two.

As the attacks are tied to the summon equipped, you'll mostly only be able to use attacks that were learnt off your currently-equipped summon. But I am leaning towards allowing the equipping of a single attack (and maybe a single ability, not sure) from a different summon.

Summons themself will similarly have to learn and equip attacks to use them in battle, though one key difference - they don't gain or spend their own AP. Instead, they learn the attack once a character with them equipped learns it - this is not tied to that character; they'll retain the attack even if they're later moved to another character who hasn't learnt it.

Blue magic will likely, again, work a bit differently from everything else. I haven't decided for sure how it will work yet, though I do have some ideas.


Now, increasing stats on the other hand, has undergone a huge overhaul. You still gain EXP from defeating enemies, and probably still won't gain EXP from bosses, but that's the only similarity really. Your EXP doesn't directly increase your level, instead, it's stockpiled in the same way AP is. You can then spend EXP on directly increasing your stats. Each upgrade will increase your max HP by 25, max MP by 5, or any other stat by 1. The cost per upgrade varies between stats, as well as between characters. On a side note, stats are now capped at 9999 HP, 999 MP, and 100 for all other stats - there's no "Ultra HP" / etc this time.

This also means that if you want to do a low-level game, you can do so without having to avoid battles - simply don't spend more EXP than you feel is acceptable to still count as "low level". Likewise, you can decide separately whether it's also a no / limited ability learning game, or if it's just "keep your stats low but learn as much stuff as you like" (or vice versa).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#24
I've got most of the menu done now.

Still left to do is a proper save menu, and the settings menu (although I can't think of much to put on here, aside from controls). Source code now stands at 626KB, plus 107KB of text-based data files (most, but not all, of which were hand-written). This includes a lot of will-actually-be-used content, especially in regards to attacks and abilities.

I've also implemented the learning system for Blue Magic. This won't be based on items, rather, the blue mage character will be unable to use summons, and will instead learn new attacks (and passive abilities, although they can still get those from equipment too) when they scan an enemy. This doesn't require the enemy to be vulnerable to Scan (although in general, I plan to generally avoid using immunity to scan - most likely only on enemies that do weird stuff with their HP behind the scenes and thus Scan could be misleading, or in cases like Pyragon where hiding some info is part of the puzzle). So for example, instead of learning Blessing by using an item that teaches it, you'd learn it by using Scan on (most likely) an enemy that uses it themself.

In terms of actually using them, this is a case where a non-summon would make use of the rage bar. It would charge in much the same way as a summon's does, although slower, as well as having a move similar to Charge that specifically charges it - this move would only be available to the blue mage, and would cost MP. Blue magic then uses the rage bar as a cost - weaker blue magic similar to Smokescreen might only require 5% of the rage bar, whereas powerful ones like Judgement and Glory would possibly require the entire bar.

(For other characters, the Rage bar is simply a matter of that they have one special attack they can only use when their Rage bar is full. Unlike summons, they are not compelled to use it, nor do they suffer any negative side effects from doing so - it's just a regular attack apart from requiring (and consuming) a full Rage bar.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

#25
I've finally made a decent map editor, having previously used a kludgy one that I built into the game engine itself. While the kludge one did everything I needed it to functionally, the UI was terrible even by "designer tool only" standards. This one is a bit better, even though it's still nothing fancy (and definitely not up to the quality I'd consider if it was a tool I intended to release). I did fall back to Lazarus for designing the map editing tool, as I don't really have a good feel for form-based C# code yet.

Here's a preview of the only intended-for-actual-use map I've been working on so far. This isn't the whole map.

The darkened area on the left is an editor thing; that region wouldn't actually be that color in-game. The graphics will also very likely be higher resolution in the final product; I'm working on a basis of 512x288 while developing, but have coded it so I can very easily substitute higher-resolution graphics later (without having to adjust any existing coordinates - I've got an abstraction layer that converts to and from internal coordinates when rendering). I'll very likely make - or perhaps look for an artist to make - better quality graphics if the project ever gets close to release. This does accurately reflect how much of the map the player will be able to see at a time in-game though.

That aside, "events" on the map (pretty much anything you can interact with, aside from straightforward warps or treasure chests) can also finally have move routes when idle! (It's been possible for a long time for a script to tell them to move.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

First indoor map that's reached a point where I feel it's okay to show off. It's still incomplete, but it's coming along nicely.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Proxima

As it is now, the map has the same problem as a lot of novice RPG Maker maps, judging by the number of times this comes up in the "Maps and Screenshots" discussion topics: the room is unrealistically large. (Although one way you could maybe justify it being this large would be to add furniture so that it becomes, in essence, an entire house in one room; that may be more common in other cultures?)

namida

Quote(Although one way you could maybe justify it being this large would be to add furniture so that it becomes, in essence, an entire house in one room; that may be more common in other cultures?)

That's part of the "still in progress". ;)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)