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

Jazz2 BOTS?

Reply
 
Thread Tools
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 1, 2002, 10:49 AM
FQuist is offline
Reply With Quote
For finding out the level, I got this idea:

Find out the height and width for the level.
Warp the bot to each one of the coordinates.
Now, if the bot isn't able to move at all, he's standing in a masked block. If he's able to the block is unmasked. If the ammo count for a weapon increases, you know he's the tile contains ammo. If he suddenly moves upwards or sidewards you know you hit a spring, belt or wind. To find out wether he's on a diagonal block, you can walk left or right and see if he also moves up or down.

This way you can create a ".ai" map of the entire level without having to code too much.
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Trafton AT

JCF Member

Joined: Mar 2002

Posts: 1,712

Trafton AT is doing well so far

Sep 1, 2002, 10:53 AM
Trafton AT is offline
Reply With Quote
Along with what FQuist said, the bot could warp to every single tile and see what happens to him on that tile to see what event there is there. A program could compile the results for all the levels in a collection.
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 1, 2002, 11:44 AM
FQuist is offline
Reply With Quote
That's exactly what I said. ;p
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Fawriel

JCF Éminence Grise

Joined: May 2002

Posts: 11,990

Fawriel is doing well so far

Sep 1, 2002, 11:48 AM
Fawriel is offline
Reply With Quote
But if he warps to every block once,he would just see if a tile was masked or unmasked,not if the tile shows a diagonal line(or something more complexe)!
__________________
Unhit

Pornocrat

Joined: Nov 2001

Posts: 3,771

Unhit is doing well so far

Sep 1, 2002, 09:45 PM
Unhit is offline
Reply With Quote
If it shows a diagonal line, he could get stuck, but was able to shoot. That was also a important thing when programming this programme, imho.
__________________
<center>somebody holds the key</center>
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 2, 2002, 07:59 AM
FQuist is offline
Reply With Quote
If a block is masked you can warp to the block above and see if it's diagonal.
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 2, 2002, 08:01 AM
FQuist is offline
Reply With Quote
Hmm, one problem. Doesn't jazz also get stuck when warped to a tile next to a masked block? Well, you can still find out by going to the tile near that one, and if you aren't stuck the other tiles aren't masked either.
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Super Saiyan

JCF Member

Joined: Nov 2001

Posts: 416

Super Saiyan is doing well so far

Sep 2, 2002, 11:21 AM
Super Saiyan is offline
Reply With Quote
So you guys are saying the bots have to warp in EACH tile in the level...? Hmm, well that would be a good idea but it would take long before the bot is ready, except if they can warp very very fast.
__________________
Bla.
Trafton AT

JCF Member

Joined: Mar 2002

Posts: 1,712

Trafton AT is doing well so far

Sep 2, 2002, 12:06 PM
Trafton AT is offline
Reply With Quote
Quote:
That's exactly what I said. ;p
Not exactly. This also answers Super Saiyan's question. I meant that there could be a program to automatically do this. It could store levels in a database. After all, the amount of levels often hosted isn't high. It would just have to do the scanning thing once.
Unhit

Pornocrat

Joined: Nov 2001

Posts: 3,771

Unhit is doing well so far

Sep 2, 2002, 10:39 PM
Unhit is offline
Reply With Quote
Quote:
Originally posted by Super Saiyan
So you guys are saying the bots have to warp in EACH tile in the level...? Hmm, well that would be a good idea but it would take long before the bot is ready, except if they can warp very very fast.
Everyone ough to have that programme then, and if he/she uploads the lvl to J2O, the levelcrator simply includes the .ai-file, so it is made ONCE and for all. Otherwise, every downloader had to make it for himself.
__________________
<center>somebody holds the key</center>
Matrix

JCF Member

Joined: Apr 2001

Posts: 76

Matrix is doing well so far

Sep 3, 2002, 05:15 AM
Matrix is offline
Reply With Quote
Make a map

Couldn't you just create a mask of the entire level and save it as your own format?. The program could then read the file into an array and then the bot could place things like to cur pos of each player in the array to so it can then find a path.

for example:

1 = Filled in
0 = Empty
P = Player
B = Bot

111111111111111111111111111
1110000000000000000000000B1
111001111111111111111111111
1110000000000000P0000000001
111111111111111111111111001
111000000000000000000000001
..etc.

It could then find the path to the other player and shoot them.

Or for treasure hunt:
1 = Filled in
0 = Empty
P = Player
B = Bot
G = Gem

111111111111111111111111111
11100GGG00000000000000000B1
111001111111111111111111111
111000G00G000000P0000000001
111111111111111111111111001
111000000000000000000000001
..etc.

The user would have to do this them selves but with a simple editor could create a file with the level in its masked format. You could then create a program that hosts the file on a different port than jazz and when a bot wants to connect, it d/ls the file and connectes to the JJ2 server.

Now the hoster would have to create the file but standard levels could be created?

Just a thought...

Matirix
__________________
iMac: MacOS X 10.2.6. 256MB RAM. 266MHz PPC G3
iBook: MacOS X 10.2.4. 640MB RAM. 800MHz PPC G3
Jazz: 1.2.8 OSX


Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Sep 3, 2002, 06:24 AM
Neobeo is offline
Reply With Quote
Firstly, the masking part shouldn't be too difficult... there's somewhere in the memory that does it and gives the whole 32x32 mask of the tile at that location

The hard part of making the bot, as some had already managed to pick out, is for it to actually find the path. Let's take Matrix's example for instance... its a simple path, but might take ages for a bot to just calculate that short path.

Let's say someone does manage to create some algorithm (probably some alien lifeform) that might allow the bot to find its way around the path... then there are also warp and trigger zones... so on the long run this is hardly possible...

Then if someone can figure out how to calculate the path of where the bot should take, then, well, there are many other limits (not exactly limits, but I couldnt find a better word) in programming which prevents the creation of a bot... *dont have any more examples currently*

So the closest we can come to a JJ2 Bot, as Overlord (i think) has mentioned, is just to "study" a player's movements and stuff for a few minutes and practically mimic it

^^ Wow I didn't realise I've written so much.... lol
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 3, 2002, 08:03 AM
FQuist is offline
Reply With Quote
Re: Make a map

Quote:
Originally posted by Matrix
[B]Couldn't you just create a mask of the entire level and save it as your own format?. The program could then read the file into an array and then the bot could place things like to cur pos of each player in the array to so it can then find a path.
[...]
That's essentially what my idea does, creating a mask by testing all blocks.

Neobeo: I barely know ai stuff, I can imagine pathfinding is hard. Easiest would be making an .ai file editor where you can put in paths
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Newspaz

JCF Member

Joined: Jan 2001

Posts: 2,678

Newspaz has disabled reputation

Sep 3, 2002, 08:18 AM
Newspaz is offline
Reply With Quote
You could use an unused event as a path event. Like event 255
Link

Untitled

Joined: Apr 2001

Posts: 2,099

Link is doing well so far

Sep 3, 2002, 08:32 AM
Link is offline
Reply With Quote
If it did all work out, there would be another problem. The bot would be too good.

If it knew the position of every person in the level, then it would go to them. Regular players don't know the exact positions of other players unless they can see them. You can guess, but you can never know for sure until you see them. So A.S. (artificial stupidity) would have to also be programmed in the bots.
__________________
With our extreme gelatinous apology,
We beg to inform your Imperial Majesty,
Unto whom be dominion and power and glory,
There still remains that strange precipitate
Which has the quality to resist
Our oldest and most trusted catalyst.
It is a substance we cannot cremate
By temperatures known to our Laboratory.

~ E.J. Pratt
 
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 3, 2002, 08:32 AM
FQuist is offline
Reply With Quote
But that way you don't know the level itself
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Krezack

JCF member

Joined: Nov 2001

Posts: 5,156

Krezack has disabled reputation

Sep 3, 2002, 08:38 AM
Krezack is offline
Reply With Quote
Quote:
Originally posted by Link
If it did all work out, there would be another problem. The bot would be too good.

If it knew the position of every person in the level, then it would go to them. Regular players don't know the exact positions of other players unless they can see them. You can guess, but you can never know for sure until you see them. So A.S. (artificial stupidity) would have to also be programmed in the bots.
We want some form of challenge don't we? ;-P
__________________
"Are we not threatened with a flood of information? And is this not the monstrousness of it: that it crushes beauty by means of beauty, and annihilates truth by means of truth? For the sound of a million Shakespeares would produce the very same furious din and hubbub as the sound of a herd of prairie buffalo or sea billows."
—Stanisław Lem, Imaginary Magnitude (1973)
Trafton AT

JCF Member

Joined: Mar 2002

Posts: 1,712

Trafton AT is doing well so far

Sep 3, 2002, 10:47 AM
Trafton AT is offline
Reply With Quote
Here's one problem:
The bot is playing battle1 and starts in the start position that you can't get out of without using a copter. However, the bot has no idea of this, so it stays in this area, and never goes off to play elsewhere.

The second problem:
Even if the bot gets the copter, it would have no idea what to do with it. It could say "all tiles on every side clear-moving right" and go off towards the bouncers instead of up to the water shield area. Since bots do not understand cause and effect, this would become a big problem.
Unhit

Pornocrat

Joined: Nov 2001

Posts: 3,771

Unhit is doing well so far

Sep 3, 2002, 11:03 AM
Unhit is offline
Reply With Quote
That's a big problem indeed.
__________________
<center>somebody holds the key</center>
Trafton AT

JCF Member

Joined: Mar 2002

Posts: 1,712

Trafton AT is doing well so far

Sep 3, 2002, 12:16 PM
Trafton AT is offline
Reply With Quote
It would hard to "adapt" levels to this. For instance, while a bot could completely rock at Battle2, sending it to a Foo Races level would be a disaster. The only way around this that would not require a really really really complexly executed solution would be to tell it specific things about the level like "Go up, not to the right if you get a copter item on battle1." Of course, the programmers couldn't do this for every level that is hosted often. Thus, the bot would have a huge disadvantage, which is one of the various reasons playing bots were scrapped (no pun intended) after these issues came to light.
Unhit

Pornocrat

Joined: Nov 2001

Posts: 3,771

Unhit is doing well so far

Sep 3, 2002, 10:44 PM
Unhit is offline
Reply With Quote
I guess you also had to tell the bot before warping around if it's battle, CTF etc. If it should be CTF, he couls warp around and then look for short ways /ways where carrots are from one base to the other.

What I think that could be very difficult is to let the bot jump on the right places and not that he stops in front of a wall or something, but jumps out from his running. This way, he won't be that slow.

Anyways, we also needed two different scripts: one for Jazz, one for Spaz, as i.e. Spaz sometimes gets faster to certain places via his double-jump, while Jazz has to stand first.
__________________
<center>somebody holds the key</center>
Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Sep 4, 2002, 01:57 AM
Neobeo is offline
Reply With Quote
Ok... let's just basically go through every function a Jazz2 Bot can have... Well, for a start it is possible to make the bot just stupidly run around and shoot when it "senses" a player within 10 tiles of it... But as I've pointed out there are too many limits

*never mind* every1 has gone through that... but anyway
1) masks - dats possible
2) sensor - dats possible
3) weapon choice - dats possible
4) path finder - dats half-possible
5) thoughts - dats impossible

what i mean by thoughts, is like... lets take this situation where 1 is wall, 0 is nothing, A is warp 1, X is warp target 1, C is warp 2, Y is warp target 2, B is bot, P is player

The bot obviously wants to get to the player

11111111111111111
10000000000A00001
10C000X0B00A0Y0P1
11111111111111111

the bot will just keep moving right in a neverending loop

artificial stupidity, like Link has mentioned also gives another limit
for example, many ppl use layer 3 in their levels to hide certain secret areas... but depending on how the bot is programmed, it either finds all secret areas or doesn't find any at all

my conclusion: lets say every1 on jazz2online knows programming and stuff and work on this for 10 years, and we combine all the code together, the bot still wont come 1% as close to a real human player
FQuist

JCF Member

Joined: Sep 2001

Posts: 3,251

FQuist is an asset to this forumFQuist is an asset to this forum

Sep 4, 2002, 06:44 AM
FQuist is offline
Reply With Quote
We can try, at least. Even a stupid bot could be fun. He would be tricked by warps but would also be able to do things we can't do.
__________________
“The truth is that everything that can be accomplished by showing a person when he's wrong, ten times as much can be accomplished by showing him where he is right.” - Robert T. Allen

Interesting Jazz-related links:
Thread: Gameplay Theories - Thread: Make Up Your Own Gametype

Spotify.fm

Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Sep 4, 2002, 07:28 AM
Neobeo is offline
Reply With Quote
hehe... and the bot will win every test level with ease when everyone else finds it impossible
__________________
<TABLE border=1><TR><TD>Facts:
Jazz Sprite Dynamite (JSD)
Tileset Extractor
Neobeo's Firetruck

</TD><TD>Myths:
Jazz Creation Station Plus (JCS+) - 10%
Coming soon - a dedicated server! - 25%
Jazz Sprite Dynamite v2 (JSDv2) - 2%
Another generic single-player level - 0%
</TD></TR></TABLE>
Cpp

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Sep 4, 2002, 07:37 AM
Cpp is offline
Reply With Quote
Man! You people just can't solve anything on your own

Even if a bot would enter an infinite loop we can still record his pos and write a pos history log so the bot program can detect that loop and try something else.

Another (and probably better) solution is that we make/program some assault tactics (excluding combat and defence tactics in this example) so the bot will randomize (using RND) and try various assault tactics like running right, jumping right, kicking, etc. to reach and kill the player rather than just running right in an infinite loop like NeoBeo said. And so what' if bots are not close to real human players... Hey! They're bots. We play against the computer (AI) here. Even Epic was unable to program such bots (talking about UT here). They are computer-controlled players and computer needs no mouse/keyboard to control them. It's just like if you had your brain connected to the computer.

Ow and I have to say that the mask thingie is a good idea. The bot should see only the same amount of tiles as every player sees on the screen.
__________________
<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>
Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Sep 4, 2002, 08:56 AM
Neobeo is offline
Reply With Quote
ok... Overlord, so ur saying that the bot just does things randomly... well, it doesn't sound too bad, just that

its not too feasible because:
1) everything's pointed out already...
2) imagine a player who goes "up-down-left-right-jump-specialmove-buttstomp-etc." in an everlasting loop (random order) kinda irritating isn't it?

well, now that i thought of it, its not very possible for bots to be uhh... fully compatible... with new levels... so overlord's level.AI idea is quite a good one

*still searching for list of why bots are... well....*

nvm... ill post again sometime l8r, after some1 replies
__________________
<TABLE border=1><TR><TD>Facts:
Jazz Sprite Dynamite (JSD)
Tileset Extractor
Neobeo's Firetruck

</TD><TD>Myths:
Jazz Creation Station Plus (JCS+) - 10%
Coming soon - a dedicated server! - 25%
Jazz Sprite Dynamite v2 (JSDv2) - 2%
Another generic single-player level - 0%
</TD></TR></TABLE>
Monolith

JCF Member

Joined: Mar 2001

Posts: 2,221

Monolith is doing well so far

Sep 4, 2002, 07:31 PM
Monolith is offline
Reply With Quote
The best way to make a bot look as human as possible is to have it learn by watching other human players play. From tracking other players position, velocity, and status, the bot could learn the nature of the level and common paths it can take.
__________________
<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>
Neobeo

JCF Member

Joined: Sep 2002

Posts: 409

Neobeo is an asset to this forumNeobeo is an asset to this forum

Sep 4, 2002, 08:45 PM
Neobeo is offline
Reply With Quote
Quote:
Originally posted by Monolith
The best way to make a bot look as human as possible is to have it learn by watching other human players play. From tracking other players position, velocity, and status, the bot could learn the nature of the level and common paths it can take.
yea... this is a good idea... *if the level was err... stable (couldn't find a better word* because these days most levels use dectruct, collapse and trigger scenery and so on

so the original player takes one path
but the bot cannot copy that path because by that time the level would have "changed"

so in the end, the bot needs to "think" by itself after all
__________________
<TABLE border=1><TR><TD>Facts:
Jazz Sprite Dynamite (JSD)
Tileset Extractor
Neobeo's Firetruck

</TD><TD>Myths:
Jazz Creation Station Plus (JCS+) - 10%
Coming soon - a dedicated server! - 25%
Jazz Sprite Dynamite v2 (JSDv2) - 2%
Another generic single-player level - 0%
</TD></TR></TABLE>
Unhit

Pornocrat

Joined: Nov 2001

Posts: 3,771

Unhit is doing well so far

Sep 4, 2002, 11:01 PM
Unhit is offline
Reply With Quote
Quote:
Originally posted by Monolith
The best way to make a bot look as human as possible is to have it learn by watching other human players play. From tracking other players position, velocity, and status, the bot could learn the nature of the level and common paths it can take.
Perhaps you even should get the problem reading EXACTLY out where the player goes, where he takes ammo and where he epsecially uses it. Of course, the "tester" shouldn't just shoot around for fun then, or the bot could get problems.
Othrwise, the bot should also wait at some places for respawning ammo/carrots. The only problem I see here is that you'd have to get a good player to create the .ai file then...
__________________
<center>somebody holds the key</center>
Cheeze

JCF Member

Joined: Jan 2001

Posts: 157

Cheeze has disabled reputation

Sep 5, 2002, 04:14 PM
Cheeze is offline
Reply With Quote
There are AI programs out there beging developed and although i haven't really taken a look at the code or anything, my assumption is that it could do some sort of primitive problem solving. This probably could be implimented into whatever masking stuff fquist was talking about, along with some system of finding out where players are, and then the bot can make simple decisions, like shoot at someone until he runs away, and either chase him, get a carrot, or do whatever he needs to do.

That's oversimplifying things, but if this ever picks up, taking a look at freshmeat or sourceforge might help out with the AI.

As for chatting, the coding is ridiculously simple, and i have some simple little programs around on my computer.

-cheeze
djazz

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Jan 5, 2010, 04:57 PM
djazz is offline
Reply With Quote
I was browsing the archive and suddenly...

Sry for bringing back this amazing thread, but I couldn't resist, I just love playing around with the GIP and other JJ2 bots
I don't know the status of this in your thoughts, but here comes some things I know and some ideas...

Just a "breakpoint": Should there be joining bots that download the level, read it, moves like a normal joining client OR an external program that either using the JJ2 window as host, or a special program that emulates JJ2.
I would suggest a host of JJ2, as this would give the most realistic movements, using JJ2's engine, and it could read the J2L/J2T files.

It is possible to make a joining bot at the moment, but it can't move and will get Connection Timed Out if server is running JJ2+. I'm sure there is a way to work around this, but then there is next problem: Proper physics. As the joining bot not have access to the sourcecode or a JJ2 window, this would be hard, to replicate the JJ2 movement engine.

And now, as the J2L and J2T file formats knowledge are increasing. Reading the level's mask, layer 3 (for hidden spots), all events and their parameters, and using the JJ2 as host, would make everything at least a little bit simpler.
Reading memory addresses is needed to locate ammo, players, carrots and other things.
But there is still much to do to make a bot actually act as a bot, and maybe the "copy player movements" plus some random decisions will make the bot more "alive", and somewhere to store all the data needed by the bot (".j2ai" files?). The bot maybe should run the level with different trigger states, destruct/stomp/collaps-scenery and/or find the most common paths, like a heatmap, and store it. It would also store the level's CRC so it can see if level hs been changed since the bot "learned" it.

Another good thing that FQuist stated was warping around the level checking mask and movement. Now the mask can be fetched from the J2L+J2T, then maybe just warp around and try different moves, and where they lead, and shoot and see where it hits. This maybe will lead to infinitive combinations.


I would be glad to hear your oppinion!
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Crazy Rabbit

JCF Member

Joined: Aug 2009

Posts: 243

Crazy Rabbit is doing well so far

Jan 6, 2010, 01:15 AM
Crazy Rabbit is offline
Reply With Quote
I have one idea...Make programmed bot file for Zaitox CTF...
But plz dont ask me how make bots...Im loser at this...
__________________
ELC leveldesigner, [CDFLogistics] leader, [CDF] consult member, a music composer.
Unite people under one idea.
Lithium

JCF Member

Joined: Oct 2008

Posts: 386

Lithium is an asset to this forum

Jan 6, 2010, 07:05 AM
Lithium is offline
Reply With Quote
We need a bot who can move around and play. If possible.
Stijn

Administrator

Joined: Mar 2001

Posts: 6,968

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Jan 6, 2010, 08:23 AM
Stijn is offline
Reply With Quote
What do we need it for?
Lithium

JCF Member

Joined: Oct 2008

Posts: 386

Lithium is an asset to this forum

Jan 6, 2010, 08:26 AM
Lithium is offline
Reply With Quote
Uh,I don't know,maybe for a new gamemode or something? Players VS Bots server or whatever?
blurredd

JCF Member

Joined: Nov 2001

Posts: 1,896

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

Jan 6, 2010, 10:54 AM
blurredd is offline
Reply With Quote
I don't really support the idea of having bots join servers due to issues of being able to tell who is or isn't a bot, plus it should be only the server that decides if a game should have bots. Also, it's entirely possible to have bots produced by the server through JJ2. I haven't looked into the details yet, but it should easier to do nowadays.
__________________
D3
Extra. No CTO v0.75
Animating Tiles Properties.
ATB Contest. Scripting Language.
Gameplay Theories.
1UP. Pitfall. Desolation.
SC2.

djazz

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Jan 9, 2010, 06:05 AM
djazz is offline
Reply With Quote
Talking Bots aren't the future, bots are today!

Quote:
Originally Posted by BlurredD View Post
I don't really support the idea of having bots join servers due to issues of being able to tell who is or isn't a bot, plus it should be only the server that decides if a game should have bots. Also, it's entirely possible to have bots produced by the server through JJ2. I haven't looked into the details yet, but it should easier to do nowadays.
Sounds good, to have bots hosted by server instead of joining ones, maybe a plus-feature in future?

I have now made a simple bot that using a JJ2 window as host and read player positions, who has flag etc. and uses "keyboard simulation" to move the player (the external program "press" keys on the keyboard to move the player). I've hosted a "Fight the BOT" server all day and it was a lot of fun, particularly the duels (player VS bot battle) or 2vs2 (players VS player and bot in CTF). The bot fires and jumps around, following the player.
I will improve it to make it defense bases, teamchat, find carrots, attack others etc.



As you see, the player uses position offsets, where 0x0 is at the player in target.
When the player is above the bot, the bot starts to jump, and when below, nothing. If the player is below and bot is on a vine, bot press down arrow to get down from the vine.
Health shows the bot's health. In future, the bot will start look for carrot when on low health.

To see the bot in action, please ask me and I can host it.
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Crazy Rabbit

JCF Member

Joined: Aug 2009

Posts: 243

Crazy Rabbit is doing well so far

Jan 9, 2010, 02:39 PM
Crazy Rabbit is offline
Reply With Quote
Ummm...Excuse me, can you make your bot to difficult...Maybe he will be make traps,camps or etc...
__________________
ELC leveldesigner, [CDFLogistics] leader, [CDF] consult member, a music composer.
Unite people under one idea.
Troglobite

JCF Member

Joined: May 2008

Posts: 691

Troglobite is a forum legendTroglobite is a forum legendTroglobite is a forum legend

Jan 10, 2010, 06:28 PM
Troglobite is offline
Reply With Quote
Quote:
Originally Posted by DJazz View Post
Bots aren't the future, bots are today!
I haven't seen the bot in action, but this idea amuses me immensely. Great job.
__________________

Lexicographer: Someone who writes dictionaries
Neophyte: A novice, or newbie
Hemisemidemiquaver: In music, a sixty-fourth note


Exit Troglobite, Stage Left
DanZeal

JCF Member

Joined: Jan 2008

Posts: 302

DanZeal is an asset to this forum

Jan 11, 2010, 10:09 AM
DanZeal is offline
Reply With Quote
We would probably use a bot for Zeal Alpha if the bot could leave the server when it is more then 4 players or something and rejoin when it is less. Bots added to plus would be great.
__________________

ZStats
"The myth that women should not lift heavy is advanced only by women who fear effort and men who fear women." Eric Midkiff
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 10:49 AM.