Jump to content
Sign in to follow this  
GraYaSDF

[MOD] Extreme Co-op

Recommended Posts

In December 2017, I decided to make my second best mod - Extreme Co-op. But this time, this is a server mod which sometimes appears in RenList. Just usual maps plus fanmade maps. But, there is one interesting thing: strong computer-controlled opponents, no mercy. They are challenging each other, blowing up bases, doing really dirty work, diffusing beacons, placing explosives, getting into empty vehicles, and so on! I've tried to play this with 7-8 players against bots with no bots in our team, and we somehow were losing tanks and characters. I have no ability to record a high-quality video of it, and screenshots are useless because they do not show all the chaos that is going on there.

The idea was actually obvious: "Ok, I am tired to play online, why not to make some research and program smart bots, so I don't need to play online anymore and I can have fun from usual Skirmish mode." I started to make the first algorithm for rifle infantry from scratch. When I made it, I laughed and laughed for a long time, and still laughing. AI is almost completely random and making funny and crazy mess there. Today, I am adding new algorithms, fan maps, features, bots are slowly progressing to their final result. Maybe I will add base-building as it was in Commando Assault, who knows...

...Just wanted to let you know that I did not abandon the work on C&C Renegade, and there are always several ideas in my head about how to make old game a bit interesting. Also, I need to say thanks to people who played already and are still playing on my server. Have a good time!

Here is a nice video to watch. Sorry for bugs and quality, but it is better than nothing:

 

Edited by GraYaSDF
Uploaded to YouTube

Share this post


Link to post
Share on other sites

Sounds good, what is the server/game name that is hosting it? I'd like to see a competitor AI logic, we created some cool ones with danpaul88 too on the scripts 5.0 branch.

Share this post


Link to post
Share on other sites
On 9/20/2018 at 9:02 PM, moonsense715 said:

What is the server/game name that is hosting it?

Just as I said - Extreme Co-op. Earlier it was Winter Assault, because I made the first script in winter, but decided to rename it to Extreme... because it is really not skirmish anymore))

Share this post


Link to post
Share on other sites
2 hours ago, GraYaSDF said:

Just as I said - Extreme Co-op. Earlier it was Winter Assault, because I made the first script in winter, but decided to rename it to Extreme... because it is really not skirmish anymore))

I cannot see the server on the server list.

Share this post


Link to post
Share on other sites
21 hours ago, moonsense715 said:

I cannot see the server on the server list.

On 9/20/2018 at 7:53 PM, GraYaSDF said:

This server mod sometimes appears in RenList.

But it also means I cannot launch it in 24/7 format. Basically it is up and running at weekend and also every second week in the evening on Moscow time zone.

Share this post


Link to post
Share on other sites

Decided to stream my mod a bit. Started my first stream in Steam yesterday.

Who wish to see the mod in action, you can join and watch. Also will be streaming Interim Apex as well. Not in YouTube and Twitch because of weak PC, but next year maybe I will upgrade it.

Edited by GraYaSDF
I removed a link because of no activity in Steam. Maybe, someday I will record a video.

Share this post


Link to post
Share on other sites

I've started to code "Winter Assault 2". Here is a funny commentary to priorities which I made for future mod, but these priorities are always a subject to change:

 

// Bot on Easy difficulty:
//
// will never track movement of chosen target,
// may be very unaccurate,
// prefers defensive tactics,
// scared of heavy wounds and damages,
// tries not to attack hostile base,
// tries not to attack hostile defenses,
// does not attack harvesters because of tiberium damage,
// may not attack infantry, vehicles, or any units and small defenses,
// prefers to defend the base,
// does not listen very often when base needs engineers,
// when base needs to be mined well,
// almost does not listen when soldiers are required,
// bad in patroling the base,
// does not listen very often when defenses and buildings need to be rebuilt and to be completely repaired,
// scared to drive a tank,
// almost does not care if one or more buildings are near destruction,
// very bad in defending and repairing of regular buildings, defensive structures and buildings, harvesters, soldiers and engineers, allied vehicles, or any units and small defenses.
//
// An obvious conclusion: easy bot plays a bit worse than a newbie
Edited by GraYaSDF
I disassembled my server to prepare it for Winter Assault 2. My apologies to those players who played actively...

Share this post


Link to post
Share on other sites

Hahaha.

Just a question how did you solve the repairing/disarming? Bots dont see simple objects so I am attaching invisible vehicles to what needs repairing, engineers shoot the invisi vehs and affect the buildings/c4s in the process.

Random running around behaviour also isnt very nice or simple in my coding due to them being blind to other vehicles and trying to keep pushing eachother instead of going around.

Share this post


Link to post
Share on other sites
On 12/23/2018 at 11:19 PM, moonsense715 said:

How did you solve the repairing/disarming?

For explosives and beacons, see "GameObjManager.h" and search for "C4GameObjList" and "BeaconGameObjList". For buildings, it is "BuildingGameObjList" in the same file. These lists will be your answer. Every single object, even bullet class, has its own list of objects where does that object exist and also a manager to operate that list.

Function "Disarm_All_C4_Beacons" is an example of how to program C4 and Beacon lists. See definition of "Disarm_All_C4_Beacons" in "engine_weap.cpp". For buildings, see definition of, for example, "Send_Custom_To_Team_Buildings" in "engine_obj.cpp".

Buildings are aggregative objects. That means, they have few objects and effects inside one parent. To find position of Master Control Terminal, use "Find_MCT" as the following:

Vector3 pos = Vector3(0,0,0);
object->As_BuildingGameObj()->Find_MCT()->Get_Position(&pos);

Some objects in certain cases cannot be properly repaired/disarmed, because their centre of mass may exist below the ground, or may be inside another object if they were attached to. In these cases, try to experiment with raycasting and "fire at location" instead of strict tactics "fire at object", and, if needed, adjust location along Z-axis. The position of centre of mass depends on what developer wanted to do with object.

Share this post


Link to post
Share on other sites

So did you set them up to find all beacons/c4s on the map then check if they are close - every 5 seconds instead of using the "Enemy_Seen" function? Or do I understand it wrong?

Share this post


Link to post
Share on other sites
10 hours ago, moonsense715 said:

Did you set them up to find all beacons/c4s on the map then check if they are close - every 5 seconds instead of using the "Enemy_Seen" function?

Yes, I did set that timer. But not every 5 seconds, each timer is randomized, and its range of values depends on what does bot do.

Share this post


Link to post
Share on other sites

Meanwhile, I ported Extreme Coop from C&C Renegade for Interim Apex, so it is now... Extreme Apex! I got much more craziness and dynamics than in regular multiplayer, LOL. Extreme Apex is the second funny thing after Jerad's cooperative missions. For example, that Nod MRLS with two missiles just perfectly killed me and my vehicle from very long distance. In addition, I failed few fights in a row against the same GDI Officer with chaingun as my Nod Officer.

And yet again, AI vs AI battle proves that Interim Apex is a GOOD game to play. I will maybe showcase that little addon for Interim Apex later, still working on some things.

Share this post


Link to post
Share on other sites

Ah, I also forgot to say that I assembled and completely re-wrote my AI-scripts from scratch. There were some critical issues which caused several crashes. Well, it still crashes, but a bit less than before, and I will investigate it further. But now I really can add some teamwork for bots, the code is now much easier to understand.

Edited by GraYaSDF
Server does work too, as usual

Share this post


Link to post
Share on other sites

I recently introduced new options for Extreme Co-Operative:

 

SEPARATE NUMBER OF BOTS

For AI vs AI battle, if needed, admin can now change the number of bots to desired for each playable team. With less infantry units in your own team, it looks like another Co-Op mode which is even more interesting and intense.

AUTO-BALANCE

When new player joined, the number of bots (soldiers + engineers + tanks) slightly increases. And decreases slots for bots, if player left. So I do not need to adjust settings manually anymore. I tested the "auto-balance" feature in singleplayer matches with bots playing against me. As a single unit, regular player can resist only 4-6 bots on maps with no defenses and no vehicles, and even win the match, but there is a probability that AI-opponents can bring you some huge trouble (to eliminate harvester, to try to C4 a building, to place one beacon or even two). I also successfully installed and tested this update on my temporary dedicated server, so you are welcome at any time when the server is up and running.

 

I will keep doing updates to introduce more exclusive things for bots if there is proper time for it. I wish you good luck. Keep your pants on.

P. S.: And also thank you for playing, I am glad to see so many people on my server! I relatively recently upgraded the server, installed fast iCore 7 processor and an excellent futuristic router from Tenda, also expanded connection up to 60 MBit, so it should be a bit faster if not much faster =)

Share this post


Link to post
Share on other sites

For those, who wanted me to fix spawners (especially @Learonys), I made a small plugin (it took me 1 hour to code that), so now I am able to fix spawners on each map.

Share this post


Link to post
Share on other sites

News from the extreme battlefield:

DEFENSIVE ABILITY

- now bots are laying mines on a floor, so be careful when you go inside the building
- engineers are repairing buildings better and much longer than before

BOTS MOVEMENT

It was improved a little bit. Just a little bit, made them to move even more crazily, so it is harder to actually aim at them if there are not too many bots around.

P. S.: I tested new update locally, and after couple of tests I installed the update on public server. I have to say that now it is extremely hard to win the match against 4-6 bots without superweapon beacon... Mines everywhere on a floor, engineers are repairing buildings like berserks...

Share this post


Link to post
Share on other sites
8 hours ago, aaaaaaaa said:

Teamwork owns. Fuck skill.

He-heh. Their wish to make a lot of tanks to rush hostile base is one of their regular tactics too. The most of live players can't make rushes regular.

Share this post


Link to post
Share on other sites

News, the fresh ones:

NEW FIXES

- C&C_Under_EC was added to rotation as a first map in a list, GDI bots will now produce vehicles, finally
- bots are mining doors on C&C_Under_EC as well
- Nod Stealth Tanks are now not always visible, proceed with caution
- vehicle which was purchased by living player will be protected against stealing by teammates with AI for some time
- due to balance, bots on server were increased from 20 to 40 for each side of conflict, because...

...BOTS CAN GET IN VEHICLES

- bots are now getting in vehicles, instead of just making them as self-driving vehicles, so expect resistance after you destroy them (for example, sniper shots for your Mobius)
- bots can get in your APC, so you and your living friends can now organize fast attacks with bots in APCs
- and, as in case with players, you can choose in regular Vehicle Menu, which bots have to be kicked out from vehicle, so you can get more engineers instead of soldiers (no icons this time, sorry about that)

P. S.: I tested new updates locally, and after couple of tests I installed them on public server, as usual.

Share this post


Link to post
Share on other sites

Few days ago... I successfully ported bots to... ancient BHS Update 3.4.4. LOL. And guess, which map I've used to do this? Of course, it is C&C_Ancients.mix! The point of such bicycle is to make my old laptop which has Scripts 3.4.4 installed work with bots made for the latest TT Update, so now I can have fun even without Internet connection, far away from home :dance:

For bots which are for TT Update, I added a map C&C_City, but it seems bots there cannot get to enemy base in time being destroyed at bridge or under it. I hope to introduce flying bots somehow, but this is not an easy task, I do not use any waypaths at the moment. In Commando Asssault, there were flying bots, they were piloting Orca-fighters and Apaches. But Orca was the only unit which had a lot of potential firepower because of rockets as primary weapon, GDI were using it like true aces, even during battles in the sky.

Share this post


Link to post
Share on other sites

I decided to record this crazy gameplay today. Sorry for quality and bugs.

Have a nice day! :biggrin:

Share this post


Link to post
Share on other sites
5 hours ago, moonsense715 said:

Jerad told me you have to disable use pathfinding for VTOL bots in their movement order.

If I disable pathfinding, I still need to configure bots for gameplay. I actually hate the idea of waypoints, so instead I will try other ways.

Share this post


Link to post
Share on other sites

params.MovePathfind = false;
Commands
->Action_Goto(obj, params); / Commands->Action_Attack(obj, params);
Only in the case of VTOL bots :)

Share this post


Link to post
Share on other sites

I completely reworked difficulty settings, players can now fight with few bots in their own team against large hostile forces. This makes matches even more insane and intense. C4s and shots are literally everywhere inside your base if server set the difficulty to Difficult or even Hard. The game is now completely Co-operative, no more players vs players battles.

New difficulty settings are: Extreme (without reinforcements), Very Hard (with just few bots) Hard (defense tactics) Difficult (less bots for your own team, more for opposite) Normal (the same amount of bots and players vs bots) Easy (less bots for opposite team, more for your own) Beginner (just few hostile bots), and also one difficulty for testing purposes (no bots for opposite team).

I removed separate parameters of bots for both teams, instead there are just one parameter and two new fuctions which calculate how many bots are allowed to spawn for each team.

Share this post


Link to post
Share on other sites

I recently added the rest of infantry, now Nod and GDI teams are spamming those soldiers which they hadn't in regular Skirmish mode. Watch out for Stealth Black Hand, Dead Eyes, Sydneys with personal ion cannons... even Rocket Soldiers with Nod Officers will make you feel uncomfortable for few minutes!

I also fixed annoying bug with vehicles stuck and doing nothing, even if there is no infantry around them. But I need to make infantry to go around them, so it is still a lot of work to do.

And I also partially fixed superweapon beacons, but your AI-teammates are still stupid, so do not count on them much.

And rebalanced needs of bots, so they spend money randomly and usually not so fast.

And... a big "and", I presume... I will soon move to 100 Mbps connection for less payment (13 % price drop for +40 Mbps) which is great, so I can seriously increase slots and net update rate. Time will tell, however, how good this cheap connection (only 6 USD per month) will be... main server recently had problems with connection speed, but... I hope for the best! :dance:

Share this post


Link to post
Share on other sites

I forgot to mention, that at 28th September I had a lot of players. That's a real support.

13 players, including myself, were fighting against these freaking bots... And we just pushed them back!

A great experience. There were epic matches, I never did such craziness before. This literally says that I need to continue to work on Extreme Co-op 2, this is very possible future of Command & Conquer Renegade.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...