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: Here's a wild idea: EntityPlus

Post by Eraser »

Bliccer
Posts: 341
Joined: Thu Nov 26, 2009 4:27 pm

Re: Here's a wild idea: EntityPlus

Post by Bliccer »

Awesome mod! Maybe a team already should think about a story and start to design singleplayer levels =)

@issue 19: Add the same for buttons.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

I've created two new entities which can be pretty useful: trigger_frag and trigger_death. Sounds like they're the same, but they're subtly different.

trigger_death is triggered when a player dies. Method of death doesn't matter. It is possible to filter through nohumans/nobots keys and red_only/blue_only spawnflags. The dying player is seen as the activator of the trigger so the keys/spawnflags are tested against the dying player.

trigger_frag is triggered when a player scores a frag. Ofcourse this automatically means a player dies, but this one will not be triggered when a player craters, drowns, steps in lava/slime or falls into a trigger_hurt. The same keys/spawnflags apply here, but with trigger_frag, the player making the kill is seen as the player that activates the trigger and thus the keys and spawnflags are tested against him.

This means that if you want to open a set of doors when a bot dies, you could use trigger_death with the nohumans key set to 1.
If you want to award the player with a weapon when he scores a frag, you could use a trigger_frag in combination with a target_give and weapon_rocketlauncher.

Both entities also have a "count" key, which will delay the trigger from firing its targets until it has been triggered [count] number of times itself. They also both have a TRIGGER_ONCE spawnflag which means it can only be used to fire it's targets once.
trigger_frag also has a NO_SUICIDE spawnflag on top of that which prevents it from being triggered by players killing themselves.
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: Here's a wild idea: EntityPlus

Post by ^misantropia^ »

Question, should .gitignore files be inside the remote git repository?
Yes. Cool thing: you can do stuff like `*.[oa]` to ignore all *.a and *.o files.
I'm going to keep the Google Code SVN repository as my main development repository for now. I'll first play around a bit with Git some more to figure out how stuff works (like tagging?)
`git tag 1.0.0 && git push --tags`
I also dislike GitHub's cluttered interface. As a project home it all feels a bit chaotic compared to Google Code's sleek interface.
Hah, different tastes. I always get annoyed at GC's code browser.
nick lol
Posts: 28
Joined: Thu Feb 10, 2011 11:19 pm

Re: Here's a wild idea: EntityPlus

Post by nick lol »

Just thought of something else, can you independently specifiy the phase for each axis of the func_bobbing? So, you could have it move along the X and Y axes, set one axis 90 degrees out of phase, and have it move in a circle?
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Here's a wild idea: EntityPlus

Post by obsidian »

That's what I meant earlier by being able to team different func_entities together, like make an entity a subgroup of another.

For example, your func_bobbing could be teamed with a func_rotate to make it bob and rotate at the same 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]
nick lol
Posts: 28
Joined: Thu Feb 10, 2011 11:19 pm

Re: Here's a wild idea: EntityPlus

Post by nick lol »

With the phase thing though you can have it move in any ellipsoid (not just circle), and it will also maintain its orientation.

Tying entities together would be cool too though, like a pendulum and func_bobbing to make a piston.

VVVV Ah yes I see
Last edited by nick lol on Mon Mar 28, 2011 10:11 pm, edited 1 time in total.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Here's a wild idea: EntityPlus

Post by obsidian »

Well, same thing, it would be two func_bobbings together.
[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]
EmeraldTiger
Posts: 392
Joined: Fri Sep 17, 2010 1:53 am

Re: Here's a wild idea: EntityPlus

Post by EmeraldTiger »

Just thought of something.

I think it might be a good idea to import the Team Arena weapons into this mod. I`m assuming it`s legal since it`s essentially GPL-licensed code, not sure about the models but I think it`s okay since they`re in Quake Live.

If it is legal, it`d be great because when this project gets to a certain point I`m thinking of creating a Strogg-infested, Quake 2 / Quake 4 style mission and the chaingun could help enhance that feeling a bit. I doubt it would be difficult to implement either, it would involve simply copying and pasting the code for those weps and then importing the models.
[color=#00FF00][b]EmeraldProductions[/b][/color]
http://emeraldproductions.weebly.com/index.html
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Here's a wild idea: EntityPlus

Post by obsidian »

Technically, it's not legal (as far as the models are concerned).
[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]
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: Here's a wild idea: EntityPlus

Post by Silicone_Milk »

Eraser wrote:EmeraldTiger suggested saving the state of a level between level switches (see here).
Funny, misantropia actually helped me do just that back in around 2002. Modified the +50 health entity to load up a new level with persistent states.

I forget why, but it actually didn't work very well from what I remember.
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: Here's a wild idea: EntityPlus

Post by ^misantropia^ »

User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

Thanks man. I merged it into the SVN codebase. I also used it to implement similar functionality for func_button.
fKd
Posts: 2478
Joined: Sat Jun 03, 2006 2:54 am
Location: Wellington
Contact:

Re: Here's a wild idea: EntityPlus

Post by fKd »

ok this is going amazing! i raise my hand. im gonna make a sp episode using this mod.
ShadoW_86
Posts: 270
Joined: Tue Jan 08, 2008 1:20 pm

Re: Here's a wild idea: EntityPlus

Post by ShadoW_86 »

Looks amazing so far. Don't forget to add save/load options ;).
[url]http://shadowsdomain.wordpress.com/[/url]
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

I think we'll all have to bug misantropia to implement some sort of controllable bot AI so we can have bots patrol areas through predetermined paths.

I'm sure he's down with that kind of stuff. I wouldn't know where to begin.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

Oh, and where is Kaz? He had some good ideas and I gave him access to the project but now he's disappeared...
Kaz
Posts: 1077
Joined: Wed Mar 08, 2006 3:43 am

Re: Here's a wild idea: EntityPlus

Post by Kaz »

I'm around! Just got a little busy with school - I'll commit what I have here in a few hours! :P
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

ok great :D
Kaz
Posts: 1077
Joined: Wed Mar 08, 2006 3:43 am

Re: Here's a wild idea: EntityPlus

Post by Kaz »

Alrighty, just committed the changes. I'm not really happy with how the key/lock works at the moment, but it's a start. Let me know if anything got screwed up :)
DaEngineer
Posts: 210
Joined: Fri May 28, 2010 2:30 pm

Re: Here's a wild idea: EntityPlus

Post by DaEngineer »

Here are some new suggestions:

Speed
Another important single player element came to my mind we did not talk too much about yet - speed. Quake was designed as a multiplayer shooter and thus has no level transitions or linear leveldesign you have to follow. The arenas are meant to be played running and jumping and to be visited over and over again.
That's something singleplayer doesn't have. Usually you start at A and want to get to B, but not back and forth endlessly. I really think the player's speed should be adjusted. Eraser, the target_playerspeed entity serves well for this purpose and should - in my eyes - always be used. I think a playerspeed of 170 would be fine (I know, compared to 320 this feels very strange when you try running around with it). But imagine walking through a real SP map, with missions, secrets, enemies that behave a bit more tactical than usual - dashing around like hell would be even more weird and distracting.

Why this is so important to me although there already IS this entity and I should have nothing to compain about? Because the animations don't fit the player's speed. I have never made animations so far and thus have no idea if they are baked into the md3 or stored somewhere else and are changeable without having to re-export the model after changing the animations. Is there a way to adjust the animation's speed easily?

Debris of broken brushes
After around 6 attempts with several months between them to learn modeling I'm finally getting used to Blender now. Debris models are low-poly, have very simple textures and are not really something you would call a major task. I'll work on them in the next days and upload the models in md3 format, as well as the model's textures and textures for the ejected sprites, if I can manage to create these too.

Enemies
I'm not so sure about the enemies the SP mod will feature. I think the same Bots the MP has with the same weapons would be rather boring. Let's pretend we find enough people who are experienced enough to create new enemies - what type of enemies do we need? Melee enemies who attack the player with their claws (or whatever they use to get their meal) would definitely be needed. And the ones who use ranged attacks would need to be tweaked, if they use standard Q3 weapons. They would have to shoot by far more infrequently and stop running around like insane when not firing or when they have not yet spotted the player.
I can offer to draw everything that comes to my mind when I have some spare time and to try making models by myself in the future when my capabilities of modeling have improved.

Feedback & other stuff
The viewshake that was implemented in the q3mme camera mod would be a nice addition. And what about hitzones? Not too much, maybe just two - one for the head and one for the rest of the body.
[url=http://www.victorkarp.com]Portfolio[/url] - [url=https://victorkarp.com/tutorials/quake-3-mapping-tutorials/]My Quake 3 mapping tutorials[/url] - [url=http://www.lvlworld.com/author/DaEngineer]My Quake 3 maps[/url]
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

DaEngineer wrote:Why this is so important to me although there already IS this entity and I should have nothing to compain about? Because the animations don't fit the player's speed. I have never made animations so far and thus have no idea if they are baked into the md3 or stored somewhere else and are changeable without having to re-export the model after changing the animations. Is there a way to adjust the animation's speed easily?
That's part of the models unfortunately. Would be a heck of a lot of work to change all their animations. Besides, I don't think it's allowed to redistribute them. Maybe an easier solution is to force players into normal walk mode and disable running. The models do have both run and walk animations.

For that same reason I'm starting to doubt whether I should include the green armor. It doesn't add all that much and it includes an edited version of the original yellow armor model, which I'm probably not allowed to redistribute either...
DaEngineer wrote:Debris of broken brushes
After around 6 attempts with several months between them to learn modeling I'm finally getting used to Blender now. Debris models are low-poly, have very simple textures and are not really something you would call a major task. I'll work on them in the next days and upload the models in md3 format, as well as the model's textures and textures for the ejected sprites, if I can manage to create these too.
Yeah that'd be awesome. I've been looking into ejecting debris for func_breakable and I think that I can simply reuse the code that spews out gibs when a player is gibbed. Replace the gib models with debris models and we're done I think.
DaEngineer wrote: Enemies
I'm not so sure about the enemies the SP mod will feature. I think the same Bots the MP has with the same weapons would be rather boring. Let's pretend we find enough people who are experienced enough to create new enemies - what type of enemies do we need? Melee enemies who attack the player with their claws (or whatever they use to get their meal) would definitely be needed. And the ones who use ranged attacks would need to be tweaked, if they use standard Q3 weapons. They would have to shoot by far more infrequently and stop running around like insane when not firing or when they have not yet spotted the player.
Yes all this is correct. Me, I have no idea how the bot AI works (not on a technological level nor the theory behind it's maths) so I'm probably not the one that can be much of use in this department.
DaEngineer
Posts: 210
Joined: Fri May 28, 2010 2:30 pm

Re: Here's a wild idea: EntityPlus

Post by DaEngineer »

Eraser wrote:
DaEngineer wrote:Why this is so important to me although there already IS this entity and I should have nothing to compain about? Because the animations don't fit the player's speed. I have never made animations so far and thus have no idea if they are baked into the md3 or stored somewhere else and are changeable without having to re-export the model after changing the animations. Is there a way to adjust the animation's speed easily?
That's part of the models unfortunately. Would be a heck of a lot of work to change all their animations.
I have absolutely no coding knowledge at all, but I found something that might could help solving this problem. Around two hours ago I found German coding tutorials for Quake 3. One tutorial explained how to let a player always have the Haste Rune equipped directly after spawning and thus increasing his speed to 1.3. Something in my head made *click*, I started Quake 3, switched to 3rd person mode and typed /give speed into the console. Every animation the character does - and his weapons do - play with a speed of 1.3.

I downloaded Microsoft Visual C++ 2010 and opened up the file mentioned in the tutorial to change the value and see if the animations slow down if I use 0.5. But as I said, I have no coding experience and no clue how to compile these files or even work with them. So I had no idea what to do after changing the code. That is something you could try out in seconds I guess.

Here's the tutorial (don't panic, it's the English version): *click me*.

If this really works, you would just need to implement the functionality of Haste without effecting the player's weapons and we'd have adjusted player speed AND correct animations at the same time. Hopefully.


Oh, and by the way: I already started drawing some foes (I'll show pictures of them when I got more different enemies) and making the debris models. Here are some ideas I have for them:


Stone
Chunks of rock. Textures:
1.) bright grey (concrete)
2.) dark grey (concrete)
3.) grey stones you'd encounter when blasting away rocks
Sprites: grey dust

Dirt
Chunks of dirt and soil. Textures:
1.) a deep wet brown
Sprites: brown particles

Glass
Shards of glass. Textures:
1.) transparent white
Sprites: tiny glass shards

Clay (could be used for clay pots)
Shards of clay. Textures:
1.) a loamy ocher
Sprites: small clay shards

Metal
Not sure about that. Shards? Textures:
1.) silver-grey
2.) a rusty brown
Sprites: sparks?

Wood
Shards of wooden planks. Textures:
1.) a bright tone like the one press board has
2.) dark wood
3.) rotten greyish wood
Sprites: small shards of wood
[url=http://www.victorkarp.com]Portfolio[/url] - [url=https://victorkarp.com/tutorials/quake-3-mapping-tutorials/]My Quake 3 mapping tutorials[/url] - [url=http://www.lvlworld.com/author/DaEngineer]My Quake 3 maps[/url]
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

neoplan wrote:An entity that would force holdable_teleporter to a specific spot would be fun. :)
This is in. holdable_teleporter can now point towards a spawn point.
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Here's a wild idea: EntityPlus

Post by Eraser »

DaEngineer wrote:Oh, and by the way: I already started drawing some foes (I'll show pictures of them when I got more different enemies) and making the debris models. Here are some ideas I have for them
If you got some md3 models for this then I'd love to have them. Even something simple like dark textured bits of rock would be great. I currently have func_breakable entities spew out gibs when they're broken and while the blood's gone, it looks a bit odd to have bits of intestines flying through the air :D

edit:
I added a relatively dense smoke trail which looks pretty damn awesome :toothy:
Last edited by Eraser on Tue Apr 05, 2011 2:46 pm, edited 1 time in total.
Post Reply