|
|
|||||||
| Old Skool Monsta Toolz OSMT and the OSM Adventure gametype. Monsters and Puzzles and Traps! Oh, my! |
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
#16 |
|
Registered Monkey
|
Sorry, I should've had a new update available on Friday, but I got hung up. I will put a new version up later today.
EDIT: Well, okay. Maybe later *today* or tomorrow. I managed to fix some old nagging bug with respect to ThingFactories (DIST_Gaussian) and also fixed a bug I noticed regarding Krall and Skaarj crouching. It's not a big update so far, that's why I'm holding off a little bit to see if I can do a little more.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
Last edited by SuperApe; 05-22-2006 at 05:25 PM. |
|
|
|
|
|
#17 |
|
Registered Monkey
|
New Version Released
Version 0.98 beta is now available. Changes include:
Decoration added: - Carcass : A mesh with no collision. Defaults as human male skeleton, but can be set to any mesh. Able to set animation and frame to freeze on. DamageType added: - Poisoning : Like normal damage but also Poisons the target. (Not to be confused with DamageType 'Poisoned', which is damage caused by Poison) Features added: - ScriptedMonsters now have an extra property, OddsOfAppearing, which uses the match's Difficulty to adjust a random chance the creature will appear at match start. (default = 1.0 = always) What works: - GiantGasbags, GiantMantas, LesserBrutes, Behemoths, SkaarjBerserkers, SkaarjAssassins, SkaarjScouts, and SkaarjLords now essentially ignore varying degrees of minor damage, like other strong creatures do. - Thing and CreatureFactories now have a much more accurrate DIST_Gaussian TimeDistribution setting. - Minor fix to Thing and CreatureFactories with bCovert true. - Krall and Skaarj now correct their collision cylinder height when uncrouched. What doesn't work: - Poisoning DamageType is only available in OSM SinglePlayer. (may need a special Poisoning Mutator to implement in other gametypes) There are no compatibility issues, however I should mention that the change to the larger creatures, like GiantGasbags, Behemoths, SkaarjLords, etc., where they don't react to lesser damage is a fairly significant gameplay change. Again, they do take the damage, but they just don't react to it, as if their armor or "toughness" just absorbed the damage. This prevents larger, tougher creatures from doing the "chaingun-cha-cha" when hitting them with an AssaultRifle or something small. The result is these larger, tougher creatures are much more of a challenge than before this version. So, re-test your creature placement to see the difference and adjust your creature placement accordingly. The next version release will be in about 10-11 days. I want time to tackle some of the bigger ToDo items I've left 'till the end, like Team support and a SaveGame function, and I want to look into CoOp support.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#18 |
|
Registered Monkey
|
OSMT / OSM Map Pack Release Date
I don't want to write anything in stone, but I do want to set up a timeline that we can all work with.
I just coordinated with ArcadiaVincenne, who is heading up the UCMP map pack, to come up with a release date. We wanted to stagger the release of their new map pack and our toolset/map pack. AV said they are planning on making an announcement next friday or saturday and then releasing it a week after that, so two weeks from today (roughly). So, I am setting a tentative release date for the OSMT toolset and the OSM map pack for three weeks from today (roughly). This would be somewhere on the weekend of June 16th-18th. EDIT: This has been pushed forward two weeks to the weekend of June 30th-July 2nd. Again this is not set in stone, but it does give us a schedule to work with, which I think is usually helpful. My hope is that having this schedule helps the testing process and especially the OSM map development. I don't want this timeline to discourage or frustrate anyone, so please let me know your concerns if you have any regarding this schedule. That way, we can figure out how to help and complete the projects you have in mind or in progress.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
Last edited by SuperApe; 06-12-2006 at 11:34 AM. |
|
|
|
|
|
#19 |
|
Registered Monkey
|
Supplemental Version Update - v0.981b
I just updated to include a small fix to Thing/Creature Factories. There was a bug in setups where the factory was meant to be triggered.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#20 |
|
Registered Monkey
|
Supplemental Version Update - v0.982b
I've gone through ThingFactory and CreatureFactory with a fine tooth comb and I hope I've caught all the problems I and other have had. This is all backwards compatible.
Here are the changes: Features added: - CreatureFactory now has a bAutoRespawn property (default = True) which forces the creature to trigger the factory when it dies. What works: - ThingFactory now limits spawned Pickups to one item automatically. - Minor (re-)fix to triggered Thing and CreatureFactories. So, our ThingFactory problem regarding Pickups is solved automatically; they will only spawn one item, then stay indefinately or until the player picks it up. If you *wanted* to keep spawning items, you have two choices: either set it to bStoppable = false, or if you need to be able to stop it, I've developed a trick where I use a Mover to move into the ThingFactory's collision radius when you want it to keep spawning. The new CreatureFactory property bAutoSpawn is true by default, so it is backwards compatible, but if you ever wanted to spawn a creature from a factory, and *not* respawn a new one when that creature dies, then just set bAutoRespawn to false.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#21 |
|
Registered Monkey
|
This is the last major beta version release before the public release, scheduled for somewhere around the weekend of June 16th-18th. I may still make supplemental updates between now and then, because there were some big additions to this version that need testing, but in general the toolset is just about ready for prime time.
![]() Here are the changes: ScriptedActions added: - ACTION_AssignMonsterToTeam : Given the Tag of the monster and the TeamIndex number (0=red, 1=blue), the monster will be assigned to that player Team. Features added: - Monster Teams implemented. Set a matching AI->TeamTag to a group of creatures and set one of them to AI->bTeamLeader = True. Monster Team members will follow leader if not busy. - More intelligent Monsters (BRAINS_Mammal and up) can be assigned to Player Teams, will attack Team Enemies and appear on team rosters. Monster assigned to player team will ignore original Orders. What works: - All ScriptedMonster OSM ScoringValues tweaked to better reflect the difficulty in defeating them. - Krall bSpearToss property now implemented. If True, this Krall is able to use the Throw melee attack. (Default = True) - ScriptedMonster and ScriptedMonsterController code significantly cleaned of logs and comments. - Adjusted SmartPupae Intelligence to BRAINS_Reptile. So, the big changes here are TEAMS, both monster teams and player teams. I'm not sure player teams were ever implemented for monsters in UT99, but it's been one of the most requested features of this toolset. The monster teams was part of the original ScriptedPawn code, but I've added a little to it so that the two forms of teams act similarly. Here's how they work in general: Player teams: - More intelligent (BRAINS_Mammal and up) creatures can be assigned to a player team in TeamGames. - Once creatures are assigned to a team, their original Orders settings are lost and forgotten. - ScriptedAction ACTION_AssignMonsterToTeam is set with the MonsterTag and the TeamIndex (0=red, 1=blue). Those monsters whose Tag matches the MonsterTag will be assigned to the team. - Those creatures will appear on the team roster, and be able to score kill points. Other team players will also be able to score points on them. Although Team Scores will *not* be affects by killing a monster team mate or if a monster kills an opponent team member. - Team monsters will try to follow the TeamLeader, a bot Squad leader, the first visible human player, any human player or the Team's base; which ever is available at the time they are assigned to the team. - Team monsters who are not able to find a suitable Team assignment will wander in place until either an opponent is seen to attack or until a team member is found to follow. - Team monsters will attack opponent team players on sight. However they will tend not to attack monsters not assigned to any team or monsters of the same species (even if they are on opposing teams). - Human/Bot team mates may or may not like having monsters on their team. More aggressive human players/bots may fire on team monsters. Team monsters will "yell" at them to stop, but if they don't (more aggressive players/bots won't), then more aggressive monsters will decide to break off from the Team, attacking the player/bot who damaged them. - If on the same Team, monsters may occassionally "greet" team mate players with a greeting animation, if available and if not busy doing some other animation. For example, Krall bow and scratch their head and Skaarj will pump one fist in the air. - Monster team members are *not* able to take bot orders. Monster teams: - Creatures set to the same AI -> TeamTag, where one of them also has AI -> bTeamLeader set to True, will be considered on a monster team in any gametype, not just TeamGames. - If not busy, monster team members will follow the TeamLeader until an Enemy is detected to attack. - If not able to reach the TeamLeader, the monster will wander. - If the TeamLeader is killed, the monsters will assign a new TeamLeader. (I think, not sure about that one.) - Monster team members will sometimes "talk" to the TeamLeader, the TeamLeader will sometimes "talk" to other members, giving and taking orders.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#22 |
|
UP Regular
|
This totally completes this toolset. I am happily surprised you were able to get these features working. I now have an idea for a map.
But i haver a lot of reading to do to catch up on all the changes.
__________________
"Somethings got to happen in a quarter of a mile" |
|
|
|
|
|
#23 |
|
beep...beep....beep...
|
Good work mate.
I'll aim for Wnagar1 and 2 for the 16th although i think i'm going to need some help with some AI issues. I'm also aiming for another BETA of Wangara1 tommorrow ![]()
__________________
|
|
|
|
|
|
#24 |
|
Registered Monkey
|
Supplemental Version Update - v0.991b
I found some bugs to squash with this new Team code; mostly having to do with the monster team member navigation. But, I also had to fix some Patroling and Ambushing code I broke while cleaning the controller class. I also realized that IceSkaarj clearly wear armor, so I gave them armor defense against reacting to lesser damage. I also made a change to SkaarjScout armor and raised it from 5 to 10.
What works: - SkaarjScout armor increased to 10. IceSkaarj have armor, same as SkaarjScouts. - Patroling and Ambushing aquisition fixed. (Attacking) - Patroling reaction time to enemy is fixed. - Improved Team member navigation. - bDelayedPatrol Patroling creatures now simply begin patrol route on trigger instead of making the Instigator an Enemy. Please download the new version for testing. Techincality: I noticed that monster team members can throw off team balance. This can be significant because to try and correct it, subsequent bots added to the match may put all bots on one team, all monsters on the other. In BombingRun, for example, this will immediately end the game with a LastMan condition. So, it's probably a good idea for mappers to take this into account and try to manually balance monsters on teams. In arbitrary gametypes, I have no way to take that risk out of the equation. ![]()
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#25 |
|
Registered Monkey
|
Whew! I needed to fix a bug with Objective timelimits, but I finally also got a new feature to work that can allow monsters to be a player ally in any gametype.
Here are the changes: Features added: - Implemented AttitudeToPlayer ATTITUDE_Follow. More intelligent (Mammal and up) creatures will greet and follow player in any gametype. Following monsters are player allies; they will attempt to protect the player and fight their enemies. What works: - Implemented bIgnoreFriends. Creatures on a monster team will hunt players on their own instead of following the TeamLeader or friend. - Fixed a bug in the OSM EndGame condition having to do with Objective timelimits when the game config timelimit was zero. This concludes the Team-related stuff I wanted to add. Monsters act well with player teams, monster teams coordinate well and monsters can now also work well outside of team, as a player ally. This AttitudeToPlayer (ATTITUDE_Follow) was never implemented in the original UT99, but I got it to work. Like ATTITUDE_Friendly, creatures may greet you, but this attitude actually goes a step farther and allows more intelligent creatures to follow you, protect you from enemies and fight your enemies. All this team stuff is great to see in action. Monster teams will normally move around in packs (disable by setting bIgnoreFriends to true), Monsters can be fully active team members (except Team Scoring), friendly creatures will greet you (maybe even lead your to cool things via AlarmTag), ally creatures can join up with you as you battle on. Like many singleplayer games, these last two items can really flesh out an adventure by allowing the mapper to set up NPCs that give hints or items, escort missions, sidekick characters, etc. I can't wait to start using this stuff. I hope you enjoy. Please test. ![]()
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
Last edited by SuperApe; 06-05-2006 at 09:32 PM. |
|
|
|
|
|
#26 |
|
Registered Monkey
|
Supplemental Version Update - v0.993b
This update represents several minor tweaks, mostly to make the OSMT tools appear as close to the original Unreal properties as possible. As usual, everything here is backwards compatible. No map info should be lost. One major difference mappers will notice is four whole property groups are now hidden in ScriptedMonster classes: Pawn, UnrealPawn, Shield and UDamage. Don't panic. No info is lost, this is to make things cleaner for you, and I should note that none of the properties in those groups are relevant to mappers anyway. Also a couple of the properties the mappers have been using will now be in a different place. That said, there are a couple tweaks to ScriptedMonsters that will make them a bit harder by default (namely HearingThreshold and Skill), so it might be a good idea to review your monster difficulty after this upgrade.
Okay. Here are the changes: Miscellaneous Actors added: - PlayerAloneTrigger : Monsters within the Collision Cylinder automatically disable this trigger. Helpful in determining if players are free of monsters. Features added: - Adjusting ScriptedMonster DrawScale now automatically adjusts CollisionSize, Health, Mass and CrouchSize as well as SoundPitch. - GoodieDrop is now in the AI property group along with a new property bDropOnlyOne, which if true will randomly pick one item from the GoodieDrop list. - Fly and Pupae now have editable melee damage properties. - Pupae has a new Order state, "Pouncing", where they can be stuck on walls or ceilings (or mid air) and will lie in wait for an Enemy. What works: - Patroling creatures now correctly play their PatrolPoint.PatrolAnim and ignore non-existent sequences. - Ambushing creatures now correctly find their AmbushPoints by the creature's OrderTag, not Tag. - AlarmPoint bStrafeTo properly causes creatures to travel to the AlarmPoint while focusing on the Enemy. - Skaarj set to bFakeDeath will get up if damaged and not return to fake death state. - Default HearingThreshold for ScriptedMonsters has been changed from 0.3 to 0.2 to allow greater hearing distance. - ScriptedMonster Skill property now adds the game difficulty skill level to the creature's Skill, up to a maximum of Godlike. - bFixedStart is now in the AI property group. - Carcasses are now able to use the Decoration properties bDamageable, bPushable, EffectWhenDestroyed, etc. (Just set the Collision properties appropriately: bBlockActors, bCollideActors, bBlockZeroExtentTraces and bBlockNonZeroExtentTraces) - ThingFactories & CreatureFactories with no ItemTag set will automatically set it to their Name value. This fixes an error in counting actors spawned from this factory. What doesn't work: - Individual Krall and Skaarj set to either large or small DrawScales (when compared to their base class) are prevented from crouching. This prevents the collision cylinder from resetting to class default sizes when uncrouched. So, to summarize: - GoodieDrop and bFixedStart are now in the AI group. - You can now bDropOnlyOne. - HearingThreshold is now a little lower (the lower, the more distance they can hear) - Skill now adds to the game difficultly skill level instead of just setting Skill. - Ambushing correctly finds AmbushPoints via OrderTag. - DrawScale will automatically adjust collision size, so if you've already set that (LS), change it back to the defaults and let the code do it for you. - Carcasses work properly in terms of damage and pushing, just set Collision stuff as noted above. - The PlayerAloneTrigger is a "one-stop-shopping" way to determine if the player is alive and alone. (I'm going to update Gauntlet with it soon) This was a big one. Off now to update the ToDo list on the OSMT Beta Testing thread. ![]()
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
Last edited by SuperApe; 06-11-2006 at 04:01 PM. |
|
|
|
|
|
#27 |
|
Registered Monkey
|
Supplemental Version Update - v0.994b
I needed to fix some bugs I saw recently, but I didn't have time to do anything major:
What works: - Warlord's FallingDeath will now land properly. - Warlord's bTacticalTeleporting setting to False now reliable. - Fly's may now be prevented from floating when killed. I honestly don't know how it happened, but there was no Landed() event defined in the Warlord's FallingDeath state. This makes no sense, because although this worked fine when I tested it, there is no way for the Warlord to finish it's fall without it, no way out of the Falling animation loop. Whatever. I put it back in and it works now. Hopefully, I can catch the flies that float away when killed. (it was a rare thing to see, but I saw it the other day) The check for bTacticalTeleporting was set up incorrectly and is now working.
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
|
|
|
|
|
|
#28 |
|
Mad Mapraider Moron
|
/me whispers that Superape rules
![]()
__________________
UCMP/UCMP2/UCMP3/UCMP4 Level designer Portfolio Bioware Level designer Author of DM-Frenzy, BR-Templus, BR/CTF/DOM-Templus2k4, DOM-DMP-Dissipate, DOM-DMP-Enchanted, CTF-UCMP-Aquatica, Shieldgun Mappack II, DM-UCMP2-Taron, CTF-OSR-Gladius, DM-TCMP-Gilles, CTF-UCMP3-Tidal |
|
|
|
|
|
#29 |
|
Registered Monkey
|
Supplemental Version Update - v0.995b
This is a pretty big supplemental update. Some major things added. Some things changed. It's all backwards compatible, however because I have changed EliteKrall, LesserBrute and Behemoth projectiles, mappers should review their placement to ensure they aren't too tough now.
![]() In Short: - Behemoths now have a projectile that fits their stature: a seeking rocket projectile that's more powerful than the Brute's, less powerful than the Warlord's. - LesserBrutes and EliteKrall share essentially the same projectile still, but it is now a little faster and prettier. (Fixed texture problems from stock code) - Poisoning damage type works in all gametypes. Poison now displays a distinctive green flash to tell the player they're poisoned. - Intro cutscenes can be made interruptable, if mappers set OSMObjectiveManager -> bPreventIntroInterrupt = false. Mappers will recieve a "IntroInterrupted" Event when this happens. - Enabled a feature advertised in old ScriptedPawn code (but never implemented) so now Guarding creatures will actually monitor an item with a Tag that matches their OrderTag property and attack those who touch it. True Guarding creatures. - ScriptedCharacters are now available! They are considered Monsters, but they look and sound like player characters. They carry weapons (set by the mapper) and are set to ATTIUDE_Follow by default. They are not Bots. They cannot score points, pickup items or take Bot Orders. But they can do all the normal ScriptedMonster stuff. Mappers can set any Character by name. ![]() - A ScriptedCharacter can be placed in an OSM map with the Tag "IntroCutScenePawn" and will take on the appearance of the Player's selected Character during the IntroCutScene. The ScriptedCharacter will then be removed at the end of the intro. In Long: ScriptedActions added: - ACTION_HealPawn : Does what HealActor can't: heals Pawns. Good for setting up a place for Monsters to heal up, like their HomeBase. ScriptedMonsters added: - ScriptedCharacter : Player character as a ScriptedMonster. Useful for Player-like villians, hostages, comrades, etc. These are NOT bots, they are considered monsters. They use the weapon pickups specified in GoodieDrop; using last-listed first. Mappers can specify the character through AI -> PlacedCharacterName. They can also be used to represent the Player's selected Character during intro cutscenes in OSM maps, by setting their Tag to "IntroCutScenePawn". Effects added: - PoisonEffect : This allows the Poisoning DamageType to give Poison to the victim. Projectiles added: - SmartEliteKrallBolt : Faster, prettier and won't cause the normal Krall bolt to change color. - LesserBruteBolt : Essentially the same as the EliteKrall projectile, but with proper death message. - BehemothRocketProj : A SeekingRocket type for Behemoths. Features: - LesserBrute and Behemoth have new projectile types. LesserBrute has the same blue bolt, but with proper death message. Behemoths now fire seeking rockets, similar to WarlordRocket, but less damaging. - A ScriptedCharacter can be placed in an OSM map with a Tag of "IntroCutScenePawn". This ScriptedCharacter will then appear as the Player's selected Character during the IntroCutScene. It will be removed from the map at the end of the IntroCutScene. What works: - Poisoned DamageType now displays a distinctive green pain indicator coming from all directions. - Poisoning DamageType now works in any gametype. - OSM intro cutscenes are now interruptable. Mappers can prevent this with OSMObjectiveManger.bPreventIntroInterrupt (True by default). Mappers recieve an "IntroInterrupted" Event when this happens. - ScriptedMonsters set to Guarding Orders with an OrderTag that matches an Touchable item will monitor that item when they are at their post and attack Enemies that might touch it. Higher Skill creatures monitor more often. - Fixed bug on ACTION_PossessPawn. - KrallBolts now prevented from changing color if an EliteKrallBolt is fired. (bug fixed from stock code) - EliteKrallBolts now display proper blue sparks & blue dynamic lighting. (bugs fixed from stock code) What doesn't work: - ScriptedCharacters have a limited vocabulary. - ScriptedCharacters do not use AltFire. - Interrupted Intro Cutscenes do not fade to black, yet. And that's the Long and the Short of it. ![]() Not much left to add or fix. I was thinking of adding a PoisoningFly monster, but for the most part, the big stuff appears done. Now, let's hear those Beta Testing bug reports! ![]()
__________________
- SuperApe ![]() -= Unreal Geek =-= Flash Padawan =-= Animation Refugee =-
Last edited by SuperApe; 06-24-2006 at 08:33 AM. Reason: Spelling correctly is fun! |
|
|
|
|
|
#30 |
|
Administrator
|
Suggestion...
Now that I've started implementing some of the toolset in my map, I've noticed one thing I'd like to see. Please correct me if this is already possible and I'm not seeing it.
When I get killed after passing my first objective, I'd like to respawn with more equipment than at the initial objective. I'd like to rely on the player having picked up certain weapons without having to backtrack or place "supply rooms" near the future spawn points. I found the spot where I can manipulate the starting equipment, but could this be changed so that it is tied to specific spawn points? I suppose I could make due with a weapon locker, but it would be more subtle the other way.
__________________
"A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." - Ralph Waldo Emerson Advanced UT2003/UT2004 Bot Pathing Tutorial 1on1 Ultra-Duel (UT2004 version available!) |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|