ATTENTION: This work is copyright 1998 Ron Andrade for Portal Special Edition. Do not duplicate for other than your own purposes or redistribute without the permission of the author: Ron Andrade (Gadget Factor) |
Second Edition is Sponsored by

`Click to NavyJobs.com for more information`

This is the final chapter of the Portal Special Edition tutorial. We will rap things up with a few additional notes and a summary: The following information is provided by Tim Sweeney:

Unreal URLs

Unreal uses the standard URL (uniform resource locator) syntax of the WorldWide Web for identifying levels, entry options, and startup options. This approach unifies Unreal's local level switching with its network play. A sample URL is:

unreal://server.site.name.com:portnum/levelname#teleportername?option1?option2?option3

A URL consists of the following parts.

- unreal://
: This is the standard Unreal identifier, which enables Unreal URL's to be recognized by Windows and your web browser. For example, if you include "unreal://" at the beginning of the URL, you can use it as a hyperlink on a web page; as a Windows shortcut; or type it in a Web browser like Internet Explorer. When typing a URL from within Unreal, the "unreal://" part of the URL is optional.
- server.site.name.com: The internet address of the Unreal server. If you don't include this part, the level is assumed to be local (not on the Internet). For example, "unreal.epicgames.com".
- levelname: The name of the level to enter. The default is Index.unr (similar to Index.html on web sites).
- #teleportername: The optional name of the teleporter to enter the level through. If not specified, a playerstart is used. Servers may ignore this, for example in deathmatch games, where the server spawns players at random playerstart locations.
- ?option: One of the following URL options listed below.

The following are player URL options, which may be specified either when starting a local game or entering a network game.

- ?name=playername
: Specifies the name of the player who is entering. Defaults to "player".
- ?password=passwordstring: If the server is password protected, gives the player's password.
- ?team=teamname: Optional team of the player who is entering. Some servers may ignore this and automatically assign the player a team.
- ?class=unreali.femaleone: Specifies the class of the player, such as unreali.femaleone, unreali.maleone, etc. The player class corresponds to an UnrealScript class that expands the engine.playerpawn class.

The following are server URL options, which may be specified either when starting a local game, or starting a dedicated server. They are not recognized for clients who are entering a network game, because the server options have already been set at that point.

- ?defaultplayer=unreali.femaleone
: Specifies the default class for players who are entering the game, and who don't explicitly request a class.
- ?game=unreali.deathmatchgame: Specifies the class for the game rules, for example unreali.singleplayergame or unreali.deathmatchgame. The game rules correspond to an UnrealScript class that expands the GameInfo class.
- ?listen: Listens for network connections from remote players.

In addition to these predefined URL options, licensees using the Unreal engine and users creating mods can define entirely new options. The URL options are processed in the GameInfo class in two places: InitGame parses the server options when the dedicated server is started; and Login parses the player options when each client (either local or remote) who connects to the server.

Several kinds of URLs are used commonly:

- levelname
#teleportertag: Switches to the level named "levelname", entering at the teleporter "teleportername". Discards the hub stack.
- ?restart: Restarts the current level.
- ?failed: Clients go to this URL when they are playing on an Internet server and the server disconnects them unexpectedly.

Special Edition Summary:

You have embarked on a long journey.

You now have a strong working knowledge of not only the Unreal Editor, but 3D modeling and ray-tracing programs as well. Though the Special Edition did not cover all aspects and capabilities of UnrealEd, you now have what it takes to make the software do what you want it to do.

You are limited only by your own creativity and the effort you want to put into it.

Designing, developing and creating a level is really a lot of hard work. It takes time and devotion. Just how much time and devotion is really up to you. The more of each you put into your creations, the better the impact it will have. Do not be concerned with ideas at first. Create something. Anything. You will find the ideas rolling off your brain like a snowball - they get bigger and better as you go along. Eventually you may encounter a panic-attack: wondering how you could possibly work fast enough to keep up with the great ideas your mind is spitting out every second.

Remember these tips:

- Start small. Build as you go and remember to always be flexible.
- Save early and save often. Always keep a back-up of your creation incase you need to go back.
- Never, ever, EVER release incomplete work. be patient. Complete your work, test it, fix it, test it again, then - and only then - release it to a select group to help you play test. Then release it to the public. You will make a far greater impression on the crowd at large if you do this - and you will not irritate everyone with “updates” to your already existing work.
- If you run into a snag - think of a work-around. remember those little used tools like invisible collision hulls and gravity or friction settings in zones. I was once asked how to create a catapult. My answer: Create a mover to act as the catapult - in the full open position - have it so the player would just enter a zone and set its gravity to pull the player - strongly - in the direction of the “fling.” - stop the zone where you want the player to end up. When the player shoots out of the zone - he will fall back to the ground.
- Take care to ensure your textures match. not just the actuall editing and placing of the textures, but the actual texture library. Do not mix libraries unless it is a definate part of your story - and not because they are pretty.

There are many outstanding sources where will will find more information on editing - and where you will find some of the same information you found here. The whole purpose of this tutorial was to provide you with in-depth information on creating many of objects used in Unreal.

The sample map “DMArray” will be made available here in about a week or so.

If you have any questions, I will do my best to answer them for you - just write. In certain circumstances, I will be happy to do reserch for you and to create “incidental” tutorials - mini tutorials - to further inform you and everyone else about a procedure or work around to accomplish a specific effect.

In the mean time - thank you for visiting Portal, Special Edition. I sincerely hope it will help you and give you insight. I am very interested in seeing “my student´s” work - so please feel free to send them to me. All I ask is that you compress the file with a ZIP program and include all required files (texture library, sounds - whatever) along with it.

To all of you, my best regards,
Gadget Factor

| Previous Chapter | Home | Next Chapter