Quake3World.com Forums
     Programming Discussion
        q3a mod: slugs and rockets


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




Print view Previous topic | Next topic 
Topic Starter Topic: Re: q3a mod: slugs and rocket

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-14-2014 03:49 AM           Profile Send private message  E-mail  Edit post Reply with quote


no problem.

I recognize the little amount of time and issues with git...

Can i have your opinion about something?
The thing is, i find the bots a bit to easy.
SlugRock shows their (relatively) poor handeling of the railgun and rocketlauncher.
It is very noticeable when you have the rl and you encounter a bot with the rg.
The bot's movement is ok but its aiming is poor.
On hardcore they'll shoot somewhat near you, on nightmare they are just a little better.

What i'd like is that the difficulty setting would resemble the bots skill more accurate.
'I can win' means 'you can win' but the bots are still a bit of an opponent.
'Bring it on' means interesting match, not to stressfull and the player will most likely be the winner.
'Hurt me plenty' means you'll get hurt plenty and you have to work hard to win.
'Hardcore' means very skillfull bots, with great accuracy and a fierce fire-throttle.
'nightmare' means un-beatable like in a nightmare... Extremely skilled with flawless accuracy.
This is a break from the difficulty settings in normal q3.
For me the original 'hardcore' bots are interesting and with not to much stress i can beat 'em.
With this in mind i played with the original bot-coding a bit.

If you follow the bots in '1st person view' you'll get dizzy after a short time.
In the bot-code there is some shaking added to the bots aiming.
I removed this shaking code, lowered the aiming fault on moving targets, and used some of the bot_challenge code for normal 'higher-skilled' bots.
These bots are (to me) better opponents.
(the bot_challenge code is still intact and it can be used to upgrade the difficulty of the bot even more)
Still not near the settings i described above but perhaps they don't need to be.
(they are much like the bots in SlugRock_4.21, with a few small changes)

Do you find the bots a bit to easy too?
Should we leave the bots like they are now, or do they need improvement?
Do you have any ideas about coding better bots (perhaps even use new code instead of tinkering with the original), or can i commit my tweaked code...



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-14-2014 08:16 AM           Profile Send private message  E-mail  Edit post Reply with quote


Of course, you can commit it, just make it in the test branch so we'll be able to reorganize it if it gets dirty, before merging it with the master branch. Even though I still need to do this with the current state of the test branch (...:() it shouldn't be a problem.

About the bots skill, I've not played much recently but I think they were easy too. Anyway I think that any changes could be a good addition so feel free to tinker with it. I can't say much for now, I'll just focus on the delayed work. Have fun! :D




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Mar 2010
Posts: 384
PostPosted: 01-15-2014 01:42 PM           Profile Send private message  E-mail  Edit post Reply with quote


I made a multiteam repo and tried committing to it but, alas, Git/GitBash is playing mind games with me and I have a severe lack of patience for this right now. So for any interested parties I zipped 'em up and uploaded instead:

http://www.mediafire.com/download/r4u09 ... titeam.zip
http://www.mediafire.com/download/l4e7g ... assets.zip

Code changes are between '//multiteam' and '//-multiteam' comments. Items todo can be found by searching for '//multiteam TODO'. Here's a summarised todo list off the top of my head:
- bot CTF code: implement bot goals to make bots select a team to attack; other bot code needs attention too
- UI is mostly untouched, probably a good idea to show team score boxes vertically
- team ranking needs doing, and in much the same way as player rankings are done (use qsort), and correctly communicated via configstrings
- assets need to be managed, announcer sounds created, ctf flag shader needs to be made (see the player skin shaders included as a reference) and applied to the code appropriately

That's mostly it I think.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-17-2014 01:36 AM           Profile Send private message  E-mail  Edit post Reply with quote


wow, muffinman. That's quite some work you've done.
I suggest you should start a new thread (post) here on quake3world for your efforts.
There might be others (that don't browse this thread) who would be interested in completing this.
Perhaps it's something for OpenArena or WorldOfPadman to pick it up?



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-19-2014 10:14 AM           Profile Send private message  E-mail  Edit post Reply with quote


@UglyFoot
I just commited my bot-code adjustments to our test branch.
The bot_challenge cvar is still available and enhances the bot skill a bit more.
(perhaps you could incorporate the bot_challenge cvar also in the menu?)



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-20-2014 07:15 AM           Profile Send private message  E-mail  Edit post Reply with quote


Finally I've uploaded the "reorganized" test branch with the menu and I've added bot_challenge to it. Basically what I did is splitting some commits into smaller commits. Part of this link moved me to do that:
https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes

I've uploaded it to test-2 to let you see it before merging it with master. Now is harder to see which is the state of the mod at a glance but I guess that the git log is not for that. We could create a text file for that.

About the bots skill I think that it would be a good idea having skills with decimals, like for ex. 4.5 for a skill between hardcore and nightmare, being 5 the skill of bots with no reaction time and perfect accuracy. I have seen this in EP. And of course adding a slider to the menu to choose it.

(Slightly edited)




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-20-2014 08:34 AM           Profile Send private message  E-mail  Edit post Reply with quote


I'll check the menu out soon.
Thanks for the link, i realise now that the commit i did should be devided into a dozen small ones...

I like the skill slider idea. But it is beyond my coding skills.
From much of the bot-code i can grasp the purpose but don't really understand it.
Perfect accuracy and aiming skill isn't something i could find in the code.
I did removed some of the code that added spread/noise to the bot-aiming.
I think for the best result with decimal skill settings, the aiming code should be weapon specific.
So one part for the railgun aiming and one for the rocket launcher, because the rg is instant hit and rl depends on prediction. So it should be possible to code perfect railgun aiming and highly accurate predictable rocket aiming, especially for targets that are in air or launched from jumppads or rocket-jumping. Because their trajectory can only be changed by the target for a little.
I didn't recognize this in the original code (well some pieces of it but nothing that i could use).
I do know bots use something like that because higher skilled bots can blast you in the air with a rocket and finish the frag with a rocket in mid-air....
Some strange behaviour i noticed from the original bots is that they shoot rockets near corners to inflict splash damage to targets that might be behind that corner, the strange thing is that they also did that with the railgun while it doesn't give splash-damage...
I like playing with bots and a could possibly go on like this much longer about how they behave and how i believe they should behave but this is for now).
Like i said i'll check the menu out next ;)



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-20-2014 02:06 PM           Profile Send private message  E-mail  Edit post Reply with quote


Hey,

Just tried to build the qvm.
Recieved an error
ui_ingame.asm 164:error symbol UI_SlugRockMenu undefined
and it didn't build the ui.qvm
ps
The g_combat.c line 106: warning is still present (but i'm sure you are aware of that)



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-20-2014 02:51 PM           Profile Send private message  E-mail  Edit post Reply with quote


It must be caused by the fact that I added ui_slugrock.c and it isn't compiled by the bat files. You have to edit q3_ui.bat and add a line for it.

I wasn't aware of that warning (I forgot it), now is fixed.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-21-2014 12:40 AM           Profile Send private message  E-mail  Edit post Reply with quote


UglyFoot wrote:
You have to edit q3_ui.bat and add a line for it.

Well sort of...
ioq3 source builds its own tools including the q3asm.exe, so there isn't any q3_ui.bat
I had to edit the Makefile
I added the ui_slugrock.c line in it.
Perhaps we have to commit it to the Makefile in our fork too.

While compiling i ran into some errors in the ui_slugrock.c
line 359: operands of = have illegal types 'pointer to void' and 'int'
line 371: operands of = have illegal types 'pointer to void' and 'int'

it ended with error 1 and did not build the ui.qvm



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-21-2014 07:09 AM           Profile Send private message  E-mail  Edit post Reply with quote


Oh, I didn't know. I haven't used make so I'll have to install it and get used to it to avoid these situations. Yes, we have to commit the makefile.

I don't understand the errors, it compiles well in Visual Studio, I'll see what I can do after installing make and/or mingw32.




Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-21-2014 07:40 AM           Profile Send private message  E-mail  Edit post Reply with quote


Takkie wrote:
Thanks for the link, i realise now that the commit i did should be devided into a dozen small ones...

No problem I'll do it myself if it's needed.

Takkie wrote:
Perfect accuracy and aiming skill isn't something i could find in the code.

I was thinking of raising some characteristics of the bots to the max. In case you don't know there are several files that define each bot, in this guide it's explained:
http://planetquake.gamespy.com/View.php ... =55&game=4

Previously I said that skill 5 could be the skill of the best bots but actually it would be better keeping skill 5 for nightmare and add the skill 6.
Also I've seen that the skill can already be a decimal number.

Takkie wrote:
I like playing with bots and a could possibly go on like this much longer about how they behave and how i believe they should behave but this is for now).

It'll be helpful.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-22-2014 01:09 PM           Profile Send private message  E-mail  Edit post Reply with quote


I've commited the ui_slugrock to the makefile in our test-2 branch.

I like the idea of coding the chars to the max for skill 6.
I've done that to most of the chars for the bot_challenge cvar.
Allthough this doesn't mean these bots will be exceptional better than skill 5.
There needs to be made more changes to the bot code, especially to the BotAimAtEnemy (in the ai_dmq3.c) code.
I'm under the impression you can do a better job at bot-coding than i've done (and can).

Another thing that could be nice is to select bots with different skills from the start server menu.
Now you can only select one skill level for all bots, you need to add the bots in-game if you want them to have different skills.



_________________
slugs and rockets


Last edited by Takkie on 01-22-2014 01:54 PM, edited 1 time in total.

Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-22-2014 01:09 PM           Profile Send private message  E-mail  Edit post Reply with quote


Double post... classic ;-)



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-23-2014 09:02 AM           Profile Send private message  E-mail  Edit post Reply with quote


Ok I'll see what I can do.




Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-26-2014 08:13 AM           Profile Send private message  E-mail  Edit post Reply with quote


I installed MinGW and MSYS, following some steps of this guide:
http://wiki.ioquake3.org/Building_ioquake3_on_Windows_-_mingw_and_msys

But I can't even compile ioq3, it throws to me this error:
Quote:
code/libs/win32/libcurl.a(strequal.o):strequal.c:(.text+0x14): undefined reference to `strcasecmp'
code/libs/win32/libcurl.a(strequal.o):strequal.c:(.text+0x48): undefined reference to `strncasecmp'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [build/release-mingw32-x86/ioquake3.x86.exe] Error 1


Actually I didn't install the guide versions, I installed the most recent. Later I tried it with the guide versions but it throws to me another error, like this:
Quote:
LDFLAGS:
/bin/sh.exe: -c: line 1: syntax error near unexpected token `;'
/bin/sh.exe: -c: line 1: `for i in ; do echo " $i"; done'
make[1]: [targets] Error 2 (ignored)


but without "(ignored)" so it stops compiling :).

Did this happen to you too?




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-26-2014 11:33 AM           Profile Send private message  E-mail  Edit post Reply with quote


I can't say the i encountered exactly that error but it was quite the [strong language] to get it working.
I read and reread this article: http://mingw.org/wiki/Getting_Started and installed this program: http://sourceforge.net/projects/mingw/files/latest/download.
I also ensured i had the last version of MSYS. and that it was installed in the mingw directory.
Also i installed our source code in the msys/1.0/ directory.

for personal use i changed the makefile.
I added the 0's at these places:
ifndef BUILD_STANDALONE
BUILD_STANDALONE = 0
endif
ifndef BUILD_CLIENT
BUILD_CLIENT = 0
endif
ifndef BUILD_SERVER
BUILD_SERVER = 0
endif
ifndef BUILD_GAME_SO
BUILD_GAME_SO = 0
endif
ifndef BUILD_GAME_QVM
BUILD_GAME_QVM =
endif
ifndef BUILD_BASEGAME
BUILD_BASEGAME =
endif
ifndef BUILD_MISSIONPACK
BUILD_MISSIONPACK= 0
endif
ifndef BUILD_RENDERER_OPENGL2
BUILD_RENDERER_OPENGL2=
endif

I did not created a makefile-local because that didn't work.

Hope it helps...



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-27-2014 09:43 AM           Profile Send private message  E-mail  Edit post Reply with quote


Yes, it helped. Quick and easy, thanks!

Yes you can use Makefile.local but you have to add this:
Code:
BUILD_STANDALONE = 0
BUILD_CLIENT = 0
BUILD_SERVER = 0
BUILD_GAME_SO = 0
BUILD_MISSIONPACK = 0

and make sure that there is a blank line a the end, just in case.
ifndef means if not defined, since the local file is included right after the symbols are defined, if you put the ifndefs, the symbol values doesn't change.

Now I'm on your position, the quick fix I thought doesn't fix it at all so it will take some more time.

It seems malloc is undefined if you compile the qvms, does somebody know a workaround for this?




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-27-2014 10:00 PM           Profile Send private message  E-mail  Edit post Reply with quote


A quick reply.
I created the makefile.local and compiled.
The error was gone.

In the makefile.local i entered this code:


ifndef BUILD_STANDALONE
BUILD_STANDALONE = 0
endif
ifndef BUILD_CLIENT
BUILD_CLIENT = 0
endif
ifndef BUILD_SERVER
BUILD_SERVER = 0
endif
ifndef BUILD_GAME_SO
BUILD_GAME_SO = 0
endif
ifndef BUILD_MISSIONPACK
BUILD_MISSIONPACK= 0
endif
ifndef BUILD_RENDERER_OPENGL2
BUILD_RENDERER_OPENGL2=
endif


I was very suprised so i did a check and redid it.
I noticed the BUILD_RENDERER_OPENGL2
has to be in it.
If not you'll get the error.

So it compiled.
I noticed the slugrock config menu option but i could not open it.
It blinked when i hoverd with my mouse pointer over it but it doesn't react to a click.



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-29-2014 11:18 PM           Profile Send private message  E-mail  Edit post Reply with quote


I did some more tests with building the .qvm's
Because it felt a bit strange to have the BUILD_RENDERER_OPENGL2=
in the makefile.local and then haveing the .qvm's build.

When i build the qvm's from 'nothing' with this in the makefile.local
BUILD_STANDALONE = 0
BUILD_CLIENT = 0
BUILD_SERVER = 0
BUILD_GAME_SO = 0
BUILD_MISSIONPACK= 0

It produces the error.
When i run the build again the error is gone and it will build the ui.qvm
(cgame.qvm and game.qvm are up to date.)


I zoomed a bit in on the problem.
And in the first build a ui_slugrock.asm is produced but not finished and it gives the error.
When building it again it 'accepts' the builded ui_slugrock.asm and continues the building the rest.
(the first file in the second build is the ui_sound.c)
I think in the 'second' build it skips the ui_slugrock.asm and continues with the next file.

So that may cause the problem why the menu does show up in the game but doesn't react.



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-30-2014 10:05 AM           Profile Send private message  E-mail  Edit post Reply with quote


Hm, it might be happening that, I don't know. Anyway I'll have to rewrite the most of the code I wrote, which it'll be good since I don't like the code right now but it will take some time as I have little time everyday, I'll tell you when I'll have it done.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 01-30-2014 01:01 PM           Profile Send private message  E-mail  Edit post Reply with quote


UglyFoot wrote:
I'll have to rewrite the most of the code I wrote, which it'll be good since I don't like the code...
I'll tell you when I'll have it done.

Looking forward to it :D
UglyFoot wrote:
... it will take some time as I have little time everyday ...

I have similar time issues so take your time.
I've got a few little maps i'd like to expand and tweak to SlugRock gameplay so we can release it along with the mod. :D



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 01-31-2014 09:42 AM           Profile Send private message  E-mail  Edit post Reply with quote


Good, I played one of your maps weeks ago, Lo Tek, it was quite fun, specially the railgun room because of the vertical action.




Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-10-2014 08:59 AM           Profile Send private message  E-mail  Edit post Reply with quote


Well, I've it done since two days but my git front-end crashes (a side effect of having a mediocre computer...) so I can't do what I thought before pushing, for now. Meanwhile, I've uploaded the build so that you can try it:
https://www.dropbox.com/s/l8ekb8rhuogwvtk/SlugRock-test-3.zip




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 02-11-2014 01:58 AM           Profile Send private message  E-mail  Edit post Reply with quote


Very cool.
I downloaded it and i'll be sure to give it a spin soon.
I will probably update our ioq3 fork this weekend.
There has been some activity in their master ;)



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 02-14-2014 06:55 AM           Profile Send private message  E-mail  Edit post Reply with quote


The menu seems the work nicely, i haven't had the time to try all functions out.
It made me think how we could make it more user-friendly.

Perhaps instead of the cvar we could use a small description to indicate the setting.
I also think the cvar's g_forceTeamWeapons and g_switchTeamweapons can be adjusted to match the other cvar's.
Something like g_redteamWeaponMode and g_blueteamWeaponMode (with the settings: none, alternate, random, rg, rl, both)

The menu could end up looking something like this:

-=server settings=-
health regen: (on/off)
weapon mode: (none/alternate/random/rg/rl/both)

-=team settings=-
red team weapon mode: (none/alternate/random/rg/rl/both)
blue team weapon mode: (none/alternate/random/rg/rl/both)

-=personal settings=-
player weapon mode: (alternate/random/rg/rl/both)
bot weapon mode: (alternate/random/rg/rl/both)

Perhaps it is possible when the server settings override the team and personal settings these become grey and can't be selected until the server setting is set to none...



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-15-2014 07:46 AM           Profile Send private message  E-mail  Edit post Reply with quote


They are good suggestions.

Quote:
Perhaps instead of the cvar we could use a small description to indicate the setting.

Yes, in fact it's something I did before rewriting the code. The same can be done with the cvars values like changing rg to Railgun, etc.

I'll see if I can do them.




Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-17-2014 07:16 AM           Profile Send private message  E-mail  Edit post Reply with quote


I have done it this weekend, the menu has improved a lot, I'll upload it soon.




Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-18-2014 06:18 AM           Profile Send private message  E-mail  Edit post Reply with quote


Uploaded.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 02-20-2014 11:23 AM           Profile Send private message  E-mail  Edit post Reply with quote


It runs smoothly!
Very nice work, the menu looks great.
It's a really great addition!

Perhaps we can release this as a beta version?
As far as our todo list we've checked almost all the boxes.
iirc there is only 'improving the bot-code' left on it.

Do you have any new ideas to implement in the mod?



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-22-2014 12:08 PM           Profile Send private message  E-mail  Edit post Reply with quote


Thanks. I would wait a bit before releasing a beta version, I have some little changes to do, one of them is moving the "You fragged..." message to another position because sometimes it overlaps with the top messages. I'll try to this soon.

I don't have new ideas but I remember I still need to take a look at muffin's work and see what I can do. The new skill for the bots is also waiting.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 02-23-2014 12:15 AM           Profile Send private message  E-mail  Edit post Reply with quote


Alright.
I remember muffinman had the idea of adding weapons.
Perhaps it is an option to have a "additional weapons" cvar.
When it is disabled you have the 'traditional' slugrock weapons.
When enabled the PG and GL come with the RL. And the MG and SG come with the RG.
It might be nice for those who want al bit more 'balance'...



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 02-27-2014 11:21 AM           Profile Send private message  E-mail  Edit post Reply with quote


I uploaded the last changes I did. I would say this could be the beta if you agree, in fact I have already created the "beta" tag for it.

For now I wouldn't bother to add other weapons, maybe later when we'll have the multiteam working.




Top
                 

Commander
Commander
Joined: 25 Nov 2006
Posts: 101
PostPosted: 03-01-2014 12:03 PM           Profile Send private message  E-mail  Edit post Reply with quote


I've downloaded the beta-tagged .zip and it compiles and plays smoothly.
Nice! :cool:

I'll write up a readme for it and make beta-version available to download from the first post and from slugsandrockets website by the end of the week.

UglyFoot wrote:
For now I wouldn't bother to add other weapons, maybe later when we'll have the multiteam working.

I agree and i'm a bit suprised you plan to finish muffinman's work.
Would be great though to see some multiteam code in action.
Perhaps it would be good to get it working for TeamDeathMatch first and after that worry about CTF.
Because for multiteam TDM there are loads of maps available but for CTf we have to build our own and i expect the coding will be a lot of work too.

Cheers



_________________
slugs and rockets


Top
                 

Commander
Commander
Joined: 22 Jul 2011
Posts: 139
PostPosted: 03-01-2014 03:20 PM           Profile Send private message  E-mail  Edit post Reply with quote


That's true, doing it for TDM is easier and I think I'll do that. I would like to finish muffinman's work but I don't know if I'll be able to, I have fixed all compiling errors but the game crashes when I start a game. I'll see what I can do.




Top
                 
Quake3World.com | Forum Index | Programming Discussion


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.