Quake3World.com Forums
     Level Editing & Modeling
        EntityPlus - A single player Q3 mod


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: Re: Here's a wild idea: EntityPlus

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 08-09-2011 02:57 PM           Profile Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
I have no idea if there's an updated version of BSPC, at least, nothing official. I only know that misantropia has the bspc sourcecode available here, but I'm not sure what he's changed

Nothing major, just lots and lots of little bug fixes.

Open an issue on GitHub if you run into bugs. I don't have time to do big features but bugs I'll fix (if possible).




Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 08-10-2011 12:12 AM           Profile Send private message  E-mail  Edit post Reply with quote


Eraser, amazing job you are doing here. Read through your really well written PDF manual manual 0.8.1.pdf (devs should take note, because that is the way things should be documented), and noted a few things that might be interesting to consider:

  • Since this is *the* EntityPlus thread renaming the first posts topic might make help make it better stand out, e.g. rename it "EntityPlus Mod - Real single gameplay/entities for Q3A" (or something along those lines), I would rename the first post, if you want.

    IMO, one could also sticky the thread.

  • Section: 2.1 – func_breakable
    It occurred to me that shooting at breakable stuff would negatively impact score, at least at first glance since you might be shooting at "walls". But since the breakable stuff has "health" it might be counted as carnage damage under 1.5 – Scoring? Would be interesting to mention how you track this in the manual. Ideas: This might be tracked as a separate stat, or integrated into the overall stats.

  • Holdable entities (Medkit, TP, and the like)
    Regarding many of the older SP games, you could switch between them (Q2 had that IIRC). No idea how much hassle this is, you would have to remember all items and also add at least one or two keyboard shortcut allowing you to switch between them (next/previous item).

  • Keys collected shown on HUD?
    Did not look into it in such detail yet, but are you showing collected keys somewhere on the HUD? If not would probably be good to remind the player.

  • Number of "Monsters" killed?
    Are you tracking the number of monsters killed? E.g. also mentioning the total number of monsters in the map? It was always interesting in DOOM to see that you not only missed secrets but monsters "in" those secrets areas. Total number of secrets also shown?

  • 2.13 – target_mapchange
    A key called "health <value>" might be of interest. E.g. if the player is really down on health in the previous level, his health would "reset" to e.g. 100 again in the next one. Item and health consistency is a good thing per se, but I seem to recall that old games would at least let you get your health back across maps. Just a thought.

  • Saving...
    Yes this is probably a nightmare to implement, and as long as you "only" play one map respawing at the nearest spawn point on death, then picking up all your stuff again, saving will not really be needed. But as soon as you play several maps in a row, it might be nice to have some way of stopping and continuing the game. E.g. save the players present loadout in a "<mapname>_save.cfg" file on a target_mapchange (much like the scores). But only save if there is a next level, and then save the file with the name of the "next" map. That way one could stop the game after finishing one level, if one continues to play/begin the next level in the campaign, the code could check for the save cfg file and read the loadout. Making it easier to continue the game.

    Presently that would require knowing the name of the "next" level and typing that into the console. This should keep everything "relatively" simple, as compared to a real quickload/quicksave implementation. Just another idea there...

Sorry if I overlooked things you have long since added, mentioning them "again" should not hurt though.

I wonder what Sock has to or said to all this concerning The Edge of Forever.




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 08-10-2011 12:28 AM           Profile   Send private message  E-mail  Edit post Reply with quote


thats a negative on the health reset in old games.
doom would fuck you up if you would end a map with 3% health.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-10-2011 04:09 AM           Profile   Send private message  E-mail  Edit post Reply with quote


AEon wrote:
Eraser, amazing job you are doing here. Read through your really well written PDF manual manual 0.8.1.pdf (devs should take note, because that is the way things should be documented), and noted a few things that might be interesting to consider:

  • Since this is *the* EntityPlus thread renaming the first posts topic might make help make it better stand out, e.g. rename it "EntityPlus Mod - Real single gameplay/entities for Q3A" (or something along those lines), I would rename the first post, if you want.

    IMO, one could also sticky the thread.


I renamed the thread. Better? :)

AEon wrote:
  • Section: 2.1 – func_breakable
    It occurred to me that shooting at breakable stuff would negatively impact score, at least at first glance since you might be shooting at "walls". But since the breakable stuff has "health" it might be counted as carnage damage under 1.5 – Scoring? Would be interesting to mention how you track this in the manual. Ideas: This might be tracked as a separate stat, or integrated into the overall stats.


Yes, good point. I'll see what I can do about this. Code-wise, I think the easiest solution would be to increase the carnage score when hitting or destroying a breakable wall, but I am in doubt if it's the most correct solution. It's probably better to register a shot into a breakable wall as a hit. So if you fire two shots in the entire map, and both of them were to destroy a wall, you'd have an accuracy of 100% instead of 0%.

AEon wrote:
  • Holdable entities (Medkit, TP, and the like)
    Regarding many of the older SP games, you could switch between them (Q2 had that IIRC). No idea how much hassle this is, you would have to remember all items and also add at least one or two keyboard shortcut allowing you to switch between them (next/previous item).


It's a bit of a hassle, but not impossible. I'll have a look at it.

AEon wrote:
  • Keys collected shown on HUD?
    Did not look into it in such detail yet, but are you showing collected keys somewhere on the HUD? If not would probably be good to remind the player.


This is already the case. Keys you are holding are displayed at the right of the HUD, right under the icon of the personal teleporter/medkit.

AEon wrote:
  • Number of "Monsters" killed?
    Are you tracking the number of monsters killed? E.g. also mentioning the total number of monsters in the map? It was always interesting in DOOM to see that you not only missed secrets but monsters "in" those secrets areas. Total number of secrets also shown?


With the way things work right now, it's kind of hard to determine the number of monsters in the map, as you don't place monsters in the map but monster spawnpoints, which spawn a monster when it's triggered. The problem here is that such a spawnpoint can be triggered multiple times and there's no way for me to determine how many monsters would eventually end up in the map.
The number of secrets found and the number of secrets present in the map is something that is displayed in the end-level scoreboard though.

AEon wrote:
  • 2.13 – target_mapchange
    A key called "health <value>" might be of interest. E.g. if the player is really down on health in the previous level, his health would "reset" to e.g. 100 again in the next one. Item and health consistency is a good thing per se, but I seem to recall that old games would at least let you get your health back across maps. Just a thought.


While I don't really agree with the functionality, it wouldn't be very hard to put it in so I might as well go ahead and do just that.

AEon wrote:
  • Saving...
    Yes this is probably a nightmare to implement, and as long as you "only" play one map respawing at the nearest spawn point on death, then picking up all your stuff again, saving will not really be needed. But as soon as you play several maps in a row, it might be nice to have some way of stopping and continuing the game. E.g. save the players present loadout in a "<mapname>_save.cfg" file on a target_mapchange (much like the scores). But only save if there is a next level, and then save the file with the name of the "next" map. That way one could stop the game after finishing one level, if one continues to play/begin the next level in the campaign, the code could check for the save cfg file and read the loadout. Making it easier to continue the game.

    Presently that would require knowing the name of the "next" level and typing that into the console. This should keep everything "relatively" simple, as compared to a real quickload/quicksave implementation. Just another idea there...


Err, yeah, saving. Not something I'm eager to get into but I can see the appeal. I may have a look at some basic save functionality some time. Yeah that sounds rather vague, I know.




Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 08-10-2011 05:51 AM           Profile Send private message  E-mail  Edit post Reply with quote


I was thinking it might be fun to create a "test" map using q3dm7 and try to turn that into an interesting single player map. But I am so out of mapping, it would take me weeks to get into all that again, so this is unlikely. Oh, well...

Thanks for taking the time to go through my suggestions. About the total monster counts... indeed... after posting that occurred to me as well, multi-triggered spawns.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 08-10-2011 07:28 AM           Profile Send private message  E-mail  Edit post Reply with quote


I don't think that Entity Plus is wholly single player only, I can imagine some pretty cool multiplayer maps or coop campaigns if anyone is inclined to build them. Just wanted to stick that out there.



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Who's that man, Mommy?
Who's that man, Mommy?
Joined: 27 Aug 2003
Posts: 5316
PostPosted: 08-10-2011 12:06 PM           Profile Send private message  E-mail  Edit post Reply with quote


I have not really followed the discussion so fat but:

Have you considered to enable items/powerups that change the player's movement.
This would allow Metroidvania Games - Certain Areas become only accesible after getting a certain Item:
- Jump boots (Add jump height)
- Strafe Jump Boots(don't know about the mechanics here but i think you cound change the amount of speed gained, right?)
- Speed Boosters (Usable/Time based /Permanent)




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-11-2011 12:05 AM           Profile   Send private message  E-mail  Edit post Reply with quote


obsidian wrote:
I don't think that Entity Plus is wholly single player only, I can imagine some pretty cool multiplayer maps or coop campaigns if anyone is inclined to build them. Just wanted to stick that out there.


Going to have to disappoint you there, because multiplayer support is officially out (already is in v0.8 and onward). Until now, that primarily means that there's no multiplayer option in the menu and there's no guarantee from me that all the entities work properly in multiplayer. You can still start a multiplayer server through the console and that should run standard Quake 3 maps just fine.
The problem with multiplayer is two-fold.

First of all, a good number of the entities I've added may not work properly when multiple clients are connected to the server. It might be possible to work all of this out, but I've decided to not waste time doing that (and it's pretty hard to properly test those things in multiplayer all by myself). I don't want to run the risk of having the whole game collapse in on itself in multiplayer because things aren't properly tested.

The second thing is that with a Quake 3 mod, you are limited to interfaces and constraints put in by the executable itself. So expanding some things is tricky sometimes. By cutting multiplayer from the equation, I can re-use a lot of multiplayer related bits and bytes which makes it easier to introduce new things. I haven't actually gone and technically broken multiplayer yet (I think) but I decided to cut MP support while still in alpha releases so people making MP maps for this won't get really disappointed down the line.

I don't think it's much of an issue. I don't think people will be interested much in creating MP levels for a Q3 mod just because it offers a few new entities. It already is a big question mark if people will actually release SP maps for this. Also, the lure of Quake Live and high profile competitions like the maverick mapping competition is too great for people to focus on making maps that require a mod that has only been downloaded roughly 60 times. I think the only reason people would map for this is because it's single player and they can finally build SP maps without having to learn the intricacies of a new engine or even a new game.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-12-2011 06:49 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
AEon wrote:
  • 2.13 – target_mapchange
    A key called "health <value>" might be of interest. E.g. if the player is really down on health in the previous level, his health would "reset" to e.g. 100 again in the next one. Item and health consistency is a good thing per se, but I seem to recall that old games would at least let you get your health back across maps. Just a thought.


While I don't really agree with the functionality, it wouldn't be very hard to put it in so I might as well go ahead and do just that.


I went ahead and expanded on the idea little further. I implemented a whole new target_playerstats entity which, when triggered sets the activator's health and/or armor. It can be configured to only set the player's health and/or armor if the player has less of it than specified by the entity.




Top
                 

Immortal
Immortal
Joined: 12 Mar 2005
Posts: 2205
PostPosted: 08-12-2011 09:41 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Eraser wrote:
I went ahead and expanded on the idea little further. I implemented a whole new target_playerstats entity which, when triggered sets the activator's health and/or armor. It can be configured to only set the player's health and/or armor if the player has less of it than specified by the entity.


I could see that being interesting to use for something such as having a crash landing scene and instead of leaving the wreckage all buffed and armed to the teeth, you come stumbling out with no armor and just barely enough hp to not die from being shot at with a nerf gun.




Top
                 

Grunt
Grunt
Joined: 21 Jul 2009
Posts: 66
PostPosted: 08-14-2011 03:13 PM           Profile Send private message  E-mail  Edit post Reply with quote


I know it's a little late in the game, but did you ever consider putting all of your entity changes in a seperate .def file?

In radiant 1.4 you can have multiple *.def files which will all be loaded when you start the editor.

You could put all of the entityplus definitions in a new file - ie: eplus.def.

This preserves the original entity.def file from errors, typos, etc. while incorporating the new entities in a smaller, more managable file.

One more thing, if you ever want to take on how Q3 handles shaders, a enhanced surfaceparm would be a nice addition, right now we only have metal, flesh or none for sound choices.

Grass steps, wood steps, snow steps, carpet steps, roof steps, and gravel steps would be a welcome addition to the SP experience.



_________________
www.mrlego.com


Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 08-14-2011 06:45 PM           Profile Send private message  E-mail  Edit post Reply with quote


Flesh doesn't work, or rather id Software never bothered finishing that feature. Legacy code still exists so it shouldn't be too hard to fix or to add additional mods for it.



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Grunt
Grunt
Joined: 21 Jul 2009
Posts: 66
PostPosted: 08-14-2011 07:40 PM           Profile Send private message  E-mail  Edit post Reply with quote


I think it would depend to how many surfaceflags the Q3 game code allocates for.

Currently there are 20 being defined in surfaceflags.h - working or not.

Enemy Territory has 32 - with comments stating this is the max.

RTCW also has 32 and is also commented as that being the max.

It would be nice to hear something other than boots on concrete.

Maybe something for version 1.1 - I know Eraser is close to releasing v1.0 in the near future.



_________________
www.mrlego.com


Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-14-2011 10:49 PM           Profile   Send private message  E-mail  Edit post Reply with quote


MrLego wrote:
I know it's a little late in the game, but did you ever consider putting all of your entity changes in a seperate .def file?

In radiant 1.4 you can have multiple *.def files which will all be loaded when you start the editor.

You could put all of the entityplus definitions in a new file - ie: eplus.def.

This preserves the original entity.def file from errors, typos, etc. while incorporating the new entities in a smaller, more managable file.


I didn't know this. But to be honest, I hacked up a pretty large portion of the entities that are there in the original entities.def as well (for instance to add keys like target2 and targetname2 and remove deathmatch/team play related keys and spawnflags).

MrLego wrote:
One more thing, if you ever want to take on how Q3 handles shaders, a enhanced surfaceparm would be a nice addition, right now we only have metal, flesh or none for sound choices.

Grass steps, wood steps, snow steps, carpet steps, roof steps, and gravel steps would be a welcome addition to the SP experience.


I think the limits you talk about in the other post are defined by the engine, not the mod. So I'll try to see if id Software allocated any bits for currently unused surfaceparms, but if that's not the case then we're probably out of luck.

Another thing, I'm also unsure if q3map has to know about these surfaceparms as well, because if that's the case then you'd need a custom q3map as well, which is pretty much out of the question.




Top
                 

Immortal
Immortal
Joined: 02 Jun 2006
Posts: 2475
PostPosted: 08-15-2011 07:21 PM           Profile Send private message  E-mail  Edit post Reply with quote


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:

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?




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-15-2011 10:54 PM           Profile   Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Immortal
Immortal
Joined: 02 Jun 2006
Posts: 2475
PostPosted: 08-15-2011 11:00 PM           Profile Send private message  E-mail  Edit post Reply with quote


ta




Top
                 

Grunt
Grunt
Joined: 16 Aug 2011
Posts: 55
PostPosted: 08-17-2011 06:24 PM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-17-2011 09:52 PM           Profile   Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Recruit
Recruit
Joined: 17 Jun 2011
Posts: 2
PostPosted: 08-19-2011 05:47 AM           Profile Send private message  E-mail  Edit post Reply with quote


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




Top
                 

Insane Quaker
Insane Quaker
Joined: 26 Nov 2009
Posts: 341
PostPosted: 08-21-2011 09:30 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-21-2011 11:29 PM           Profile   Send private message  E-mail  Edit post Reply with quote


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 :(




Top
                 

Commander
Commander
Joined: 01 Apr 2008
Posts: 111
PostPosted: 08-22-2011 07:11 AM           Profile Send private message  E-mail  Edit post Reply with quote


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!


Top
                 

Insane Quaker
Insane Quaker
Joined: 28 Dec 2009
Posts: 298
PostPosted: 08-22-2011 03:44 PM           Profile Send private message  E-mail  Edit post Reply with quote


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 08-22-2011 09:36 PM, edited 1 time in total.

Top
                 

Immortal
Immortal
Joined: 02 Jun 2006
Posts: 2475
PostPosted: 08-22-2011 09:21 PM           Profile Send private message  E-mail  Edit post Reply with quote


yup it can, read the documentation http://code.google.com/p/entityplus/downloads/list that comes with the latest release, its very comprehensive.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-22-2011 11:31 PM           Profile   Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-22-2011 11:34 PM           Profile   Send private message  E-mail  Edit post Reply with quote


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...?




Top
                 

Grunt
Grunt
Joined: 16 Aug 2011
Posts: 55
PostPosted: 08-23-2011 10:07 PM           Profile Send private message  E-mail  Edit post Reply with quote


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




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-25-2011 01:46 AM           Profile   Send private message  E-mail  Edit post Reply with quote


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 09-01-2011 03:07 AM, edited 1 time in total.

Top
                 

Grunt
Grunt
Joined: 16 Aug 2011
Posts: 55
PostPosted: 08-25-2011 02:26 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-25-2011 03:12 AM           Profile   Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Grunt
Grunt
Joined: 16 Aug 2011
Posts: 55
PostPosted: 08-25-2011 04:35 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44127
PostPosted: 08-26-2011 12:59 AM           Profile   Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Trainee
Trainee
Joined: 26 Aug 2011
Posts: 43
PostPosted: 08-26-2011 07:34 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 08-26-2011 07:41 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 
Quake3World.com | Forum Index | Level Editing & Modeling


Post new topic Reply to topic


cron
Quake3World.com
© ZeniMax. Zenimax, QUAKE III ARENA, Id Software and associated trademarks are trademarks of the ZeniMax group of companies. All rights reserved.
This is an unofficial fan website without any affiliation with or endorsement by ZeniMax.
All views and opinions expressed are those of the author.