Back to the Korax Forum Archives


Forum

Programmers sheet

Fri, 04 Aug 2006 18:43:13

Crimson Wizard

I suppose KH game programmers need some sticky thread to make announcements about their updates for each other - to make everyone who's programmin aware of it. I do not mean announcing every new variable or line of code, but only important changes.
Fri, 04 Aug 2006 19:18:33

Crimson Wizard

Korax Arena ====================== I have changed all the numerals meaning game mode that I met in progs for enumerated id-s defined in hexendefs.vc (game_dm, game_sweep etc). That will make much more easier to modify indexation and order in which game modes are listed. From now, please, if you wish to check game mode, use enumerated id from hexendefs.vc. For example:
if (deathmatch == game_football)
{
     ......
}
There's also a constant NUMGAMESNOTEAM. If gamemode id is lower than NUMGAMESNOTEAM, it is "one-for-one" game mode. If it is equal or larger than NUMGAMESNOTEAM, it is team gameplay.
Sat, 05 Aug 2006 09:38:11

Crimson Wizard

Korax Arena ====================== Changed MorphPlayer function, now it looks like this: MorphPlayer(int pclass, classid moclass, bool timed, bool until_death) (Suppose that all the parameters there are self-explanatory)
Sat, 05 Aug 2006 15:04:44

Crimson Wizard

Korax Arena ====================== There are new classes: Sequencer, GameSequencer and SoundQueue. Sequencer is simply a Thinker that runs some function periodically (using defined frequency). GameSequencer - derived from Sequencer and calls Game::HandleGameEvent with predefined parameters. It may be used in Game classes (GameFootball, GameKTH and others if there'll be any) to launch timed sequences, because Game is derived directly from Object and does not have Tick function. (There can be any number of Sequencers created at a time). SoundQueue - used to play local sounds, like announcements, so that they do not override each other - i.e. one by one. MainGameInfo now has one SoundQueue as Announcer reference. Generally QueueSound() function is to be used to put new local sound into queue.
Mon, 04 Sep 2006 18:08:48

Crimson Wizard

Korax Arena ====================== I have noticed that one of our game modes - castle sweep has 0 (zero) index and is treated as single player by original Hexen maps' scripts. Thus I specially defined zero index as unused game mode. Regarding earlier implemented features: SoundQueue is now moved to client side and implemented as LocalSoundQueue. To call local sound from server use MainGameInfo::BroadcastLocalSound (play local sound for all players) or Player::CallLocalSound.
Tue, 29 May 2007 13:01:07

Firebrand

The latest SVN revision of the Vavoom engine has added support for dynamic arrays, which was needed for KA IIRC, also, I don't know why, but the team selection screens stopped working with the latest network code, I've tried to find the problem myself, but I was unable to do it right <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( --> . I'll upload the new version of VCC and Vavoom executable later today, so you can download it and test it out <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Tue, 29 May 2007 16:34:45

Crimson Wizard

Thanks, i was just going to begin coding for KH again <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Wed, 30 May 2007 12:32:38

Firebrand

They are uploaded now, the dynamic arrays have two functions Insert and Remove, if you have anymore questions you can post them here <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. EDIT: Uploaded new version of both EXE and VCC, it allows the use of iterators, which should make certain things a bit faster <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->.
Fri, 15 Jun 2007 07:57:54

Crimson Wizard

Korax Arena ====================== Important - GameInfo::deathmatch variable is treated as BOOLEAN in Vavoom now, so it cannot be used to store actual game type (it will be always '1' in KA). Thus I added new parameter - that is MainGameInfo::GameType, which is integer and is initialized by CVar 'deathmatch'. If you simply need to check whether it is a multiplayer, you may still use GameInfo::deathmatch ( IIRC '0' - is single player story, '1' - multiplayer mode); but if you need to know exact game type, use MainGameInfo::GameType instead.
Fri, 15 Jun 2007 17:05:26

dj_jl

It should not be boolean, fixing it now.
Fri, 15 Jun 2007 17:38:46

Crimson Wizard

Umm... nice. <!-- s:wink: --><img src="{SMILIES_PATH}/icon_wink.gif" alt=":wink:" title="Wink" /><!-- s:wink: --> Need to revert whole thing back then.
Tue, 10 Jul 2007 03:11:30

Firebrand

Notice for everyone using our SVN repository, SF.net changed the location of the SVN repository to "https://korax.svn.sourceforge.net/", take note of this or you won't be able to get the latest code. If you are using TortoiseSVN just right click on the local folder where you have the code and then look at the "relocate" option, then just change the address from what you have to look like the one I posted here and you'll be done, if there's any problems with these let me know and I'll try to help you out <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Tue, 10 Jul 2007 18:29:46

Crimson Wizard

And what about vavoom repository?
Tue, 10 Jul 2007 18:30:06

Crimson Wizard

And what about vavoom repository?
Tue, 10 Jul 2007 18:44:21

RambOrc

And what about vavoom repository?
Tue, 10 Jul 2007 19:07:12

RambOrc

And what about vavoom repository?
Tue, 10 Jul 2007 19:07:31

RambOrc

And what about vavoom repository?
Tue, 10 Jul 2007 19:07:47

RambOrc

And what about vavoom repository?
Tue, 10 Jul 2007 19:33:14

Firebrand

It's now: vavoom.svn.sourceforge.net
Wed, 11 Jul 2007 08:26:27

Crimson Wizard

And what abo... oh, nevermind.
Wed, 15 Aug 2007 15:48:21

Crimson Wizard

Firebrand, I want to implement one idea in Korax RPG, I call it ActorCondition. Idea basically is to move all the specific conditions handling from Actor/Player classes to separate classes, like for Poisoning, layed spells etc. This will allow to get rid from numerous timers, counters and similar parameters. Actor and Player will have a link to array of Conditions objects, "layed" on them. It will increase size of the code a bit, I think, but will make it much easier to create new spells and effects applied to creature and/or player (and other objects as well).
Wed, 15 Aug 2007 17:21:27

Firebrand

I think it's a nice idea, but why do you want to remove the time counters for effects? IMO it's a good way to measure these effects for monsters and players, and we could create a counter for every type of effect in it's own class, it would make things a bit more easy to implement too, since the basic layout of some effects is already in the code. I've got an idea of how I would like certain spell/weapon/etc. effects like poisoning, blindness, slowness, etc. could work from Ichor's Oblivion Knight video <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->, I really liked the ideas he proposed there and I think we can implement them without much problems if we first generalize effects for players and monsters. As for your ideas on monster AI, I like them a lot <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->, I'm sure they'll surely improve the gameplay and feeling of smart enemies on the game, I think we can extend them for NPC's too, since they'll have to attack enemies when needed, also the scripting for certain actions could come in handy, nice work so far! Now we just need to start coding, heh! <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->
Wed, 15 Aug 2007 17:43:31

Crimson Wizard

[quote="Firebrand":ol5dwlfo]I think it's a nice idea, but why do you want to remove the time counters for effects? IMO it's a good way to measure these effects for monsters and players, and we could create a counter for every type of effect in it's own class, it would make things a bit more easy to implement too, since the basic layout of some effects is already in the code. That is WHAT I propose - to move those counters from Actor/Player classes to special effects classes. Well, I nearly completed base classes for such effects, so I'll upload them to SVN soon and you'll see what I mean. [quote="Firebrand":ol5dwlfo]I've got an idea of how I would like certain spell/weapon/etc. effects like poisoning, blindness, slowness, etc. could work from Ichor's Oblivion Knight video <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->, I really liked the ideas he proposed there and I think we can implement them without much problems if we first generalize effects for players and monsters. That's WHAT I am doing now <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->)) BTW, what exactly ideas Ichor proposed? Maybe I missed something.
Wed, 15 Aug 2007 18:03:50

Ichor

He means this.
Wed, 15 Aug 2007 18:42:13

Firebrand

Yes, we could use similar effects for projectiles/attacks/spells or add our own <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. I'll be waiting for the updated SVN stuff then, once I finish revamping the KA maps, I'll get to implement something for KoraxRPG (I'll start with the damage skins stuff).
Wed, 15 Aug 2007 19:18:12

Crimson Wizard

[quote="Ichor":1ud8ulau]He means this. Oh, I've seen this ofcourse. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> I thought he meant you gave him some comments about how it works. Yeah, we can have it, ofcourse, in KoraxRPG. I am already got everything to test my version of "Blood mana", which I called "Mana Burn" ( (c) MTG )
Wed, 15 Aug 2007 20:08:01

Ichor

I think that one (blood mana) is the most fiendish out of all of them, because with that one, you'll end up killing yourself if you're not careful. As for corpse explosion, I considered having it resurrect the monsters, but I thought I'd try something different. The damage it does is half of the original health of the corpse, so standing next to a dead Korax when one of these guys is around is certainly not a wise idea.
Wed, 15 Aug 2007 20:52:23

Crimson Wizard

Heh, corpse explosion? <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> I can see your game is full of whacky ideas <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P --> Mmmm... just imagined a "corpse explosion" spell handled by character... to cast such towards the horde of Ettins... <!-- s:twisted: --><img src="{SMILIES_PATH}/icon_twisted.gif" alt=":twisted:" title="Twisted Evil" /><!-- s:twisted: -->
Wed, 15 Aug 2007 21:39:36

Ichor

Yeah, you see that at the very beginning of that video.
Wed, 15 Aug 2007 23:20:07

Crimson Wizard

Yes, now when you mention it I detected this explosion. Heh, by the way, I have Mana Burn too now <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> and also generic "Damager" class which damages player/monster and can be customized using parameters: - Damage type - Damage amount - Frequency - "Spell" life duration <!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P --> This gonna rock EDIT: and now: - Screen flash color and used operation (set, or, and) <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> In fact, I have everything to make any "spell" like Poison, Blind etc.

Back to the Korax Forum Archives