What are you working on?
Re: What are you working on?
Thanks sock! QC +CSQC with FTEQCC feels like real programming and I'm loving it.
Re: What are you working on?
Been tinkering with movement a bit and finally found something i kinda enjoy.
Just need to refine it.
https://www.youtube.com/watch?v=bvwzkEEWJvg
Just need to refine it.
https://www.youtube.com/watch?v=bvwzkEEWJvg
Re: What are you working on?
That looks nice.Been tinkering with movement a bit and finally found something i kinda enjoy.
Re: What are you working on?
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:
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:
-
- Posts: 2126
- Joined: Sat Nov 25, 2006 1:49 pm
Re: What are you working on?
@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)
Re: What are you working on?
Thanks frag.machine. Quick look has made me think that:
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.
is it, and a quick guess makes me think it goes in ai_runvoid(float howquick) MauveWalk =
{
self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
ChangeYaw();
if (!walkmove(self.angles_y, howquick))
movetogoal(howquick);
};
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.
-
- Posts: 2126
- Joined: Sat Nov 25, 2006 1:49 pm
Re: What are you working on?
ajay wrote:Thanks frag.machine. Quick look has made me think that:is it, and a quick guess makes me think it goes in ai_runvoid(float howquick) MauveWalk =
{
self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
ChangeYaw();
if (!walkmove(self.angles_y, howquick))
movetogoal(howquick);
};
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)
Re: What are you working on?
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.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.
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
Re: What are you working on?
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
Re: What are you working on?
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?
sock Is it ok to decompile your progs.dat to look at the code for ITS, or would you prefer not at this stage?
Re: What are you working on?
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
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
Re: What are you working on?
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
aut viam inveniam aut faciam
Re: What are you working on?
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?
Re: What are you working on?
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/
Re: What are you working on?
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.