What are you working on?

Discuss anything not covered by any of the other categories.
Shpuld
Posts: 106
Joined: Sat Feb 13, 2010 1:48 pm

Re: What are you working on?

Post by Shpuld »

Thanks sock! QC +CSQC with FTEQCC feels like real programming and I'm loving it.
pitchatan
Posts: 31
Joined: Sun Aug 10, 2008 6:54 pm
Location: sweden

Re: What are you working on?

Post by pitchatan »

Been tinkering with movement a bit and finally found something i kinda enjoy.
Just need to refine it. :P

https://www.youtube.com/watch?v=bvwzkEEWJvg
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: What are you working on?

Post by goldenboy »

Been tinkering with movement a bit and finally found something i kinda enjoy.
That looks nice.
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: What are you working on?

Post by ajay »

Been tinkering with enemy code. As a starting point I've made them always looking for you and able to track you down wherever you are in the map. This is hokey and based on code from these very forums; it's a starting point, and one I want to build upon, e.g. you being more easily found if running, if the torch is on etc., less easily found if still, walking etc. Even in it's early stages it's pretty fun with just one shambler; it can't get to you in all areas as it can't fit down all alleys or in all buildings (that's where other enemies, zombies for instance, come in), but just making a dash between buildings, losing sight of it and then turning a corner and running right into it, is pretty exciting :) (imo!)
It's success still depends on making it more sophisticated; at the moment the stock code works well in that sometimes it isn't able to follow you down a path, but will track you parallel to it and catch you at the other end; there's obviously no complex predictive ai here, it's just "seeing" the player thru' the wall, but it's a good con anyway. Whether that's something I can improve (or spoil) remains to be seen.
What is great is having this, comparatively, large city map to play in. Although not finished, it's fun to just play hide and seek in this map that I've spent so long working on.. Whether I can turn that into fun gameplay and narrative is also in question.
What would be useful is to find improved models and less jerky code, as at the moment somewhat slapstick efforts of the shambler somewhat distract from the tension. Also it doesn't understand that fire = ouchy:
Image
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: What are you working on?

Post by frag.machine »

@ajay: look for MauveBib's movetogoal alternative on this very forums, it's a very efficient replacement for monster walk/run original code. Regarding monsters "fearing" stuff: yeah, this makes the whole experience much more realistic, but can be quite challenging to implement.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: What are you working on?

Post by ajay »

Thanks frag.machine. Quick look has made me think that:
void(float howquick) MauveWalk =
{
self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
ChangeYaw();

if (!walkmove(self.angles_y, howquick))
movetogoal(howquick);
};
is it, and a quick guess makes me think it goes in ai_run

However I'm also guessing that there's more to it/I'm wrong ;)

EDIT: implemented (I think). If anything it's sort of 'worse' ;) If the enemy has a direct, straight, line of site, it aims in in a straight line really well. Any complicated route and it buggers off in a different direction. Also, it takes AGES to find the player compared to stock code. Work to do yet.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: What are you working on?

Post by frag.machine »

ajay wrote:Thanks frag.machine. Quick look has made me think that:
void(float howquick) MauveWalk =
{
self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
ChangeYaw();

if (!walkmove(self.angles_y, howquick))
movetogoal(howquick);
};
is it, and a quick guess makes me think it goes in ai_run

However I'm also guessing that there's more to it/I'm wrong ;)

EDIT: implemented (I think). If anything it's sort of 'worse' ;) If the enemy has a direct, straight, line of site, it aims in in a straight line really well. Any complicated route and it buggers off in a different direction. Also, it takes AGES to find the player compared to stock code. Work to do yet.

Yeah, it's more a replacement in ai_run() to the calls to movetogoal() (which insists doing zig zags regardless of having or not any obstacles in the way).
I used code a bit more elaborated in my FragBot to additionally try to dodge immediate obstacles (basically, traceline from origin to origin + RANGE_NEAR units ahead and call ai_slide() if there's a solid entity in the path). YMMV but overall gives a very fluid movement to the entity.

EDIT: typo
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
sock
Posts: 137
Joined: Thu Aug 23, 2012 7:16 pm
Location: Wandering Around
Contact:

Re: What are you working on?

Post by sock »

ajay wrote:Been tinkering with enemy code. As a starting point I've made them always looking for you and able to track you down wherever you are in the map.
That is what I started with, the AI code for my ITS mod was simple line of sight stuff. Eventually I went the route of AI nodes and volumes. In hindsight I should of check the frikbot code to see what it was doing, but I decided to try and create my own version instead.

The greatest challenge for AI navigation is usually vertical space and alternative routes which will break most move forward/zigzag code. I know it is a pain to place nodes (especially on large maps) but building the AI intelligence into the map does pay in the long run. If you need an example, download my MOD.
Well he was evil, but he did build a lot of roads. - Gogglor
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: What are you working on?

Post by ajay »

Thanks sock. It's an interesting, but complex problem. They do a number of interesting things in stock code; there's a small area with a low wall and a quite large entrance/exit. They can find their way in really easily, but can take hours to get out; bit like a fly in a room with an open window. I've considered having a waypoint/node system, but I really need to study code people have already written, as there's little point reinventing the wheel. That anyway will take a while, as I get into reading such code quite quickly, but takes to get anything out of it ;)
ajay
Posts: 559
Joined: Fri Oct 29, 2004 6:44 am
Location: Swindon, UK

Re: What are you working on?

Post by ajay »

Have cobbled together a basic flowchart to help me get a handle on coding the monster "ai" code, see it here: http://earthquakemod.wordpress.com/2014 ... 3_01_2014/ - it may not be acheivable (by me), or the best way to go about it, but it's a starting point.

sock Is it ok to decompile your progs.dat to look at the code for ITS, or would you prefer not at this stage?
Shpuld
Posts: 106
Joined: Sat Feb 13, 2010 1:48 pm

Re: What are you working on?

Post by Shpuld »

While working on my top down game I made a quick minigolf game prototype. It uses darkplaces while utilizing the ODE.
This thread is the most documentation I could find about the implementation:
http://forums.inside3d.com/viewtopic.php?t=3485
Good stuff.

http://youtu.be/9j1MfIWbA3Q
Supa
Posts: 164
Joined: Tue Oct 26, 2004 8:10 am

Re: What are you working on?

Post by Supa »

After a pretty harsh lighting and general quality pass I've started moving a lot of Brood Hunter's effects over to the client end. It more or less means that I can get away with doing stupid over the top things with the flares and sentry effects now. :D

Image
aut viam inveniam aut faciam
Julius
Posts: 98
Joined: Sun Aug 29, 2010 4:32 pm
Contact:

Re: What are you working on?

Post by Julius »

Awesome, still very much looking forward to an official Broodhunter release! For the CSQC work, are you doing it DP or FTEqw compatible? Or which is your target engine for the game?
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: What are you working on?

Post by goldenboy »

Image

Messing around trying to make a HUD for gnounc's excellent WIP coop mod, Operation Grouphug. I've been testing it recently, and I think it's gonna be an awesome mod when it's finished. Like L4D it rewards your group for sticking together etc.

He posted about it at his blog. http://gnounc.wordpress.com/2014/01/31/ ... -grouphug/
jitspoe
Posts: 219
Joined: Mon Jan 17, 2005 5:27 am

Re: What are you working on?

Post by jitspoe »

Image

I'm experimenting with making bot AI that replays player input to strafe jump around maps. Sadly, I've discovered a lot of problems with the approach:

- No dodging of dynamic objects (ex: other bots/players get in the way and screw up the path).
- Start position and velocity are not always close enough to the recorded position, causing the bot to go off-course and collide with things.
- No correcting if off-course.
- Sporadic movements, like twitch shots, jukes, etc. get recorded, and look really out of place when there is no combat.
- Since movement is aim-dependent, there's no way to aim at targets and shoot while maintaining the recorded player path.

Oh, and I added debug drawing, a long-overdue feature. :)

I've been doing a lot of AI research to see if I can find some feasible approach for more dynamic strafe jumping. Not sure what I'm going to do just yet. Playing with neural nets and genetic algorithms seems like it could be fun, but, from what I've seen, is not practical.
Post Reply