Back to the Korax Forum Archives


Forum

Korax RPG programming list

Tue, 31 Jul 2007 09:26:35

RambOrc

As mentioned in the other thread (Korax RPG concept), this is a list of what we would like to see in the game implemented by the programmers. Post here everything you'd like to have and the programmers will make an estimate of how much time it'd take. Depending on that, some (or maybe most) of the wish list will be scrapped, giving us a final feature list (code wise).
Tue, 31 Jul 2007 09:34:29

RambOrc

Here is my wish list, in order of decreasing importance: - receiving exp for killing monsters and finishing quests, leveling up with exp [color=#FF0000:1sx20st9][CW] Done[/color:1sx20st9] - NPCs that can be talked to [color=#FF0000:1sx20st9][CW] Limited support[/color:1sx20st9] - buying and selling items - journal and spellbook - inventory system (as described in the concept post) - quests - travel system between hubs using a 2D map like in "Das Schwarze Auge" (see <!-- m --><a class="postlink" href="http://downloads.orcishweb.com/koraxdev/ramborc/dsamap.jpg">http://downloads.orcishweb.com/koraxdev ... dsamap.jpg</a><!-- m --> ) [color=#FF0000:1sx20st9][CW] Done [/color:1sx20st9] - smarter monster AI, most importantly that they don't get into each other's line of fire while closing in on the player - new types of spells (maybe also weapons) [color=#FF0000:1sx20st9][CW] Generally done[/color:1sx20st9] The first four are basically what KMOD already can, they just need to be rewritten for Vavoom. For simplicity, I could say the feature list starts with all the KMOD features, including those not listed here (like damage skins, the new weapon table, etc).
Tue, 31 Jul 2007 10:07:48

Crimson Wizard

[quote="RambOrc":14kun5l2]Post here everything you'd like to have and the programmers will make an estimate of how much time it'd take. ... and how much money is paid <!-- s:roll: --><img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes" /><!-- s:roll: --> j/k
Tue, 31 Jul 2007 13:52:05

The 4th Class

<!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: --> Regarding DSA, it seems like a good idea, though I would like to know more about this, because I was never Deutsch enough to play it. Sorry RambOrc, you should have sent me English or French version. <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: --> BTW, regarding the hubs for original Hexen, I think it'd be cool if the player can choose which hub he goes to next, when he finishes the one he's in at the moment. Say, once the player leaves the Seven Portals, he can go to either of the other 4 hubs, playing them in any order. Just as long as the Dark Crucible is always the last level. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> Perhaps the same thing could be applied to Deathkings as well?
Tue, 31 Jul 2007 14:04:55

RambOrc

LOL send them back then, DOSbox might be able to run them despite not only the different OS (MacOS X) but even the different CPU architecture (PowerPC). <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) --> Not sure what the point of that would be when we already have shortcuts in place, allowing you to skip any hub you want in any given game. But it'd be extremely easy to implement this feature ofc. Actually, this gave me an idea... we could build the RPG engine and add hubs any time in any order. Since in Korax RPG nothing in the environment is level based (monsters don't have levels and have the same amount of hp and do the same damage regardless of whether you are encountering them as lvl 1 or lvl 100), hubs should be playable on more or less any level. We could release the RPG with only a few hubs and add new ones with patches, building up the game over time. This way, there might actually be some real interest and some mappers might join or we could receive community submitted maps. Of course this is built upon the premise that all programming on the RPG will be done very fast, which I think might be a possibility, given that as far as I can see the whole programming needed for Korax RPG is less stuff than what's already in Korax Arena at this point, and at least some of the KA code might be reused 1:1 or with little alterations. Also, the stuff for KMOD does already exist once, I guess it's easier to write the same code again in a different language than starting from zero and trying to figure out how to implement what. Programmers correct me ASAP if I'm wrong with this!
Tue, 31 Jul 2007 16:05:36

Firebrand

You are right in some things, the code already exists in KA, there might be need of revamping and changing parameters here and there, it wouldn't be too difficult, as for inventory and other things needed (damage skins, talking NPCs, etc.) there are some things already implemented in the engine (if you like the way things work in Strife, most of the code is on Vavoom already <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->). There are other things that might need to be done from scratch, which should take some time. I guess we could make a work plan of what has more importance and start with it, then keep working on what's left by that time and remake priorities (I know things will change flow when we begin developing, heh!).
Fri, 17 Aug 2007 11:24:27

Crimson Wizard

Do we need Tome of Power in KoraxRPG?
Fri, 17 Aug 2007 11:33:26

RambOrc

I don't think so.
Fri, 17 Aug 2007 11:38:28

Crimson Wizard

Why? <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->
Fri, 17 Aug 2007 11:50:00

RambOrc

This isn't Heretic. Nor are we limited to a pickup item or two to enhance your attack power when we can instead add enhancement spells and melee weapon upgrades purchaseable through a blacksmith.
Fri, 17 Aug 2007 11:59:25

Crimson Wizard

I see. Well, cannot that be a sort of temporary weapon enchantment then with much more lower cost than permanent ehancement, so it is usable on starting stages? I just like this artifact much. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> Wait, here's another idea. Maybe make several Tomes of Power, that grant temporary weapon enchantment, E.g. Red Tome gives extra fire damage, Blue Tome - Ice damage, classical Black Tome simply doubles the damage or so, etc.
Fri, 17 Aug 2007 12:04:49

RambOrc

LOL no - the Korax RPG is about the authenticity of the Hexen world so there will be very little stuff from other games, and certainly not a Heretic trademark like the Tome of Power. For mixing up games, we have Korax Arena. <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P -->
Mon, 03 Sep 2007 20:11:59

RambOrc

also, I found an old mockup of how the inventory should look like: <!-- m --><a class="postlink" href="http://downloads.orcishweb.com/koraxdev/koraxdev_old/koraxse_inventory.jpg">http://downloads.orcishweb.com/koraxdev ... entory.jpg</a><!-- m -->
Tue, 04 Sep 2007 08:18:30

Crimson Wizard

Cool. How the player is supposed to select an item there during the fierce combat? <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: -->
Tue, 04 Sep 2007 08:21:30

RambOrc

That's the point, you don't. It's a backpack. <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P --> Check the concept document again, there is also a belt, which allows you quick access to a few items.
Tue, 04 Sep 2007 16:10:37

Firebrand

The only question I've got about that is, how's the player supposed to select the backpack or the belt? Or does the belt is activated automatically depending the situations?
Tue, 04 Sep 2007 16:34:42

Crimson Wizard

By different key commands.
Tue, 04 Sep 2007 16:38:17

RambOrc

Yep, you have 4 keys to navigate the backpack and two for the belt, plus one key each to activate an item.
Mon, 10 Sep 2007 11:42:14

Crimson Wizard

A question: do we need mouse UI? We could use this for menu, travel map, inventory (incl. backpack).
Mon, 10 Sep 2007 12:02:32

RambOrc

Completely up to you. It's not a must but not a no-no either.
Mon, 10 Sep 2007 12:38:31

Ichor

How about this idea for the backpack? Hit a button to open it up. When it's open, it will have 3 rows 7 boxes across (or 4 by 8 if you need it that big) and each box will correspond to a key on the keyboard. Pressing that key when the backpack is open will use that item. For instance: q w e r t y u a s d f g h j z x c v b n m Let's say you pick up a bracers, two quartz flasks, and then a porkelator. The bracers would be placed in the 'q' box, the quartz flasks would go into the 'w', and the porkelator would go into the 'e' slot. Once you open the backpack, press 'w' to use a quartz flask. And so on. If your backpack gets full and you want to drop an item, the other items will stay where they are. For example, if you dropped the bracers for whatever reason, the quartz flasks and porkelator would still be at 'w' and 'e' respectively, and the next item picked up will go into the 'q' slot, even if it's not the bracers. This way would make it quicker than using arrow keys, especially if there's a lot of items, which would be helpful during heated battles.
Mon, 10 Sep 2007 12:47:53

Crimson Wizard

That's possible.
Mon, 10 Sep 2007 13:23:20

RambOrc

You don't use your backpack in a battle, that's what your belt is for.
Mon, 10 Sep 2007 13:39:53

Ichor

Oh ok. Never mind, then. Heh
Mon, 10 Sep 2007 14:45:40

RambOrc

To be honest I don't completely have the system yet - best might be if the system would automatically put battle activateable items into your belt when you pick one up, and would put everything else (equippable items, quest items, money, books etc) into your backpack.
Sat, 03 May 2008 12:14:12

Crimson Wizard

What are the first place things ought to be implemented in KRPG at the moment? I will perhaps have some time to work on our projects next week, need to know what's most urgent.
Sat, 03 May 2008 12:28:13

RambOrc

First would be for me to be able to put NPCs into the city map and be able to interact with them - i.e. shopping, conversations etc. I will also need a way to give them routes in WadAuthor so they can patrol the way they do in the internal demo. Then of course the inventory. The backpack + belt system. Things that are already in KMOD 2.x are lower on the priority list IMO, since those are things that only need to be rewritten for Vavoom, not developed from zero.
Thu, 26 Feb 2009 12:15:52

Crimson Wizard

Ok, regarding advanced conversation things. I am making a basic object-related (or would it be 'oriented'?) support in dialogs, that allow to "call object methods" (perform some actions over objects), speaking programmatically. This would need much polishing, but I was able to implement basic support rather quickly. Now I have a way of giving experience to player in conversation. In script this looks simply like:
choice none "Gimme some exp!"
{
	Player.GiveExperience(1000);
	say "Here, take some exp, good hero." none;
}
Tested this on town guy class, the one that wonders City map. It works. What's important here - this does not mean any direct connection with real functions in progs, all these functions should be added manually to script parser... err, well, this means there should be list of actions we want to have available for conversation script so me or Firebrand could add them to conversation parser. From what I planned, following objects should be accessible from conversation: - Player, at any time. - Both speakers. Currently player is always one of them. - Game; not sure what should be done with it, but anyway... - World; in Vavoom this object stores every data acquired from gameplay and needed to be kept between levels (or something like that); according to my plan this will store 1) all quest data, 2) travel map data (like which roads were revealed/unlocked); - Level - that is current level. Most important should be an ability to start map scripts and any custom line/action special using this reference. Anyway, I need to know what actions are wanted in conversation for the nearest future. Starting list is: - Give experience to player (or monsters too?) - Give inventory to player (and other characters too?) - Remove inventory from player - A check, if player has/has not some inventory (may take more time, 'cause I haven't yet started implementing conditions). -what else?
Thu, 26 Feb 2009 12:53:32

RambOrc

I think the first two on the list without the part in brackets are enough.
Thu, 26 Feb 2009 15:44:01

Crimson Wizard

Ok, I'm done; following references work now: Player Initiator (the one who initiated dialog = player) Myself (person who 'owns' this conversation) functions: GiveExperience (player only) GiveLevels (player only; gives an amount of exps enough to reach new N levels) GiveInventory (anyone, gives item or a quantity of items) working example:
choice none "Gimme some exp!"
{
	Player.GiveExperience(1000);
	say "Here, take some exp, good hero." none;
}
choice none "Gimme whole 2 levels!"
{
	Player.GiveLevels(2);
	say "Here you go." none;
}
choice none "Gimme Quietus!"
{
	Player.GiveInventory(WeaponFighterQuietus);
	say "Here you go." none;
}
Thu, 26 Feb 2009 17:25:09

Firebrand

IMO, the list you made is pretty much what would be basically needed, we only need to implement the conditions for the parser to check the player's inventory, since this will be needed for creating the shops (i.e. check how much money the player has and how much money it's being charged by items) <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->, very nice work! <!-- s8) --><img src="{SMILIES_PATH}/orccool.gif" alt="8)" title="Cool" /><!-- s8) -->
Thu, 26 Feb 2009 17:28:06

Crimson Wizard

[quote="Firebrand":1z1l54b4]we only need to implement the conditions for the parser to check the player's inventory, since this will be needed for creating the shops (i.e. check how much money the player has and how much money it's being charged by items) I wonder, maybe we should make a shop design different from what we have in Strife? Like not trading in dialog, but displaying some normal screen with list of items (even icons maybe). This would make things easier for players IMO. Still, dialog conditions are my next TODO.
Sat, 28 Feb 2009 16:29:21

Crimson Wizard

By the way, it is possible to control player inventory in map script (check ZDoom wiki): <!-- m --><a class="postlink" href="http://zdoom.org/wiki/Category:ACS_Inventory_functions">http://zdoom.org/wiki/Category:ACS_Inventory_functions</a><!-- m -->
Fri, 10 Jul 2009 17:44:04

Crimson Wizard

There's such feature in Vavoom as "Monster Backing". I am not sure how this works, I mean, how it looks like in game, never paid attention. If I understand the code right, it makes monsters "backpedal" while shooting at player. So, question is: do we need this as togglable option in KRPG, or we may make this useful AI advancement always on? Actually I am going to add extra movement technique to monsters like backing, strafing etc, that could be enabled for particular creatures by setting certain "skill" flags (boolean values).
Sat, 11 Jul 2009 01:03:43

Firebrand

I think that we should make all these toggleable by skill or by game settings, once again I talk about NWN.... in NWN the game difficulty was also set by enabling enemies/players to suffer certain damage effects or doing certain spells/attacks, or by enabling 'smarter' AI (just enabling certain AI features like this one). So I guess we can do something like this.
Fri, 24 Jul 2009 21:10:02

Crimson Wizard

I have a question; in Doom-like games (including Hexen, IIRC) there were monsters whose missile attack did not damage others of same kind. What should be a rule for this in Scattered Evil? At the moment there's Team property for every monster that makes 'em distinguish allies and enemies, however there's no explicit check for team when monsters damage their allies. Should there be one or not?
Sat, 25 Jul 2009 09:46:03

RambOrc

It could be feasible that a monster is immune to his own attack if it's e.g. a poison cloud, so others of the same species wouldn't be affected either. OTOH if a brown bull shoots poison at a green bull, he should spew back a fireball, otherwise the fun tactics of Heretic would be impossible (sick monsters on each other, watch carnage).
Sat, 25 Jul 2009 13:32:48

Crimson Wizard

[quote="RambOrc":3phkmq3j]It could be feasible that a monster is immune to his own attack if it's e.g. a poison cloud, so others of the same species wouldn't be affected either. OTOH if a brown bull shoots poison at a green bull, he should spew back a fireball, otherwise the fun tactics of Heretic would be impossible (sick monsters on each other, watch carnage). Well, here are 2 subjects touched: damaging and answering on occasional ally attack. I don't remember if we had proper discussion when I was implementing Team tag; it assumes that there can be situations when monsters blong to different teams (you can call it groups/factions etc). I am unsure if there be much need of this feature in SE, but in case there will be few a simple question should be solved: if there are two creatures of same kind in one team, they should not damage each other (as you say), but if they are in different teams, they perhaps should? Regarding the second subject, should there be any specific logic which decides when monster must turn against occasional ally attacker? Like making some monsters more tolerant for such things, or - opposite - too aggressive so that they can attack allies if they simply blocking their way <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->, or maybe make lower-level monsters fear strong ones and ignore their attacks? BTW, in original Hexen there was special property that makes monster be ignored by other monsters no matter what happened; for example Heresiarch and Korax have this property.
Sat, 25 Jul 2009 14:13:07

Firebrand

I would go in two ways, to make same strength monsters to attack allies when hit, but make small monsters fear bigger ones <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->. Also, we could define an aggressive flag or something to make some aggressive monsters that attack allies for walking in front of them, this would be cool for a (or several <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) -->) boss monster in the game! <!-- s:D --><img src="{SMILIES_PATH}/orc6.gif" alt=":D" title="Very Happy" /><!-- s:D -->. As for the property you say, it's a 'bBoss' flag, this should be kept as it is now IMO.
Sat, 25 Jul 2009 14:14:28

Crimson Wizard

[quote="Firebrand":36w9mc6h]As for the property you say, it's a 'bBoss' flag, this should be kept as it is now IMO. No, it is bNeverTarget flag. And I already removed it from Heresiarch <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> because it makes monsters not attack him even if they are from different team... now I think it could be mistake. Anyway, we should decide how these things should work first; then we may return this flag if needed.
Sat, 25 Jul 2009 16:13:56

RambOrc

I think we need two different kinds of team definitions, e.g. WeakTeam and StrongTeam. In the first case, if the monsters accidentally hit each other, they will turn on themselves. In the second case, hitting each other accidentally doesn't cause them to fight each other. Independently of this, there could be projectiles a certain monster family is immune to.

Back to the Korax Forum Archives