Jump to content

Home

new gametype


Recommended Posts

What about a melee mode where all the bots fight against only the players?

so you could have maybe 2-3 players against 13-14 bots.

should be easy, all you'de need to do is make it so the bots don't attack each other.

or better yet: zombie mode, where all the npc's only use melee and they all are against the players, AND...they know where you are at all times and come in a never ending rush!

just a thought.

 

Discuss.

Link to comment
Share on other sites

HM. Just put all bots in team blue or red and players on free? Should work...

 

Zombie npcs... AFAIK doable, just make npcs with very high perception etc, and with melee as the only weapon... Hm. But last time I checked (it was long ago though) NPCs with melee selected will only stand in place and beat the air with fists. Hmm... Change the AI so they would walk slowly (or not slowly) towards the player? Or maybe do other moves from time to time.

Link to comment
Share on other sites

the MP AI with melee equipped would work, the only problem is that they switch to the disruptor ASAP, and that would have to be disabled. They don't need to walk, I've seen plenty of fast zombies, but you get my drift, even if the new gametype would just be a modification of TFFA, it could work, the only thing is I know about as much as a goat when it comes to scripting, I'm just a thinker.

Link to comment
Share on other sites

might be interesting, but it might be hard to code. The game is only setup for one Jedimaster at a time.

 

Razorace, please explain me why the hell AI in Singleplayer is so smart and so dumb in Multiplayer?

Just imagine bot that will KATA you!

A lot of the AI code was written in C++ for SP. All the MP code is in C. Plus, there's a lot of hidden engine stuff that's used to make it work. It's very likely that the engine side stuff in MP is an older version of the engine stuff for SP.

 

Also, the OJP Basic TABBots do perform katas, it's just been removed as a move for OJP Enhanced.

Link to comment
Share on other sites

Heh, I just wonder if anybody will create new programming language based on Intel's newest SSEE4 command package. And by the way, can you modify rendering engine? I was reading about John Carmack's SVO technology based on vexels and some clever formula and it will be showen in id software new game - Rage (It's based on id Tech 5 engine I think). Main feature: You can deformate model "poly-by-poly".

Link to comment
Share on other sites

No point. Much better thing is to give more freedom to scripter, to write more "life-like" characters and npc's or bot's with their own "personality" and preferences. But re-writting most AI code in C++ is pretty hard to do. But it will provide more freedom if Razorace wants to do so :)

By the way, Razorace, how much lines C AI code contain? And C++?

Link to comment
Share on other sites

I thought out it conceptually (using evolutionary algorithms), but it isn't practical with the amount of effort involved.

 

You'd have to come up with a good "DNA" pattern and then run them thru hundreds of thousands of generations to be able to get anything remotely near good results.

 

Big, are you referring to the NPCs, the basejka bots, or the TABBots?

Link to comment
Share on other sites

@razorace,

 

How about using lisp-like tree structures, and mixing & mutating & crossing branches of code instead of DNA-like strings? It seems far simplier and more effective to me, but hadn't really digged too much into this. BTW, servers could exchange AI files the same way nethack users used to exchange "bones". And I don't mind running a server full of bots (half "classic", half "learning") in the background for 24/7, so "thousands of generations" might not be that long again (given the rate at which bots kill each other).

Link to comment
Share on other sites

Maybe when I'll have the Linux version of Basic working, I'll really start diggin' into the code and see if I can do something interesting there... I just can't decide which language would be the best for coding up such a genetic library, I've tried doing some experiments in Python recently but I ended up rewriting everything in Java, because Python lacks stronger typing and doesn't care if a function accidentally won't return any value =/ at least until runtime. And then rewriting the Java version in Python again, because Java just... Sucks.

 

(I'm reading "Practical Common Lisp" (http://gigamonkeys.com/book/) ATM and I have a strange feeling that the final version will be in Lisp.)

Link to comment
Share on other sites

Well, the big problem with using JKA for this kind of experiment is that it doesn't have a way to transfer files by command. You'd probably have to create some sort of add-on which would end up being platform specific.

 

If you're interested in doing some experimental AI work, I do have another game project that I'm working on that is very AI heavy.

Link to comment
Share on other sites

I have no clue how file I/O exactly looks like on Windows (I started programming for real just at the time I decided to finally get rid of it), but I suppose that it shouldn't be too hard to make some #ifdefs and provide wrappers around Unix syscalls/WinAPI calls?

 

Hmm... Maybe I'd be interested in that, but you know... I'm very lazy, I often start projects, hack them a little and never go back to them, I just never finish anyth

Link to comment
Share on other sites

Good joke. :D

 

Anyway, I'm not sure how you'd do remote file transfers during gameplay either. I'm sure it's totally platform and engine dependent.

 

I'd probably have genetic transfers occur between players and servers and then occasionally report back to a master server to mass distro the best performers.

 

Maybe it could work as a simple, large teams action shooter, where the AI controls a huge number of allies and enemies on a big battlefield and the human players would one of many.

 

As the AI evolved, the game would become more and more intense for players who continue to play.

Link to comment
Share on other sites

Hmm, there should be some kind of a master server that would collect the AI files (or, maybe let's call them "souls") from anyone wanting to submit them, and give them away to anyone that would request them. Let's say there's a master server M, and clients A, B and C which are the AI behind the bots, connecting to game server G. \A played for a while with a few "real" players and found that it was good enough to not get killed all the time, so it sent a copy of its soul to M. Now that B and C are also connecting to G, they can request a new, random soul from M. M sent them A's soul. Now that all three (A,B,C) are playing, the evolution of their souls would go in different ways. Each of them would submit their result to M after a while.

 

Now, M would need to check if the clients aren't sending "soul spam" somehow... Maybe each time a client receives a soul, when it gives back an evolved one, it would also return some info about the rating of the one it received before? That way, M would see which souls seem to be the best, and give away only the best ones. And master servers could exchange souls as well. Decentralized evolution :p

 

As of the format of the file, converting between a tree and a lisp-like thing with parentheses should be very easy, and also Lisp thing would be very human readable. The protocol for exchanging the files... It should be easy to come up with one: you request a soul, you get a soul and an unique identifier, so you can later vote whether it was good or not. Or, you connect, send an identifier you got previously, your rating, and the results of your evolution.

 

Of course, in this scheme, A, B, C, G and maybe even M could be one program as well.

 

I just feel like... It's another great idea that will get buried as soon as I get another one. = very soon.

Link to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...