|
|
|||||||
| 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
|
Quote:
2) NavigationPoint -> SmallNavigationPoint -> PlayerStart -> TriggeredPlayerStart. Set all but the beginning group of starts (should always have more than one per objective, even the beginning) to bEnabled False. Set matching Tags on each group of starts to toggle per Objective. In the OSMObjectiveManager, set the beginning start group Tag, then set each Objective's start group Tag. The OSMObjectiveManager will handle all the toggling for you when Objectives are reached, no matter what order they are reached. Read up on the OSMObjectiveManager on the top post here. 3) I suggest you work through this phase. I am working hard to bring everyone the tools to help those affliced get thier SP on. ![]() Quote:
![]()
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 05-01-2006 at 12:28 PM. |
||
|
|
|
|
|
#17 |
|
beep...beep....beep...
|
Cool
![]() BETA will be today some time, i have to go to work for a safety meeting, then i've got four days off so WOO HOO. I'll post what i have later so you check it out ![]()
__________________
|
|
|
|
|
|
#18 |
|
Registered Monkey
|
Omg
To be filed under "What Were They Thinking?!":
The SceneManager does indeed work with the PlayerScriptTag property to find the AIScript you set up and tell it to take over control of your pawn. However, in someone's infinite wisdom and despirate desire to save a very small fraction of a second in processing time, they decided to search through all Dynamic Actors for the AIScript in question, instead of the slightly more expensive All Actors search. The trouble is, AIScripts are not dynamic. Ever. ![]() A simple test after that change was made would've revealed the bug. Evidentally, that test was never done. This means that part of the SceneManager can't work. I've had to get the OSMObjectiveManager to catch it in time and engage it. So for now, know that this will work in the next version I release. I have it working now. If you really want to set your AIScripts up now, just go ahead and set up your cutscene's AIScript and throw an xPawn in your map as a stand-in to test. Set your script to WaitForEvent, set your cutscene to trigger that event upon start and set the xPawn's AIScriptTag to match the Tag of your cutscene's AIScript. (Does that make sense?) This will cause the xPawn to act as the player's Pawn, so you can tweak timing, animation, etc. When the next version is released, you can remove the xPawn, the WaitForEvent step on the AIScript and the Event the cutscene triggers. (Does that make sense?) I may do a supplemental update soon anyway, but in case I don't update until Friday, I wanted to explain this temporary work around so that mappers can set this up.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 05-01-2006 at 06:09 PM. |
|
|
|
|
|
#19 |
|
Registered Monkey
|
Another source for ideas and organization from old-skool Unreal:
Mapping for Unreal SinglePlayer and Mapping for Unreal Coop on UnrealWiki. Most of it is still applicable.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 07-17-2006 at 12:07 PM. |
|
|
|
|
|
#20 |
|
Registered Monkey
|
I'm putting the "How do I set up a Player script to run during a cutscene?" question on the FAQ. It's pretty simple, but to keep things tidy, you need to use specific actors, steps and settings. You can see an example on my OSM-Gauntlet, as long as you also have the update to the toolset (v0.961b or higher).
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
#21 | |
|
Registered Monkey
|
Quote:
To keep your traps enjoyable as opposed to frustrating, remember to encorporate three things in your traps: - Have a way to avoid it. - Give some hint for the player who's never seen it before, no matter how subtle. - Combine it with some other elements, like a monster or a puzzle for interest.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
|
#22 |
|
Registered Monkey
|
Likewise, here are some things I'm thinking with regards to puzzles:
- Have some obvious courses of action for the player to take, perhaps some not-so-obvious, but do not require the player to perform a completely hidden task in order to solve the puzzle, or your players will be frustrated. - It is sometimes good to include some element of urgency in your puzzle, either a timelimit, some element of danger (impending doom), or a time-sensitive reward. - Giving the player a variety of actions to perform through the course of solving the puzzle is challenging and interesting. - Red herrings, false moves, or actions that cause setbacks can add elements of difficulty or danger, but use them sparingly so they don't become frustrating. - It is usually a much more satisfying objective to overcome if the puzzle's workings (the obstacle it poses, the solving actions, the various intermediate steps) are visually and aurally demonstrated clearly to the player. That is, having a series of buttons to push to get through a door is rather boring. However, showing how the button pushes directs the flow of water in a channel to turn a waterwheel, which opens the door, is a much more interesting and satisfying objective to achieve. - Puzzles do not have to be contraptions, with levers, valves and buttons. It can be any series of actions the player must perform in order to achieve the objective. For example, gathering items like a lamp, a magnifying glass and a pole, the player can set up a beam of light to burn the rope that holds a gate's counterweight; once the rope is broken, the player may continue on.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
#23 |
|
Registered Monkey
|
Since puzzle construction seems to center around complex TriggerSystems, I may do a big revision of the TriggerSystems page on the wiki to help set these up. There are a couple of key points that need proper explanation:
> TriggerSystems as a kind of AI : -- Activation & Detection -- Decision-making > Managing TriggerSystems : -- Construction workflow -- Testing / Debugging methods > Triggers : -- ProximityTypes and ClassProximity -- CollisionCylinder -- ReTriggerDelay vs RepeatTriggerTime -- Trigger Instigators > ScriptedTriggers : -- Using ScriptedActions within TriggerSystems > TriggeredConditions & Action_IfCondition : -- Conditional fllow -- TriggerControlled conditions -- Toggled conditions, your TriggerSystem having "memory". > Using various actors within TriggerSystems : -- Mover Events -- Pawn / Monster Events -- Matinee SubAction_Trigger -- GameObjectives, gametype-specific Events
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 05-28-2006 at 02:03 PM. |
|
|
|
|
|
#24 |
|
Registered Monkey
|
PlayerAloneTrigger
Check out the new PlayerAloneTrigger in the latest supplemental update (OSMT v0.933b or later).
This should solve a common problem: How to know when a Player has cleared an area of Monsters. Any time you want to wait to trigger an Objective until the player has killed all baddies, this is the trigger you want. The reasons why this isn't easy with stock actors is complicated and technical. Essentially, Monsters often call themselves Players so they can ride Movers (lifts). So detecting ( is player here? ) and ( no monsters around ) was nearly impossible with stock actors. This turned out to be a complex trigger, but it seems robust. When set to any "PlayerProximity" type, it will check for live players, but if at any time there is a live Monster (or any subclass) detected, it will be disabled instantly. Getting it to switch when players/monsters died was a little tricky, but it's pretty solid now.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
#25 |
|
beep...beep....beep...
|
I like the idea of this, in regards to matinee scenes too.
In case you trigger a cut scene while next to a Skaarj for example ![]()
__________________
|
|
|
|
|
|
#26 |
|
Registered Monkey
|
Exactly.
![]() Normally, if you've placed the monsters, or you know exactly how many there will be, a Counter will do, but with the CreatureFactory, roaming monsters and the unpredictability of players, this should help a lot.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
#27 |
|
Registered Monkey
|
The name of the custom gametype in OSMT has been changed from "OSM SinglePlayer" to "OSM Adventure". I knew CoOp play was desirable, but didn't bother to check out how well OSM worked online until now. It turns out there's just a few things to fix up and it'll be ready to go.
The new name acknowledges the possibility of playing these maps online and/or with more than one human player and also better describes the tone and tenor of the gametype, imho; suggesting it's story-driven emphasis.This is still primarily a singleplayer gametype, but with some careful design and testing by the mapper, their maps can be played online and/or cooperatively. Personally, I still believe maps are either designed for SinglePlayer play or Cooperative play, rarely both. But, that doesn't mean mappers can't try. ![]() A few serious words of caution about mapping for CoOp (or just SinglePlayer, but online): - Online play requires that the elements in your map work with the replication scheme for Unreal. This can effect the look and gameplay of your offline map in ways you didn't expect, so testing replication is a must. See Launch a Local Netgame on the wiki. - All cutscenes are omitted from online play. Just like Assault, there is no intro movie, there are also no intermediate cutscenes in OSM online. So any gameplay critical events that must be triggered during a cutscene cannot be triggered by the SceneManager, neither via SubAction TriggerEvent nor by SceneManager.StartEvent/EndEvent. Likewise, AIScripts that control the Player pawn during cutscenes do not run, so do not trigger gameplay critical stuff from there either. Use a ScriptedTrigger instead. Gameplay critical stuff would be like the gate the Player needs to open to continue the adventure, or the ThingFactory that spawns a necessary weapon for the Player. - Likewise, only launch cutscenes (Intro or intermediate) from the OSMObjectiveManager. Do not launch them from other actors, like Triggers, ScriptedTriggers, etc. The OSMObjectiveManager will know when the map is being played online and can properly stop the launch of the cutscene, whereas other actors will not take that measure, which can cause critical problems for the Player. - Avoid separating or blocking CoOp Players. Remember that players will always do unpredictable things. If you have a room that will close the entrance up after the first Player has entered, there is a real possibility the players will be separated. If your map is a simple linear progression and you've blocked some players from continuing the adventure, they will be frustrated and write you hate email. - Make sure you have enough extra TriggeredPlayerStarts, Weapons, Ammo, Powerups and Monsters. Make sure your map is flexible enough to accommodate the range of players your map allows. CreatureFactories have a property to add CoOp Capacity to help adjust the difficulty of your map. - Be sure to set the MaxPlayers setting and set your extra TriggeredPlayerStarts to be CoOp enabled. - Make sure you've clearly labeled your map as a Cooperative map, in the ReadMe file or in the Map Description, or both. I'm just getting a few creature individual states working online and then OSM online is ready to go for v1.0. No change to how OSM works offline.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 07-18-2006 at 10:45 AM. |
|
|
|
|
|
#28 |
|
Registered Monkey
|
^ Bumpage ^
Now that we've had a report of a successful online cooperative experience with OSM Adventure and now that a fair number of mappers are begining to develop their own Cooperative adventures, I thought I should bump this thread and point out this previous post. All these points are important to ensure the map you make will be robust online and for multiple players. I am also in development of a Cooperative adventure and now working on such aspects as NPC, player comrades, integration of outpt's voice hint idea, etc. More soon.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
|
|
|
|
|
|
#29 |
|
Registered Monkey
|
For those interested, I came across a really nice effect for loading adventures. I found this for a project at work, but OSM Adventures can also take advantage of this.
Break out: The effect is not just using your own custom loading screen (Vignette) for you adventure, but to break the normal Unreal way loading appears. Imagine you've launched an OSM Adventure and you see a custom loading screen, now imagine that loading screen fades to black and transitions to a movie, or imagine the loading screen suddenly begins to animate and effortlessly transition to the intro cutscene, or imagine the loading screen becomes a comicbook-style intro with sounds. For work, we needed to deal with external modules (which take a variable time to load) coordinating with Unreal during map load. Either the loading would take a day and a half, or we would load the map but a key character (controlled externally) would be missing for a good 30 seconds. The solution I came up with uses stock mechanisms to improve the look of loading and give some new opportunities to help sell the story of the game. In the process, I found OSM Adventure can certainly take advantage of these ideas. The Trick: There nothing complex to this idea. Essentially, you are using an imported texture for your custom loading screen. You can also use this same image in a CameraOverlay effect in your intro matinee cutscene. See where I'm going with this? At the start of the map, the instant it is loaded, have your intro cutscene begin with a CameraOverlay matching your loading screen. The transition is seamless. Now, you're "in game" and as the map editor, you have complete control over how this image is used, how the intro cutscene works with it, how your in-game elements are introduced. Here are some ideas: * Fade to black, then fade from black into your matinee. (this is what we did for the project at work and it's surprising how much better loads look with that simple change) * Have this loading image be a dead screenshot of your intro cutscene's start position. Maybe de-focus the image a bit and fade it out on map load. (Half-Life2 anyone?) * Compose a series of panels to describe the intro to your story. Make the first one a long read, a dramatic shot, or both. Once in the map, a material sequence to step through the panels with a voice over narrating. * The images you use after the loading is done can have some alpha holes in it, showing both 2D static art and 3D in-game renders at the same time. But there's more: And let's not forget, with OSM Adventure, you can transition to sequential maps in the adventure using the same technique. In fact, by encorporating the same technique in the "outtro" cutscene, you can get an even cooler transition. Each episode or chapter of your adventure can be bookended with story panels and narration. It may sound a little too simple, but believe me, breaking the normal Unreal loading look really helps to convey your message. And the loading screen and matinee tools can be integrated in new ways with your maps. These adventures can look entirely unlike Unreal, if desired. I'm itching to show examples of this. I need to find some more time.
__________________
- SuperApe : ) -= Unreal Geek =-= HTML5 Padawan =-= Funoholic =-
Last edited by SuperApe; 07-14-2008 at 11:19 AM. |
|
|
|
|
|
#30 |
|
Registered User
Join Date: Jan 2007
Posts: 2
Downloads: 230
|
converting
Do you know if there is anyway that i can convert ut99 skins to ut03???
![]() |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|