LucasForums (
-   Open Jedi Project (OJP) (
-   -   new gametype (

Iron Herald 03-17-2008 09:52 PM

new gametype
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.


razorace 03-18-2008 12:33 PM

It wouldn't be that hard to do as is. Just create a script that...
1. Sets the game to Team FFA with team balancing turned off
2. Spawns a bunch of melee using bots onto one team.
3. Join the other team.

bsah 03-18-2008 12:34 PM

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.

BigAnnoyn'Fag 03-18-2008 03:52 PM

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!

Iron Herald 03-18-2008 03:56 PM

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.

Maxstate 03-19-2008 12:55 PM

On the subject of a new gametype... how does everyone feel about making Jedi Master have 2 or 3 Jedi masters opposing the rest of the players on the server? I mean, you know, jedi strike team versus army of noobs and all that jazz.

razorace 03-19-2008 01:23 PM

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.

BigAnnoyn'Fag 03-19-2008 01:45 PM

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".

Maxstate 03-19-2008 01:54 PM

Yeah but when they get to releasing that technology will be as old as HT&L lolol

BigAnnoyn'Fag 03-19-2008 02:06 PM

Release date is, how ironic it sounds, "When It's Done", as always. Lol :)
But I think it will be released in 2009 or so... and one thing: JC's engines were always top at the release date.

bsah 03-19-2008 02:09 PM


How about using evolutionary algorithms in bots' and npcs' AI?

BigAnnoyn'Fag 03-19-2008 03:36 PM

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++?

razorace 03-19-2008 07:44 PM

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?

BigAnnoyn'Fag 03-20-2008 07:31 AM

Mostly NPCs, 'cause they are really smart in SP.

bsah 03-20-2008 11:59 AM


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).

razorace 03-20-2008 01:06 PM

I agree. That's the way I'd try to do it if I was attempting it.

But, it's just too much effort I think. Maybe if you could create an entire game around the concept.

bsah 03-20-2008 03:05 PM

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" ( ATM and I have a strange feeling that the final version will be in Lisp.)

razorace 03-21-2008 01:33 PM

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.

bsah 03-21-2008 05:50 PM

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

razorace 03-21-2008 07:30 PM

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.

bsah 03-22-2008 08:51 AM

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.

UDM 03-31-2008 08:21 AM

I still suggest the notion of going all out on co-op

All times are GMT -4. The time now is 07:09 AM.

Powered by vBulletin®
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.