Fundynamic / RealBot

Counter-Strike 1.6 - AI Opponent
http://realbot.bots-united.com
52 stars 19 forks source link

Updated Makefile for compatibility & optimisations #31

Open APGRoboCop opened 5 years ago

APGRoboCop commented 5 years ago

Hopefully those flag adjustments will work well for Linux RealBot

stefanhendriks commented 5 years ago

I'm testing this and i noticed on my machine (macOS) that there is no such thing as g++-4.5. When changing that into g++ it seems to compile fine.

One way to deal with this is to make changes around this part:

ifeq ($(UNAME_S),Linux)
SO_SUFFIX = so
endif
ifeq ($(UNAME_S),Darwin)
SO_SUFFIX = dylib
endif

so you put within ifeq( linux) part the gcc++-4.5, or perhaps better is to create a symlink on y our machine pointing gcc++ to this version?

APGRoboCop commented 5 years ago

Not sure but Apple will make macOS support for RealBot and maybe HLDS die, no thanks to Catalina. So I thought it is pointless and I've never compiled for macOS before.

Another reason why I've used G++-4.8 is due to some outdated dependencies provided by SteamCMD that contains 'CXXABI_1.3.9'. Also me and SandBot dev realised some issues using newer compilers using the libstdc++.6 and came with this error using G++ 6 or higher:-

./libstdc++.so.6: version 'CXXABI_1.3.9' not found

You may want to look this up as I do know that newer GCCs appears to not allow compiled bots to work for HLDS Linux.

http://forums.bots-united.com/showthread.php?t=10041&page=8

APGRoboCop commented 3 years ago

Did some optimisations, reduced redundancy and add missing parameters recently to your RealBot

APGRoboCop commented 2 years ago

Made some recent changes

stefanhendriks commented 2 years ago

I agree, let Catalina rest/die. I'll take a look later.

APGRoboCop commented 2 years ago

Those 'Experimental Tweaks' I've made today may have some side effects, as I'm not very familiar with RealBot, and I've added more comments for the TODOs, for you to maybe explain?

APGRoboCop commented 2 years ago

The bots personalities will have lower spammy chat/radio rates, WalkWithKnife and average reaction rates. However, the HelpTeammate, has been increased for bots to cooperate more. And the NodeMachine header appears to be muddled. Plus some missing declarations and implementations are newly added.

Chat/Radio rate reduced further. bot_func readjusted for bots to avoid too expensive weapons and shields, but consider on buying the MP5 for an affordable price. "is_neighbour_node, FUNC_TakeCover, FUNC_FindFarWaypoint, and FUNC_GiveHostage" defined, but still more to come.

APGRoboCop commented 2 years ago

Whew well after over 100s of changes to RealBot since v4.0.1 let me list some changelogs and todos:-

Changelog:-

» Reduced Redundant coding » Optimised and modernised coding » Improved floating point precision » Added C++14 support for both Linux and Windows builds » Fixed TMP-45 Primary Weapon typo by Aoi Kagase » AMBuild Compiling support added by Aoi Kagase » Adjusted bot's personality and weapons preferences, to avoid lame weapons and overpriced weapons. » Bot's radio/chat rate reduced to avoid too many spammy chat from flooding. » Bots should now cooperate better with their teammates to avoid being abandoned and overwhelmed » Node boundaries adjusted for wider node gaps for optimisation and to reduce the risk of redundant nodes » bot_func readjusted for bots to avoid too expensive weapons and shields, but need to consider buying the MP5 for an affordable price. » "is_neighbour_node, FUNC_TakeCover, FUNC_FindFarWaypoint, and FUNC_GiveHostage" defined, but still more to come. » Bots should now vault on to ledges slightly better » Added precompiled nodes and experience files using Bsp2Rbn for 3475 maps! » Plus I've added experimental FindBreakable, CheckForBombPlanted and FindCover definitions/implementations etc found from bot_func.h » NodeMachine improved slightly to avoid bots from getting stuck in a cluster, however, RealBots will need time and exp to gradually learn and learn how to crawl in vents as well as Duck-Jump to vault onto crates, edges and ledges.


Todo:

So there you have it, but I think I need to rest and put this improvement project on hold for a long while.