Cogito, ergo sum

Legacy:Evolution/Developer Journal

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Organized Evolution -

Well, much has changed since the last time I updated this page.

Current Projects

SuperInstaGib4 (on the back burner for now - I've split up the functionality of SuperInstaGib into its component pieces), which are:

AllTeams - this mutator allows you to choose alternate team colors for team games. So now you can play CTF with blue and gold or red and green instead of the default red and blue. (Future versions will add more team colors, such as purple, orange, pink (pink?!?!?!), black perhaps (haha that would be really funny).

ngWatcher - this mutator shows you real time ngStats information, such as efficiency, frags per hour, and accuracy in a neat little HUD display.

ColorInstaGib - this mutator has been discontinued (was team colored instagib shots). I have a replacement in the works, although I'll won't be giving out any details of this one until it's just about done.

InstaBots - this server side mutator fixes bot glitches on maps (currently, only InstaGib fixes have been implemented - thus the name "InstaBots")


It's been a rough ride, from starting on UScript in January of 2002, to now (currently August). I've learned alot, and made alot of mistakes. I've been pretty much on the computer writing code every available moment since I started doing this, and it's starting to pay off now, as I see writing code that not only compiles, but works getting easier and easier.

To be honest, I probably won't update this page much with play-by-play information regarding my experiences in UScript, mainly because by the time I get writing out all the code, I can't stand to write ABOUT it for another hour or two hehehe...

But, you can always catch me in #unrealscript on both irc:// and irc:// anytime, and I'm always willing to help out with questions.


Well, finally worked out all the replication bugs (it amazing how upset the game gets when you put "reliable if (bNetInitial)" where you're not supposed to :D ). So that mutator is finished. Or so I thought. The next phase of writing this mutator was one I never expected, as it's not something you'll normally think about when writing everything up for the first time - exactly how many other mutators mine IS NOT compatible with. Hmmm, well, there were plenty, let me tell ya. Turns out that just about every mutator that is any mutator at all changes the TeamGamePlus(Level.Game).HUDClass to its own HUDClass.....which presents problems when using mutators together. And after all, mutators are supposed to be able to work together, each one changing a little bitty thing.

So now it's a decision. One mutator that AllTeams isn't compatible with is MODOSUtils. MODOSUtils uses its own Scoreboard to show its stuff, while my mutator replaces the scoreboard in order to change the colors of the scoreboard to the colors of the currently configured teams. Is there a way around it? YES....but, the question is, do I modify my code to be compatible with his, or stick with my code and accept that it's not compatible. To make it compatible would involve a complete reworking of the way my mutator functions. On the other hand, he would only need to make a small change to his (and I feel the way it should have been done in the first place) in order for the two to be compatible. Hmmmm...decisions decisions...

Mychaeel: That's the kind of stuff that makes me preach "Compatibility! Compatibility!" in the Coding forum every time somebody talks about making a mutator (or game type, though it's of course a different matter there) that subclasses PlayerPawn, or replaces a HUD, or replaces PlayerReplicationInfo or anything like that.  :-)