EntityPlus - A single player Q3 mod

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

fKd wrote:hi, so ive started looking into this mod.

//////
im using entityplus-0.8.1.

so i load the mod, np im in the menu, if i hit new game the dink sound goes on infinite loop, its crashed. i ctrl alt del to bring up the task manager and the mouse is not drawing lol. so i run it again and load the example map via console. all good, shoot the wall, kill a few bots and then bam! crasssssh! no error screen thrown up by q3 or anything :(

running 1.32c, win7 64.
////// fixed, i had too many maps in my base3q dir

chur :up:
I've had another similar report from someone else, also running win7 64-bit. Not sure why the number of maps in your baseq3 folder would cause this but if that fixes it, I'm happy :)

fKd wrote: also, random question, with :

"2.18 – target_skill

This sets the skill level for the next map that will be loaded. The changed skill level is not applied
immediately, so usually this will be used in a level that also implements a target_mapchange entity.
Keys:
• targetname : ativating(typo?) entity points to this.
• skill : the skill level to apply. 1 is easiest, 5 is hardest (default = 2)."

is this overrun by individual skill levels applied to bots through the target_botspawn ent?
target_skill simply modifies the g_spskill cvar and changing that cvar requires a map restart or a map load to actually be applied. The skill key on target_botspawn works relative to the currently applied g_spskill setting. So in short, yes, the individual bot skill level should still apply after using target_skill.
fKd
Posts: 2478
Joined: Sat Jun 03, 2006 2:54 am
Location: Wellington
Contact:

Re: EntityPlus - A single player Q3 mod

Post by fKd »

ta
Ouija
Posts: 55
Joined: Tue Aug 16, 2011 9:11 pm

Re: EntityPlus - A single player Q3 mod

Post by Ouija »

I just want to say, great job on this mod thing. I wonder how did it avoid my attention for such a long time, seriously.
I got an idea for a single player campaign already, although it'd require some more modifications to the game itself. Still, E+ seems to be more than enough to mash up a prototype before one can get someone to code a separate mod, so I'm still satisfied with what I've got here and will get to work right away. In the meantime, I'll wait for further updates on this piece of awesomeness, and hopefully use it to get something done myself.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

Just list the features you'd like to see included. The ones I can implement I will consider putting in.
Also, the mod is open source. It's code is available at the Google code project page. You (or someone can add to that or fork off their own branch.
Seeming
Posts: 2
Joined: Fri Jun 17, 2011 11:51 pm

Re: EntityPlus - A single player Q3 mod

Post by Seeming »

The "Dark Conjunction" (singleplayer mod for quake 3) has a saving system and the source code of this mod is available here : http://www.fileplanet.com/hosteddl.aspx ... 1_1_.0.zip
With this, it's maybe more easy for you to add the saving system.

The mod is avaible here : http://www.shacknews.com/file/19477/qua ... nction-v10
The mod will maybe give you ideas of additions. :D
Bliccer
Posts: 341
Joined: Thu Nov 26, 2009 4:27 pm

Re: EntityPlus - A single player Q3 mod

Post by Bliccer »

I don't know if it is necessary, but while fiddeling around with the target_speakers I asked myself how complicated it would be to implement something like a volume key for the editor? Or a circle displaying the sound's radius, similiar to the light circle. That would be awesome.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

I have no such access to the sound engine from the mod sourcecode, so unfortunately, a volume key is out of the question. Am afraid you'll have to tweak the volume of sound effects in an audio editing program.

As for the in-editor radius, that's GtkRadiant's sourcecode and that has nothing to do with Quake 3 itself. So again I'm going to have to disappoint you there :(
InsaneKid
Posts: 111
Joined: Tue Apr 01, 2008 8:51 pm

Re: EntityPlus - A single player Q3 mod

Post by InsaneKid »

target_entities, that dont need to be activated directly by the player ...

and a
trigger_gameEnd:
there almost is a trigger_once for when the game starts;
the "trigger_gameEnd" should fire, when the game ends!
Reward urself: Do GOOD!
deqer
Posts: 298
Joined: Mon Dec 28, 2009 6:30 pm

Re: EntityPlus - A single player Q3 mod

Post by deqer »

Would EntityPlus be what I need if I wanted to make a map that could do:
- trigger a specific spawn of an enemy bot--and able to specify what bot(name, model, and skill) to spawn.
- trigger a specific door upon the death of a specific bot.
- trigger a specific door when a specific collection of doors have been triggered already.

Example scenario:
- A player fights through a series of rooms, each of which has a single bot that spawns upon trigger, and that after each room is completed(trigger when dot dies), only then another door is triggered as a result from the previous completed rooms(triggers).

---

In quake2, it was something like:

{
"classname" "func_button"
"target" "enemies1"
"wait" "-1"
{
...
...
...
}
}

{
"classname" "monster_infantry"
"targetname" "enemies1"
"target" "door2"
}

{
"classname" "func_door"
"speed" "150"
"wait" "-1"
"targetname" "door2"
"team" "doors2"
"_minlight" "0.2"
{
...
...
...
}
}

...

etc.

You see that "monster_infantry" triggers the door2 when the infantry dies.

Perhaps change monster_infantry to info_player_bot, and add some new parameters.

BTW, I can live without the logic of having a trigger execute when a collection of other doors(triggers) have been executed. I can just make the last door be 5 doors(walls/barriers) thick, each barrier triggered by the death of a specific bot.
Last edited by deqer on Tue Aug 23, 2011 5:36 am, edited 1 time in total.
fKd
Posts: 2478
Joined: Sat Jun 03, 2006 2:54 am
Location: Wellington
Contact:

Re: EntityPlus - A single player Q3 mod

Post by fKd »

yup it can, read the documentation http://code.google.com/p/entityplus/downloads/list that comes with the latest release, its very comprehensive.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

deqer wrote:Would EntityPlus be what I need if I wanted to make a map that could do:
- trigger a specific spawn of an enemy bot--and able to specify what bot(name, model, and skill) to spawn.
- trigger a specific door upon the death of a specific bot.
- trigger a specific door when a specific collection of doors have been triggered already.
Yeah you can do all that.
You'll need target_botspawn entities which will spawn a (specific) bot for you to fight. The target_botspawn can point to another entity with its "deathtarget" key, which means that the targeted entity will be triggered when the bot dies.

You can also use a target_logic entity to have a door open when a specific set of other doors has opened as well. The target_logic entity functions like a target_relay but requires all of the entities that target it to be activated.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

InsaneKid wrote:target_entities, that dont need to be activated directly by the player ...

and a
trigger_gameEnd:
there almost is a trigger_once for when the game starts;
the "trigger_gameEnd" should fire, when the game ends!
There are various ways of activating entities without the need for the player to do so. Examples are func_timer or func_delay or the trigger_death or trigger_frag entities. What exactly do you need?

A trigger_once for when the game starts already exists in vanilla Quake 3. It's called trigger_always. It will activate the entities it targets once at the start of the game.

As for trigger_gameEnd, the closest thing we have is target_finish, which actually ends the game. I'm not sure what you want to do when the end of the level has been reached...?
Ouija
Posts: 55
Joined: Tue Aug 16, 2011 9:11 pm

Re: EntityPlus - A single player Q3 mod

Post by Ouija »

No internet for a few days... anyway, here's a list of things I could use to make a proto of my own game:

An entity that displays a medium or small sized caption on the bottom of the screen for a given period of time, could also display a sprite next to it. Could be used for subtitles, tutorials, and the like.

An entity that changes the BGM. If crossfading is an option, include it.

A way to make the results screen actually play some BGM.

Changing the health of

Displaying the hitpoints of a certain enemy (boss) as a part of the HUD. (best if it's a spawnflag of the bot entity)

CFG savegames, I need them badly for a bigger project to be possible.

A way to define/read/write variables to/from the game state and have an IF/ELSE logical branch entity checking them. (If boss_defeated = 1, spawn a chosen powerup on XYZ spot.) It'd be a nice way to apply changes across all maps as opposed to what target_logic allows.

A way to control how much ammo for XYZ weapon a player has. For example, you could make rocketjump puzzles with a zero-damage (or godmode) BFG/RL with limited ammo per room.

A way to halt the bot AI until fired up again. When started up, it continues like nothing happened (Could be used for time-stopping game mechanics, or to stop those goons from killing you during cutscenes)

An entity for the camera to cut to when fired, the camera will assume its position/angle and scroll to its target's position/angle. (let's say a path_corner means that it keeps going, while target_position ends the sequence and returns the camera to the player) Using some maths to smooth the movement into a spline, if possible. (The result would be a poor man's Unreal Matinee)

A way to force the player character to look at something. Not needed if the above is implemented instead.

A brushmodel entity that can be pushed around, like the barrels and other explosives in Quake 2. Movement could be limited by a shader made especially for that purpose. For some additional functionality, it could fire its targets when it reaches a specific position. (described by "destination" and "range", that is firing when the object is within the "range" of the "destination".

Some way to determine the place we spawn at after a mapchange (to be able to split huge areas into smaller maps) - without duplicating the whole map.

I found a small mistake in the mod's manual - it says that implementing the definitions into Rad 1.5 isn't possible - well, it is. Create an "EntityPlus" directory under /q3.game/ inside where you installed Radiant 1.5, throw the definition file in there, change fs_game in Radiant to E+ like suggested and you're good to go.

A slightly off-topic question, where should I go if I'm looking for people to help me with the mod? E+ pretty much gave me that "kick" to start something on my own :V
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

Already took two of your ideas and implemented them.

I added a SUBTITLE key to target_print, which allows you to print a text message to the bottom of the screen in a smaller font.

Another thing I did was add a new target_variable entity. This entity can write a variable with a value to memory (which persists across map changes if the map change was done by a target_mapchange entity). It can also read a variable to memory and compare it to a specified value. Based on which spawnflags are set, it will activate its targets if the two values match or when they don't match. It also has an "immediately" spawnflag. This means that if you perform some actions (say push a button or defeat an enemy) in map A and that action activates a target_variable which writes a variable, then you can move on to map B and have a target_variable entity open a door in that map based on the value of the variable. If the button in map A wasn't pushed yet, the door in map B will remain closed.

I'm going to experiment with if I can use this to activate/deactivate spawnpoints as well, which means that you can have a player spawn at spawnpoint 1 in map A, then move to map B and move back to map A again, but have him spawn at spawnpoint 2 then, so you can move back and forth between maps.

It's not exactly saving the entire state of the map, but I guess it's a good way of mimicking it for now.
Last edited by Eraser on Thu Sep 01, 2011 11:07 am, edited 1 time in total.
Ouija
Posts: 55
Joined: Tue Aug 16, 2011 9:11 pm

Re: EntityPlus - A single player Q3 mod

Post by Ouija »

My reaction: http://www.youtube.com/watch?v=P3ALwKeSEYs

Also, a bug in my post.. I meant to say "a way to change the health of a spawned enemy" but stopped mid-sentence to check whether this wasn't actually implemented already, and apparently forgot about this.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

Ouija wrote:A way to make the results screen actually play some BGM.
This is already possible. You can set a scoreboardmusic key to worldspawn.
Ouija
Posts: 55
Joined: Tue Aug 16, 2011 9:11 pm

Re: EntityPlus - A single player Q3 mod

Post by Ouija »

Oh. Well, I realize it doesn't matter much for me anyway since even if I proto my game in E+, I'm gonna do just the first two levels. (then either gonna continue it in another engine, or write a separate branch based off this)
Oh, if only MD3 exporting wasn't such a pain in the arse.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

In-editor shots of a map I'm working on. Defining complex game logic using triggers and targets is a bit daunting sometimes:

Top-down shot:
Image

Side view:
Image

And that's not all, because GtkRadiant doesn't draw targeting lines for target2/targetname2 keys.
GtkRadiant
Posts: 43
Joined: Fri Aug 26, 2011 3:18 pm

Re: EntityPlus - A single player Q3 mod

Post by GtkRadiant »

hey people, I'm new here.
Eraser, all these new additions are awesome, but when are you going to release the next version?

P.S. if anyone can tell me how to change my avatar, that would be nice.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by obsidian »

There's no fixed release schedule, it's basically done when done since Eraser is just doing this on his spare time.

You can't change your avatar, only admins can do it for you. It's not likely to happen unless you have been here for some time.
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
GtkRadiant
Posts: 43
Joined: Fri Aug 26, 2011 3:18 pm

Re: EntityPlus - A single player Q3 mod

Post by GtkRadiant »

thanks for the info. =/
deqer
Posts: 298
Joined: Mon Dec 28, 2009 6:30 pm

EntityPlus (Request): gameover stuff.

Post by deqer »

When the player dies, I want it to feel like you really died in a single player game. Music plays, screen fades to black, and you click "Continue"

To make this easy on you, all you need to do is fade the screen to black(over duration of 3 seconds) and display a message on the screen "Game Over.\n\nPress any key to continue.", and play the music.

Yes, I need the ability to play "game over" music. Is it possible for you to do something similar to the "scoreboard", where we can define a music .wav for "game over" event?

Thanks,
deqer
Posts: 298
Joined: Mon Dec 28, 2009 6:30 pm

Re: EntityPlus (Request): gameover stuff.

Post by deqer »

oh, this would mean i would need a "map_restart" effect (without the 5 second countdown.) to go after the "Press any key to continue." -- because, if the player(you) dies, it's pretty much impossible for them to continue if the map doesn't restart, because some one-way/one-time-only elevators have already gone, and other stuff has already played through, etc. --- the idea is that the player must survive the whole run.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: EntityPlus - A single player Q3 mod

Post by Eraser »

I've implemented a very simple cutscene camera system. You can link cameras together to jump from view to view. Next step is to make smooth pans between two camera positions but I need to figure out if I'm smart enough for the maths behind that...
GtkRadiant
Posts: 43
Joined: Fri Aug 26, 2011 3:18 pm

Re: EntityPlus - A single player Q3 mod

Post by GtkRadiant »

that will be awesome to have in my map! =3
Eraser, can you change the Func_timer so it wont keep firing its target forever... maybe you could have a LOOP spawnflag that makes it fire forever every X seconds. (X being the value set in the wait key.) and a rounds key that can be set which will tell the entity how many times to fire its targeted entity every X seconds.
Post Reply