Board index DeFRaG Mapping

New entities

Maps and the process of creating them

Re: New entities

Postby BeRsErKeR » Jul 24th, '10, 11:55 pm

In addition I also implemented client dependence for the multimanager as well. I realized that cgg already extended the trigger_multiple for MP purposes. So the following entities are usable for MP games:

func_door
func_button
trigger_multiple
target_delay
target_multimanager

This allows some cool new stuff for MP games I think. ;)
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

Re: New entities

Postby BeRsErKeR » Jul 25th, '10, 12:20 pm

Added shooter_bfg.

Currently I'm working on a new train. Here is the current description. But it's not really implemented. ;)

/*QUAKED func_train_extended (0 .5 .8) ? BIDIR TOGGLE PATH_ANGLE LOOPED
Trains are moving solids that follow a string of path_corner entities. Trains in Q3A are very basic, they also require an origin brush (see Notes).
-------- KEYS --------
targetname: triggers may start the train
noise : sound of train moving
speed : speed of displacement of train (default 100 or overridden by speed value of path).
target : this points to the first path_corner of the path which is also the spawn location of the train's origin.
model2 : path/name of model to include (eg: models/mapobjects/pipe/pipe02.md3).
origin : alternate method of setting XYZ origin of the train's brush(es) and .md3 model included with entity (See Notes).
light : constantLight radius of .md3 model included with entity. Has no effect on the entity's brushes (default 0).
color : constantLight color of .md3 model included with entity. Has no effect on the entity's brushes (default 1 1 1).
notfree : when set to 1, entity will not spawn in "Free for all" and "Tournament" modes.
notteam : when set to 1, entity will not spawn in "Teamplay" and "CTF" modes.
notsingle : when set to 1, entity will not spawn in Single Player mode (bot play mode).
-------- Q3MAP2 KEYS --------
_targetname : Used to attach a misc_model entity to this entity.
_lightmapscale : Floating point value scaling the resolution of lightmaps on brushes/patches in this entity (default 1.0).
_cs OR _castshadows : Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. > 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.
_rs OR _receiveshadows : Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
_celshader : Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
-------- Q3MAP2 TERRAIN KEYS --------
_indexmap OR alphamap : Path/name for the art file used to guide the mapping of textures on the terrain surface.
_layers OR layers : Integer value is the number unique root shaders that will be use on the terrain.
_shader OR shader : Path to the metashader used to assign textures to the terrain entity. Note: Omit the "textures/" prefix.
-------- SPAWNFLAGS --------
BIDIR: bidirectional train. will move back to start after reaching the last path_corner.
TOGGLE: only makes sense together with the BIDIR flag. the train will wait at the last path_corner till it's triggered again. targetname have to be speficied.
PATH_ANGLE: the angles of each path_corner are considered.
LOOPED: start from the beginning if finished. for non-bidirectional trains the train will respawn at first path_corner and start moving if this flag is set.
-------- NOTES --------
1. Extended trains always start on in the game if no targetname is specified.
2. Extended trains have to be triggered if a targetname is specified.
3. Extended trains do not damage the player when blocked.
4. Extended trains may emit sound (see noise key).
5. Extended trains are also toggle-able if the spawnflag TOGGLE is set.
6. Extended trains cannot be block-stopped just by getting in their way, the player must be wedged between the train and another obstacle to block it.
7. Extended trains may be bidirectional trains.
8. Extended trains may take the angles of path_corners into account (spawnflag PATH_ANGLE).

Setting the origin key is simply an alternate method to using an origin brush. When using the model2 key, the origin point of the model will correspond to the origin point defined by either the origin brush or the origin coordinate value.

Target this entity with a misc_model to have the model attached to the entity (set the model's "target" key to the same value as this entity's "_targetname").*/
Last edited by BeRsErKeR on Jul 25th, '10, 4:44 pm, edited 1 time in total.
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

Re: New entities

Postby BeRsErKeR » Jul 25th, '10, 4:38 pm

The first results:


As you can see this is already integrated in defrag (see the HUD and so on). ;)
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

Re: New entities

Postby MidiMightyMoe » Jul 25th, '10, 11:27 pm

Good news, good news ! Thanks for your work :clap: .
MidiMightyMoe
 
Posts: 68
Joined: Jan 3rd, '10, 2:05 pm

Re: New entities

Postby BeRsErKeR » Jul 27th, '10, 3:04 am

The new trains are done and I'm really proud of them. Finally integrated custom moving sound and correct path corner angle settings (the last thing was very hard :D ).



Hmm looks like a cool UFO effect at the end, doesn't it? :D
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

Re: New entities

Postby |PsY|Shio » Jul 27th, '10, 10:57 am

way to go berserker. while beta testing i faked a func_rotating with 5 path corners on the same spot (start/stop ftw)... pretty neat.


some ideas:

new path_corner (so u can even flip the train on all axes)
noise and model changeable on path_corners
keep the train speed when jumping off
player & projectile activation
dmg player each second
train as trigger_multiple, cool for catch & avoid games (teleport,kill)
train dmg + death triggering (faking boss battles)
activator for trigger_multiple (touch)
target_reset_train (teleport fail...wait for me trainy :$)

D
|PsY|Shio
 
Posts: 54
Joined: Dec 18th, '09, 4:11 am

Re: New entities

Postby BeRsErKeR » Jul 30th, '10, 4:51 pm

Cgg and I just set up some prerequirements to work together on the defrag code. I also implemented the whole stuff and Cgg is about to setup a test server. Soon the new defrag features will be testable and if all is ok they will be released. So stay tuned. ;)


|PsY|Shio wrote:some ideas:

new path_corner (so u can even flip the train on all axes)
noise and model changeable on path_corners
keep the train speed when jumping off
player & projectile activation
dmg player each second
train as trigger_multiple, cool for catch & avoid games (teleport,kill)
train dmg + death triggering (faking boss battles)
activator for trigger_multiple (touch)
target_reset_train (teleport fail...wait for me trainy :$)


About point 3: I'm not sure what you mean as the train speed is not influenced by a player. The train will always keep it's speed.

About point 5: This is implemented as CRUSHER spawnflag. It will hurt the player each second by the given "dmg" value if he blocks the train. If no dmg value is specified it's defaulted to 500 to kill the player instantly.

I have to think about the rest. Just finished all of my planned features.
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

Re: New entities

Postby <hk> » Jul 30th, '10, 8:58 pm

I think he is talking about keeping the speed the train gave to the player.
Implementing inertia for players when jumping off trains.
User avatar
<hk>
Menstruating 24/7
 
Posts: 1040
Joined: May 2nd, '09, 12:06 am
Location: Ingolstadt Germany

Re: New entities

Postby |PsY|Shio » Jul 31st, '10, 6:47 am

yep hk is right, so that the player inherits the current train speed when jumping off...

point 5: i meant dmg when u stand on the train, but crusher is good too.

u could add a spawnflag on the multimanager "reset trains"
|PsY|Shio
 
Posts: 54
Joined: Dec 18th, '09, 4:11 am

Re: New entities

Postby BeRsErKeR » Jul 31st, '10, 5:42 pm

|PsY|Shio wrote:new path_corner (so u can even flip the train on all axes)
noise and model changeable on path_corners
keep the train speed when jumping off
player & projectile activation
dmg player each second
train as trigger_multiple, cool for catch & avoid games (teleport,kill)
train dmg + death triggering (faking boss battles)
activator for trigger_multiple (touch)
target_reset_train (teleport fail...wait for me trainy :$)


Point 1: Will be implemented as keys pitch, roll and yaw.
Point 2: Will be also possible.
Point 3: Will be added as spawnflag.
Point 4: I'll see what I can do.
Point 5: Already done. CRUSHER spawnflag.
Point 6: It will be possible to bind any entity to trains so you can realize moving triggers, doors, buttons and so on.
Point 7: Not sure about it.
Point 8: Does this mean that the train should be able to trigger a trigger_multiple? This should be done by path_corner targets I think.
Point 9: Will be implemented. Not sure how.


About the recent results:

Trains are now able to work as reallife trains and stop at each path_corner till they are retriggered. Toggling and bidirectional trains now also work for circular routes (start = end). CRUSHER spawnflag is implemented and works fine. Train sound will be played while moving and won't be played when stopped.

I also working on entity-binding. This will allow to bind any entity to another one.
What means binding? Binding means that an entity will be a child of another entity and adjust its position and rotation in relation to its parent. Of course it will be possible that the parent entity also has a parent and so on. So you can stack additional origin and angle relations and build complex moving objects that may also be triggers or items.

So buttons, triggers, doors and so on can be bind to a train and will move if the train moves. Flying triggers (teleports, speed increasements and so on) may be possible. Items at the end of rotating entities (e.g. MegaHealth at the end of a func_rotating like in runrl) may be funny as well. This is a brand new feature I'm working on. First results were nice but it needs some more coding and testing. ;)

Note that entity binding is not pre-decided with Cgg yet. So it's not totally sure that it will be released.

Another feature may be items with custom appearance. Think of an item with a model-key where you can specify your own model (e.g. a coin model). You are able to pick up the item but it won't have an effect to the player. However you can link it to a target_score and build a "coin gathering" game by the usage of fragsfilters inside your map. Think of a large room with several platforms containing coin or flag items that all have to been gathered to open a door or trigger the teleport to the end. It allows a kind of acc- and ctf-map combination. So what is the community thinking about it? Btw, basically it was shios idea. ;)


Misc fixes and improvements:

- Dunno if I mentioned before but checkpoint times will now be displayed correctly: bad times are prefixed by a '+' as the times are higher, good times are prefixed by a '-'. This way twisted since defrag exists.
- If df_checkpoints is set to 2 and no rec file was found, basically df_checkpoints was defaulted to 1. But most players use df_checkpoints 2 or 3 so it will be defaulted to 3 now.

Both bugs/features were reported by w3sp. ;)
User avatar
BeRsErKeR
 
Posts: 151
Joined: May 24th, '10, 10:20 pm

PreviousNext

cron