Back to the Korax Forum Archives


Forum

Holy Moly

Mon, 06 Feb 2006 17:48:27

Moose

Right I've just downloaded the code for KoraxRPG off our CVS repository, and you know what, I actually have the free time to do some work on the old girl. I'll have to have a look through my notes and see what I've already done and what I started to do, although off the top of my head it wasn't much. I'll get on with building the experience system, seem as that is a rather important feature and lots of things are based off of it working correctly. But first I have a question for Firebrand, I noticed that you updated it to the latest Vavoom code about 2 months ago, could you do the same for the latest Vavoom update? Please.
Mon, 06 Feb 2006 18:58:15

Firebrand

Yes, I'll do it later today, my changes weren't really that much, but the current Vavoom executable might not work for it, since yesterday Janis made some big update to the way progs and executabel work, but there seems to be a strange crash with the latest Vavoom version (I'm not able to make it start). Another tip for you, try to get the latest executable code from the Vavoom's CVS, this way you won't have problems with this type of changes and you'll be able to keep track of the latest changes for the Hexen progs <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. If you have anymore questions feel free to ask and I'll help you in any way I can <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. BTW, I'll post here when the updating is complete.
Mon, 06 Feb 2006 20:46:05

Firebrand

I've updated the CVS repository now.
Mon, 06 Feb 2006 21:34:25

Moose

Cheers FB.
Mon, 06 Feb 2006 22:35:18

Firebrand

I'll add the weather system from KA when I get a chance, or if you wish, you can see how it works from there and implement it yoursefl Moose, heh! <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) --> I also added some particles for the ice death explosions which looked really cool, I want to add those too.
Mon, 06 Feb 2006 22:40:04

Moose

You can add them if you like, first think I want to work on is the exp system, as far as my work load goes I'm leaving the smaller things till later. Things like damage skins, NPCs and Enemies.
Fri, 28 Jul 2006 13:30:42

Moose

Look who's home. I finished Collage a few weeks ago, but I've been busy working and drinking, lots of drinking. But I have 2 months left before Uni in which to work, and with any luck once I'm at Uni I'll still have time to work on Korax' Heritage more than I have of late. I'm not sure what you'd rather I worked on, weather I help get KA out of the door, or start work on KoraxRPG. Either way I'm happy, just give me a task. I've downloaded TortoiseSVN and thats all set up and working, and it seems easier to use than TortoiseCVS which is a plus. I saw Lucas is back aswell, now we just need Mago.
Fri, 28 Jul 2006 13:52:09

RambOrc

Check with FB and CW whether there is anything in KA code you could do on KA code, else you can start with the RPG code too. BTW you did have an ice cave map which was a good start, if you still have it you could finish it up for KA.
Fri, 28 Jul 2006 14:43:58

Crimson Wizard

I suppose we haven't been acquainted? Greetings, I am Crimson Wizard, doing some programming here since late spring 2006 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
Fri, 28 Jul 2006 15:00:14

Moose

Hey Crimson, while I haven't been posting for ages I've been trying to read the forums at least a few times a week, so I've noticed your work, have to say I'm very impressed. That score board is awesome. I'm also a programmer, and the blog admin, I may occasionly try to make a map or 2 they generally arn't great.
Fri, 28 Jul 2006 17:41:05

Crimson Wizard

[quote="Moose":2hcb97n5]Hey Crimson, while I haven't been posting for ages I've been trying to read the forums at least a few times a week, so I've noticed your work, have to say I'm very impressed. That score board is awesome. What all of you have found in this petty scoreboard? I'm starting to think that after years pass if someone ask: "who was that Crimson Wizard guy?", another will answer: "ah, it was that guy who made scoreboard for Korax Arena". <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: --> Well, thanks a lot, I am really happy you like it. <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> I suppose I should explain what is new in KA code. AFAIK Firebrand is working on Bot AI, but this area is complete mystery to me since I never explored that part of source; so Firebrand is the man who should tell about it, not me. If to mention my own contributions. Scoreboard is implemented as ScoreBoardScreen class derived from Window (see in progs/cgame folder). There's nothing special, but drawing. New class[color=darkblue:2hcb97n5] PlayerTeam[/color:2hcb97n5], currently its general usage is to support scoreboard, but I am sure it can be useful in some other cases. (that's in progs/game/PlayerTeam.vc) There is now a new rather important function in Player class - UpdateScore (the same is in PlayerTeam). It manages events that require some Player's or Team's score modifications. If you ever need to change score gained by player, please, use this function. More interesting is [color=darkblue:2hcb97n5]Game[/color:2hcb97n5] class (do not confuse it with GameInfo and MainGameInfo classes). It manages advanced game modes. MainGameInfo has a reference to its object (GameMode variable), which is created during game initiation if needed. Currently only Football is implemented, but I am starting to work on "Kill The Heresiarch" game mode ASAP. Actually I think it is the most important thing I made since I joined Korax Team. The main idea of this class is that it allows to control game state using ACS functions (in map scripts), and secondly, it handles all special cases specific for corresponding game mode. Well, it is hard to explain everything about it shortly in single post, thus I suggest you look into Game.vc and GameFootball.vc to learn how it is used. There is also test map for football lying in KA archive, you may look at its script. Ofcourse I will answer all questions about it if there's something unclear. (and ofcourse you are free to enhance it if you think it needs something <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> ) [quote="RambOrc":2hcb97n5]Check with FB and CW whether there is anything in KA code you could do If I ever know what is need to be done here. I even havn't seen a TODO list yet <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> . Well, seriously, there's still Firebrand who haven't yet said his word, but if you ask me, I may propose Moose program PlayerHeresiarch class (derived from PlayerPawn, I guess) for "Kill The Heresiarch" game mode while I am programming general game process plus various prizes stuff you mentioned (I mean double/tripple/bubble/whatever - kill and such). Thus, joined our efforts, we will make KTH much faster.
Fri, 28 Jul 2006 18:27:38

Firebrand

The bots AI part is almost covered, you can checkthe BotPlayer.vc file if you are interested on what the bots actually do, some time ago I discussed with Moose that I would base the bots AI in another projects bots (SkullTag), since I didn't get any word from the SkullTag programmers, I decided to use the latest source code released (version 0.91 IIRC), from there, I started "porting" the bots AI from ZDoom (the base engine from SkullTag) to Vavoom progs (which we are actually using), then it was evident that the AI from SkullTag wasn't going to be enough (do you remember bots getting stupidly getting stuck, right? <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: --> ), then we discussed a way to solve it and came to decide that what we needed were path nodes (which are implemented since some time now <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->), I started incresing the bots ability to determine more stuff from their enemy and different skills for each of their reactions (aiming, moving, strafing, detecting items, etc.), that was the beginning of the bots AI. As of now, Crimson Wizard (as he explained already) has finished the football gameplay mode implementation and now the bots need to "play" football too <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->, that's what I'm actually working on right now, I already made them detect the active ball in game, they track it now and they (obviously) dont do anything yet <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->, I'm now in the process of making the bots use power to determine where they should kick the ball, of course, this will need further testing, I need to make them recognize where a fellow player is, so they "aim" their kick to it and keep track of the ball at the same time, so they decide what's the best thing to do (attack another player, get a weapon/item, ask for the ball, etc.). That's the main overview of what I need to work on <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. You can decide if you wish to work with Crimson Wizard completing the KTH gameplay mode or if you want to begin working on the RPG system for our TCS project, any of these two options will help us a lot, since having a base for TCS development is a key to begin working on further maps, adding decorations, other things. It's your decision now, heh! <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->
Fri, 28 Jul 2006 18:54:57

Moose

Thanks for the update guys, and yes Firebrand I do remember our talks about the problems with bot AI. I'm glad to see you've fixed it. I guess for starters I'll help Crimson with the PlayerHeresiarch class, as it'll most likely be easier than writing the whole player level system for KoraxRPG. So Crimson, I guess you'd like me to create the player class, and all things that go with it, weapons, ammo useage, stats, etc...
Sat, 29 Jul 2006 07:39:42

Crimson Wizard

First point - Heresiarch class should be made so that player can MORPH in it as it morphs into pig. I am not sure whether we a going to use Heresiarch as a stand-alone player class, and I guess we do not. Here's a problem. I am not yet aware of how Pig morphed state is implemented, I'll check that ASAP, but hope you can do it too. Well, anyway what should be done is another sort of morphed state for player. The only difference is that player morphed to Heresiarch won't return to his original state over time, but only when commanded to do so (by game event, which I am going to implement). Maybe you should put 2 functions in "Player" class like MorphToHeresiarch and UnmorphFromHeresiarch(). As for PlayerHeresiarch abilities, you should ask RambOrc, since I do not know them yet, sorry. Only thing I can be sure is that he uses original Heresiarch sprites.
Sat, 29 Jul 2006 09:25:26

Crimson Wizard

Hey, Firebrand - about bots using power to kick ball. There's a problem of how to do this. Can bots "simulate" pressing "use" button? And, heh, I wish to see this: do they really kick ball there? how it is looking alike? <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
Sat, 29 Jul 2006 09:44:46

RambOrc

Unmorphing from Heresiarch occurs upon death only, but I guess you knew that. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) --> The Heresiarch should have the same weapon system like all other classes, i.e. melee weapon not needing ammo in slot 1, blue mana using weapon in slot 2 etc. For the slot 1, I think Mago or Firebrand did some red clawed hand in-screen animations earlier, you could use those. The Heresiarch can use discs and flechettes the same way everybody else, that leaves us with 7 weapons to determine. His invincibility and summon spells are out. That leaves from the original game the purple ray (?) and the bouncing fiery heads, right? On second thought, since he only picks up ammon and has all his weaponry from the beginning, we could reduce the number of weapons to maybe 4 instead of 7, i.e. one for each mana color and one ultimate for all 3 colors together, with the keys 5-7 being the same spells as 2-4, but with higher mana usage and higher damage output. For a third spell idea, how about an outwards spreading circle of blue energy or red fire (or purple something or whatever) that goes up to a range of maybe 10 meters and hits everything in its path, with insane power close to the caster, and with ever diminishing power as it spreads outwards? The slots 5-7 would use 3x more mana and have a 3x higher damage effect than the slots 2-4. As for the ultimate weapon, no idea yet. The other weapons are open to discussion too of course.
Sat, 29 Jul 2006 10:14:08

Crimson Wizard

[quote="RambOrc":1n2i1gcj]Unmorphing from Heresiarch occurs upon death only, but I guess you knew that. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) --> No, no, what I meant - that was a question of how to program it better way.
Sat, 29 Jul 2006 14:39:18

Moose

Right then I guess I have me a job, I'll make the player class, weapons, and the morph functions. I'll keep you informed as I progress.
Sat, 29 Jul 2006 15:05:18

Firebrand

[quote="Crimson Wizard":1k7c6glr]Hey, Firebrand - about bots using power to kick ball. There's a problem of how to do this. Can bots "simulate" pressing "use" button? And, heh, I wish to see this: do they really kick ball there? how it is looking alike? <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> Yes, if you remember there's player.Button |= BT_USE (or something very similar), that can be used for bots too <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->. As for seeing it in action, you'll have to wait a bit more time, heh! I want to make all sort of tests in different conditions to make it as perfect as possible for the player to play with bots, since bots are just a piece of algorythms they aren't very smart, we need to cover as much as possible conditions to make them "more human" <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. As for how the pig player class works, it's like creating a normal player class i.e. it has it's own VC file defining it's states default properties (health, starting weapons, etc.), you also need to enlist it on the classes section in the Hexen Defs files, then just create a function that morphs/unmorphs the player to this class (as you corrrectly said here) depending on certain conditions, the rest is to make the weapons logic and setting the game mode properties coreactly <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Sat, 29 Jul 2006 15:18:59

The 4th Class

[quote="RambOrc":rj898hx4]Unmorphing from Heresiarch occurs upon death only, but I guess you knew that. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) --> The Heresiarch should have the same weapon system like all other classes, i.e. melee weapon not needing ammo in slot 1, blue mana using weapon in slot 2 etc. For the slot 1, I think Mago or Firebrand did some red clawed hand in-screen animations earlier, you could use those. The Heresiarch can use discs and flechettes the same way everybody else, that leaves us with 7 weapons to determine. His invincibility and summon spells are out. That leaves from the original game the purple ray (?) and the bouncing fiery heads, right? On second thought, since he only picks up ammon and has all his weaponry from the beginning, we could reduce the number of weapons to maybe 4 instead of 7, i.e. one for each mana color and one ultimate for all 3 colors together, with the keys 5-7 being the same spells as 2-4, but with higher mana usage and higher damage output. For a third spell idea, how about an outwards spreading circle of blue energy or red fire (or purple something or whatever) that goes up to a range of maybe 10 meters and hits everything in its path, with insane power close to the caster, and with ever diminishing power as it spreads outwards? The slots 5-7 would use 3x more mana and have a 3x higher damage effect than the slots 2-4. As for the ultimate weapon, no idea yet. The other weapons are open to discussion too of course. How about a bit less symmetry in all the different classes? I.e.: The Heresiarch maintains all the weapons he had in the original game. Here's what I had in mind: 1: Claws (Okay, you got me <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: -->) 2: Purple bolts (uses blue bana) 3: Summon dark bishop (uses green mana) 4: Invincibility + ricochet spell (uses both mana, but you can only use your claws while this spell is active) Just a humble suggestion from the clueless musician. <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
Sat, 29 Jul 2006 16:59:20

RambOrc

I think it would seriously impede playability if we'd make the Heresiarch a player class with the same spells as the Heresiarch monster. Beating the Heresiarch should not be as close to impossible as in the RPG, it should be actually fairly easy, the Heresiarch player class in KH shouldn't be more than 2-3x stronger than a standard player. Also, summoning monsters and invincibility are both instant powerups in the KA concept, giving it to a player class is turning game rules upside down. It should also work the same way as any other class as far as bot AI goes (playing KTH with bots should be similar to playing DM with bots).
Sat, 29 Jul 2006 19:35:39

Firebrand

I second Ramborc's opinion about the Heresiarch class, it can't be 2-3x stronger than a normal player, if you morph a player that has more gaming experience it could make the match very unfair for everyone else <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->, as for the weapons, we could have a melee only weapon too (when the player runs out of mana), as for any defensive spells the original Heresiarch had (the reflective spell mainly), those would make it unfair for other players IMO, the only spell that could be interesting would be the spawning of bishops, we could add a limit to it (5-6 bishops should be enough IMO), they would be friendly for the Heresiarch, if the player unmorphs from the Heresiarch the bishops he spawned will turn around to the new Heresiarch, it would be kinda funny IMO. The first weapons Ramborc suggested sound fine for me BTW, we could discuss what the rest of them will do, if something comes to my mind I'll post it ASAP <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Sun, 30 Jul 2006 13:20:28

Crimson Wizard

I think it is better to make bishops dissapear with their former master. Heresiarch uses mana to summon them and if there are bishops already, new H. will have some unfair advantage already.
Sun, 30 Jul 2006 13:42:29

RambOrc

I still think summoning bishops isn't a suitable weapon for the Heresiarch, just as wel took out the Maulotaur summon and the self-heal spells of the mage and the cleric from the weapons. After all, summoning a creature to aid you is available to every player (Maulotaur figurine). Also, the Heresiarch is just a somewhat stronger, but still regular player. It's not the Heresiarch from Hexen, nor the Heresiarch from our RPGs (which will have all the original Heresiarch traits plus new spells, teleport etc).
Sat, 05 Aug 2006 08:33:11

Crimson Wizard

Small note: I suggest using Player::UndoPlayerMorph() function for unmorphing from Heresiarch instead of creating some new function, since it already has anything for return to normal state and almost nothing specific to pig morph. By the way, I assume we must deny morphing Heresiarch into Pig, no?
Sat, 05 Aug 2006 09:13:46

RambOrc

Easily solved by not including piggie items in KTH maps. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->
Sat, 05 Aug 2006 09:40:09

Crimson Wizard

Actually it was already solved by original Hexen code - players who are already morphed are denied to morph again. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> Hey, but how players use piggie items in KA if there's no inventory? <!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->
Sat, 05 Aug 2006 10:02:32

RambOrc

I think it's not yet implemented, but it should fire off porkalator rays in 8 directions when a player picks it off (i.e. depending on the number of players around and your luck, you can morph 0 to 7 players). In highly advanced game modes like Summon Contest and Assault, there could be mounted turrets that shoot porkalator rays. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->
Sat, 05 Aug 2006 10:46:08

Crimson Wizard

IMO that's too inconvenient. What if we make a slot for one item that player can carry, use or drop?
Sat, 05 Aug 2006 11:12:20

RambOrc

No, not for KA. They tried it in Q3A and it sucked.
Sat, 05 Aug 2006 12:39:41

Crimson Wizard

IMO it sucked because these items were puny and you usualy forget about them in the heat of a battle. Well, what you say if we just try and test this ability?
Sat, 05 Aug 2006 13:54:58

Firebrand

I already changed this, if you pick the item, it works as Ramborc described it, as for implementing a single slot, I don't think it's a good idea neither, the code has changed much in several ways to support inventory, it could screw some changes we have already implemented <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. EDIT: Ramborc, I don't remember what was supposed to be done with the flechette and discs of repulsion weapons, could you please post again a small description of how these two should work? This is to implement them correctly, thanks! EDIT2: Crimson Wizard, I've updated my personal copy of the repository, it seems you forgot to update Hexendefs with the latest changes, when compiling I get an error in MainGameInfo regarding kth_gamemode, I know it's easy to fix by just adding it there, but I don't know if there's something else changed, just to let you know, heh! <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->.
Sat, 05 Aug 2006 14:05:31

Crimson Wizard

Updated. Thanks you reminded me! Heh, but I has just finished updating, man. No surprise you got some errors without lots of neccessary files. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> But now all is in there.
Sat, 05 Aug 2006 14:15:50

Firebrand

Cool! Thanks pal, I'll give it a go to test the recent changes then <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Sat, 05 Aug 2006 17:19:35

RambOrc

[quote="Firebrand":3qcqcb5n]EDIT: Ramborc, I don't remember what was supposed to be done with the flechette and discs of repulsion weapons, could you please post again a small description of how these two should work? This is to implement them correctly, thanks! They are fired by using the secondary fire (right mouse button by default). The keys 9 and 0 cycle through the different versions of them (there are none yet for discs, 3 for flechettes).

Back to the Korax Forum Archives