Register FAQ Search Today's Posts Mark Forums Read
Go Back   JazzJackrabbit Community Forums » Open Forums » General Jazz Jackrabbit Talk

Bot Ideas

ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 11, 2006, 11:41 AM
ahat is offline
Reply With Quote
Bot Ideas

It's been awhile, but..
Discuss.
Fawriel Fawriel's Avatar

JCF Éminence Grise

Joined: May 2002

Posts: 11,990

Fawriel is doing well so far

Aug 11, 2006, 12:51 PM
Fawriel is offline
Reply With Quote
1. Should work.
__________________
jam

JCF Member

Joined: Nov 2005

Posts: 231

jam is doing well so far

Aug 11, 2006, 01:18 PM
jam is offline
Reply With Quote
Wait for Octopus, then discuss.
__________________
Quote:
Originally Posted by JelZe_GoldRabbit
You'd need some experience with Windows Explorer to do so.
Quote:
Originally Posted by Jerry
ah well, I'm done with this RR business for now.. this is a stressy job
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 11, 2006, 02:02 PM
Cpp is offline
Reply With Quote
Self-learning
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
FireSworD

JCF Member

Joined: Aug 2001

Posts: 2,834

FireSworD is an asset to this forumFireSworD is an asset to this forum

Aug 11, 2006, 04:19 PM
FireSworD is offline
Reply With Quote
Yes, nothing with specific level based limitations.

Make them smart.
Monolith

JCF Member

Joined: Mar 2001

Posts: 2,221

Monolith is doing well so far

Aug 11, 2006, 06:42 PM
Monolith is offline
Reply With Quote
Bot ideas? Yes I still have a few. What about them?
__________________
<div style="float: right; width: 100px; height: 70px; margin: 5px 15px;"><img src="http://madskills.org/monolith/idleserver.gif" style="width: 98px; height: 65px;"><img src="http://madskills.org/monolith/theserver.gif" style="width: 98px; height: 65px; position: relative; top: -65px;"></div><div style="margin: 0 3em; font-size: 80%; font-style: italic;">Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres.</div><div style="text-align: right; text-size: 80%;">1 Corinthians 13:4-7</div>
blurredd blurredd's Avatar

JCF Member

Joined: Nov 2001

Posts: 1,896

blurredd is an asset to this forumblurredd is an asset to this forum

Aug 11, 2006, 08:35 PM
blurredd is offline
Reply With Quote
Bots would work a lot more effeciently if specific strategies and paths could be programmed in depending on the level. But the bots should still be able to play smart otherwise.
__________________
D3
Extra. No CTO v0.75
Animating Tiles Properties.
ATB Contest. Scripting Language.
Gameplay Theories.
1UP. Pitfall. Desolation.
SC2.

KRSplat KRSplat's Avatar

JCF Member

Joined: Mar 2001

Posts: 4,942

KRSplat is a forum legendKRSplat is a forum legend

Aug 11, 2006, 11:25 PM
KRSplat is offline
Reply With Quote
I want a bot that can do anything.
__________________
Xobim Xobim's Avatar

JCF Member

Joined: May 2005

Posts: 2,454

Xobim is doing well so far

Aug 12, 2006, 02:37 AM
Xobim is offline
Reply With Quote
patrols via area id...
__________________
Earth Mantra, for all your ambient music needs.
Black Ninja Black Ninja's Avatar

JCF Member

Joined: Mar 2001

Posts: 2,312

Black Ninja is an asset to this forumBlack Ninja is an asset to this forum

Aug 13, 2006, 08:17 PM
Black Ninja is offline
Reply With Quote
I've got an idea, and it's being worked on. With any luck all you sad sacks might even see it someday.
Dermo Dermo's Avatar

JCF Member

Joined: Jun 2005

Posts: 1,743

Dermo should make better posts

Aug 14, 2006, 09:18 AM
Dermo is offline
Reply With Quote
maybe an auto play bot or something. Something that could make like a teamfoo level played by 4 people when you only have 2 other people in the server to make a race against the clock. Actually, that would be more of a macro but whateva.
__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job.

Do you like Stijn? Take my poll!




Windows is not a virus. A virus is small and efficient...

Note to Stijn: how am i even getting away with this
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 14, 2006, 11:46 AM
ahat is offline
Reply With Quote
Keep discussing.
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 17, 2006, 01:58 PM
ahat is offline
Reply With Quote
Anything useful? Anyone?
minmay

JCF Member

Joined: Aug 2002

Posts: 1,184

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Aug 17, 2006, 04:02 PM
minmay is offline
Reply With Quote
How about "don't post if you have nothing to say?"
DanYjel

JCF Member

Joined: Aug 2002

Posts: 775

DanYjel is doing well so far

Aug 17, 2006, 05:35 PM
DanYjel is offline
Reply With Quote
I want a bot that looks like Donatello from Ninja Turtles and with cap like Fooruman's one but with heart of... Leonardo DiCaprio!

Else, don't make bots.
__________________
i enjoy...
R3ptile

Banned

Joined: Aug 2003

Posts: 3,885

R3ptile is doing well so far

Aug 17, 2006, 11:40 PM
R3ptile is offline
Reply With Quote
Quote:
Originally Posted by DanYjel
Leonardo DiCaprio!
DanYjel

JCF Member

Joined: Aug 2002

Posts: 775

DanYjel is doing well so far

Aug 18, 2006, 12:50 AM
DanYjel is offline
Reply With Quote
you're vomitting into OUR forum

Clean it.
__________________
i enjoy...
NovaStar

JCF Member

Joined: Sep 2005

Posts: 1,791

NovaStar is doing well so far

Aug 18, 2006, 04:28 AM
NovaStar is offline
Reply With Quote
GET A CLOTH AND CLEAN IT UP
__________________
NOM
Camou

JCF Member

Joined: Feb 2006

Posts: 455

Camou should make better posts

Aug 18, 2006, 07:29 AM
Camou is offline
Reply With Quote
Hm, choosing what kind of weapon he fires if you don't want him to pick up everything? So to practice dodging seeks and bouncys and stuff...
__________________
Xobim Xobim's Avatar

JCF Member

Joined: May 2005

Posts: 2,454

Xobim is doing well so far

Aug 18, 2006, 08:07 AM
Xobim is offline
Reply With Quote
Bots that attack annoying and spamming players.
__________________
Earth Mantra, for all your ambient music needs.
Onag Onag's Avatar

JCF Member

Joined: Feb 2002

Posts: 165

Onag is doing well so far

Aug 18, 2006, 08:14 AM
Onag is offline
Reply With Quote
I think the best solution would not include area ids, programmed paths, or anything like that.

Bots should be able to read the level data and extract the masking information. They should then keep a record of where all players are (which is obviously possible based on the JazzVCR screenies.

Rules:

1) Bots are not allowed to use player locations in their decision-making AI unless the player is in range (i.e. on the bot's "screen").
2) Bots can make assumptions about where a player is going based on his/her last "known" location and direction.
3) Bots cannot "cheat" by searching the level data for power-ups, health, etc., but they can remember locations where they see these items.
4) Bots can use a level's mask data and path-finding algorithms to figure out the best way to get to any given location.
5) I don't know. More stuff.

-Nag
__________________
http://www.inocompany.com/
Xobim Xobim's Avatar

JCF Member

Joined: May 2005

Posts: 2,454

Xobim is doing well so far

Aug 18, 2006, 08:53 AM
Xobim is offline
Reply With Quote
And won't all that calculating lag the game terribly?
__________________
Earth Mantra, for all your ambient music needs.
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 18, 2006, 09:20 AM
ahat is offline
Reply With Quote
First of all, thank you Onag for the only productive response.

Secondly, if you're not going to post anything aside from random spam, don't post at all.

Thirdly, it doesn't have to be a 'play bot', anything goes.
Old Aug 18, 2006, 09:22 AM
Camou
This message has been deleted by Camou. Reason: nvm stupid idea
minmay

JCF Member

Joined: Aug 2002

Posts: 1,184

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Aug 18, 2006, 09:32 AM
minmay is offline
Reply With Quote
Quote:
Originally Posted by Xobim
And won't all that calculating lag the game terribly?
No?
cooba cooba's Avatar

JCF Veteran

Joined: Jan 2004

Posts: 7,812

cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light

Aug 18, 2006, 09:35 AM
cooba is offline
Reply With Quote
Quote:
Originally Posted by minmay
No?
Or maybe yes?
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 18, 2006, 09:49 AM
Cpp is offline
Reply With Quote
opponent bot

I had given bots some thought in the past. Basically what you're creating here is not all that easy to do. Making a decent AI is a very tough job as you have to consider many different possibilities the game might throw at your bot. It works pretty much the Lego's where you have to make the small parts and then put them together the way they fit to form a whole. Based on the parts I mentioned, you easily could break down some of the AI into the following sections:
Quote:
Navigation
The ability to navigate through the level, remember where powerups/carrots/ammo/ctf bases/etc. are, ability to take warps as shortcuts, ability to learn how to play the level based of what actions (that the bot performed in the past) were more successful over others making the bot choose the action which has a greater chance of success over the ones with lower chance, etc.

Combat
This is where it comes to defeating the enemy. It includes the ability to choose proper weapons from proper situation, prediction of what the enemy might do next, avoidance of enemy gunfire, ability to use terrain to its advantage, observe what other 1337 players do and try to learn from them, etc.

Tactic
Having enough navigation over the level and enough combat skills does not neccessarily make bot good, such bot would still be "dumb". This is where tactic skill comes in place. Some things it includes would be the ability to find the fastest way from enemy flag base to home flag base, take decisions based on the current status of the bot and/or game (health, availavle weaponry, location, game victory conditions) - should the bot go after the enemy flag, assist the ally flag carrier, go after the enemy flag carrier or defend the base, should he search & destroy the players or look for carrots when low on health, etc.

Interface
Here is how you communicate with the bot, give him orders or at least make him try to figure out what the other players are doing so that he may enter the teamwork.
The above sections are by no means a complete list and I'm sure you could come up with a bunch more yourself and/or finetune mine, however I'm not here to make the dirty work for you, I'm simply giving you the general idea of how I imagine a good AI should be structured.

I'll give you an example of how I imagined the tactical part of the bot. Personally I would make the bot form a list of preferred actions he can do based on the current game status. Suppose your bot plays a CTF match with 3 players on red, the bot and 2 other human players on blue. The bot currently has the flag in possesion, but is very low on health and close to home base. One of the enemy players also has your flag in possesion. So now the big question...
What to do?

Quote:
Status: You have enemy flag in possesion
Question: Is your team flag in base?
Answer: Yes Action: Score a point
Answer: No Action: Enemy has your flag => What to do?
Alright by this point it's clear that the bot would choose the "Enemy has your flag" part.

Quote:
Status: Enemy has your flag
Option: Take best defensive action Probability: High Reason: Teammates are present. They can go after the flag carrier.
Option: Go after enemy flag carrier Probability: Low Reason: You have flag and teammates are present, unneccessary risk.
So now the bot would figure that there are teammates on his side that can and will go after the enemy flag carrier. The best thing for him would be to stay home and try avoid any enemy contact. He should also try to replenish his health as seen in next status:

Quote:
Status: Low on health
Option: Replenish health Probability: Vey High Reason: You have flag and are low on health.
So based on the decisions taken, the bot would make a list of all actions he can undertake and choose among those with biggest importance - this means he would do actions with greater probability more frequently than those with lower probability. For example: Collecting health over collecting ammo, staying home over going after enemy flag carrier, etc. The actions can change at any moment (take it the enemy flag carrier has fallen for example) so the bot would have to keep an eye out on the status and choose the proper action accordingly.

Here's how the final list of actions would look like:

Quote:
Action: Look for health
Probability: 100%
Reason: Low on health and have flag in possesion

Action: Avoid enemy contact
Probability: 90%
Reason: Must stay alive

Action: Stay close to home base
Probability: 80%
Reason: Easier to score faster

Action: Search for ammo
Probability: 10%
Reason: Most of weapons have sufficient ammo

Action: Combat enemy players
Probability: 10%
Reason: Unneccessary risk, must stay alive

Action: Seek out and destroy the enemy flag carrier
Probability: 5%
Reason: Unneccessary risk

Action: Score a point
Probability: 0%
Reason: Impossible, enemy has flag
And after the enemy flag carrier fell:

Quote:
Action: Score a point
Probability: 100%
Reason: Game win condition

Action: Avoid enemy contact
Probability: 90%
Reason: Must stay alive

Action: Stay close to home base
Probability: 90%
Reason: Easier to score faster

Action: Look for health
Probability: 60%
Reason: Low on health and have flag in possesion

Action: Search for ammo
Probability: 0%
Reason: Irrelevant

Action: Combat enemy players
Probability: 0%
Reason: Unneccessary risk, must stay alive, irrelevant

Action: Seek out and destroy the enemy flag carrier
Probability: 0%
Reason: Does not exist
That's all I have to say for now. Please note that I have written this briefly and I'm sure you could find some parts questionable, however as I stated, making a decent AI is not an easy task. If you find yourself undertaking the task to make an AI, I strongly recommend that you first build a prototype of it on the drawing board.

~Ol
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>

Last edited by Cpp; Aug 18, 2006 at 11:56 AM. Reason: Typos fixed
blurredd blurredd's Avatar

JCF Member

Joined: Nov 2001

Posts: 1,896

blurredd is an asset to this forumblurredd is an asset to this forum

Aug 18, 2006, 08:05 PM
blurredd is offline
Reply With Quote
If you aren't doing this already, you might want to make this a group project. Others seem to really know what they are talking about, and you seem to need a lot of suggestions.
__________________
D3
Extra. No CTO v0.75
Animating Tiles Properties.
ATB Contest. Scripting Language.
Gameplay Theories.
1UP. Pitfall. Desolation.
SC2.

Superjazz Superjazz's Avatar

JCF Member

Joined: Jan 2003

Posts: 976

Superjazz is OFF DA CHARTSuperjazz is OFF DA CHARTSuperjazz is OFF DA CHART

Aug 18, 2006, 11:58 PM
Superjazz is offline
Reply With Quote
One idea could be also different AI-smartness, or difficulty better said. While in game with multiple bots all they could be set on custom difficulties, so the bots-controller(mainly considered as host) could balance teams by his favor.

The difficulty could affect several things on the AIs.

-General movement and flow over the level(lower AI-level slows down the bot.)
-About the earlier mentioned smartness to switch to a suitable ammo-type for a certain situation, as in actually smartness to search for decent ammo(Could be done with some dice-concept.)
-Smartness to actually shoot in case an opponent encounters. The bot could either shoot some even in possible regions he might be facing the opponent, or spare some important ammo also(done a lot by experienced players.) If lower AI-level, it would shoot only when it clearly notices an opponent in it's area of vision, and with worse aim perhaps.
-In team-games a bot with lower AI-level could as well limit it's team-chat(optionally), for example if the bot had the flag it could just forget reporting it's health-change unless it is requested, most likely with "h".

Then something I thought also about, was how the bot would act with it's specified character. More of floating as Jazz, better flow as Spaz. Or are the bots supposed to be only Spazzes?

However, I am not familiar with any kind of programming(yet at least.) So all I can do are some suggestions for now.
__________________
Find It Out
SP: https://www.jazz2online.com/downloads/9371/find-it-out-single-player/
MP: http://www.jazz2online.com/J2Ov2/downloads/info.php?levelID=5021
R3ptile

Banned

Joined: Aug 2003

Posts: 3,885

R3ptile is doing well so far

Aug 19, 2006, 01:49 AM
R3ptile is offline
Reply With Quote
What about RF climbing and pickup timing?

Last edited by R3ptile; Aug 19, 2006 at 05:25 AM.
NovaStar

JCF Member

Joined: Sep 2005

Posts: 1,791

NovaStar is doing well so far

Aug 19, 2006, 10:44 PM
NovaStar is offline
Reply With Quote
And like special move selections like RF climbing as noted above?
__________________
NOM
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 20, 2006, 04:27 AM
Cpp is offline
Reply With Quote
Also here's a nice history thread on this topic (please don't revive it):
http://www.jazz2online.com/jcf/showthread.php?t=5409
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Black Ninja Black Ninja's Avatar

JCF Member

Joined: Mar 2001

Posts: 2,312

Black Ninja is an asset to this forumBlack Ninja is an asset to this forum

Aug 21, 2006, 05:10 PM
Black Ninja is offline
Reply With Quote
I'm interested in recruiting a team of talented individuals to work on creating a successful bot for JJ2. I've got the general plans, I've got the hex addresses we'd need, and I've got a need for programmers. Please PM me if you think you have skills I'll need. Also, Neobeo, I need to talk to you about this. Please PM me when you get the chance.
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

All times are GMT -8. The time now is 08:47 AM.