Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / C-bots for DBpro ***Robot Wars***

Author
Message
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 9th Oct 2003 22:31
Age's ago I play a wonderful little game called C-bots where you wrote scrips in advance (AI), then sat back and watched your robot fight with up to 3 others.

How hard would you think that would be to make for DBpro? What would be the hardest part, and what pitfalls do you see in creating it?
One thing I remember about the game was, different commands took different clock cycles to perform, as well an each player had a different amount of commands depending on there strategy. So you could have a slow powerful high AI tank, or a light fast highly maneuverable one.
ZomBfied
23
Years of Service
User Offline
Joined: 2nd Oct 2002
Location:
Posted: 9th Oct 2003 22:53
I think that would be cool if it were made a lot simpler so a wider audience could get into it.

I think a gui grid where you could drag & drop a set of simple commands would be best.

Maybe some single player missions to have your "bot" get through. I'd love to talk more about this, cause I've thought about it a lot.
BatVink
Moderator
23
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 9th Oct 2003 23:01
ILM have a competition running. You build your bot im Maya (or is it Lightwave) learning edition, within the guidelines, and send it in. They put it up against another player, turn it into an AVI, and put it on the site.

Each bot has to have a root node of exactly the same name, from that point on your bot must interrogate the opposing model to find out it's shape, centre of gravity, etc...

I think it would be good to replicate in DB Pro.

BatVink (formerly StevieVee)
http://facepaint.me.uk/catalog/default.php
ReD_eYe
23
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 9th Oct 2003 23:05
maybe make a kind of scripting language to 'program' each robot?


Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 9th Oct 2003 23:47
ZomBfied:
I would really like to talk about this too. I like scripts versus graphics because with scripts you can do more like:
MOVE 10.5
SCAN 45 (degrees)
IF SCAN THEN FIRE

BatVink:
Yes it is MelBot from Maya. I have looked at it, and while the initial thought is wow, mostly what happens is the robots get bumped out of the little area quickly, or they just move around. I don't think there are land mines or shooting, etc. I have been on the edge of my seat watching the little 2D graphics battling it out With C-Bots.
Beside you can program a C-bot in 5 min to an hour or so. MEL Bots (Maya) you have to model it and then program it. It could take a day to a week, and was not as exciting to watch as C-Bots. ..at lest for me.

ReD_eYe:
That is exactly what it is. You write a script and the program reads it and the Robots fight it out.
Algae Man
23
Years of Service
User Offline
Joined: 11th Nov 2002
Location: Canada
Posted: 10th Oct 2003 00:15
Anyone ever played "AI Wars"? It's just like that. You write scripts for "Cybugs" and then send your cybug against other cybugs into battle.
ZomBfied
23
Years of Service
User Offline
Joined: 2nd Oct 2002
Location:
Posted: 10th Oct 2003 00:45
Those commands you listed could just as easily be dragged and dropped as icons, but it would also be nice to be able to use scripts for more advanced users.

What I'm thinking of is there used to be this boardgame where robots fight it out and you layed little markers like a flow-chart and each round you had to follow it and roll dice etc.

Ive seen AI wars and it just seemed like too much work to get your robot to do anything. I'd like to see something like that that's easier to get into, but hard to master.

I'd like to see the game where you have like 5 min to make your code and the robots duke it out on a landscape with lots of weapons and stuff so rounds can go quickly.
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 10th Oct 2003 01:23 Edited at: 10th Oct 2003 01:25
A.I. wars looks cool, I have never heard of it before.

Well C-bots have turned into Robot Battles:
http://www.robotbattle.com/
I think this is what you want ZomBfied. Easy to learn. hard to master.

How hard is it to make one of these? I woudl like to give it a try if I knew I would finish it Pondering.....

BTW: Any of you coders want to help me work on a DarkBasic pro book? It will be given away when it's done. I just started yesterday and just finishing up the first chapter.
http://darkrealms.dbpcommunity.com
Proteus 1935
22
Years of Service
User Offline
Joined: 7th Oct 2003
Location: Brazil
Posted: 10th Oct 2003 01:42
Have you guys ever seen lego mindstorms? ([href]www.legomindstorms.com[/href])if you did, Remember the the programing interface it used back in version 1.0 that was some easy drag&drop

Currently coding: 3d-2d latitude/longitude
Recent coding: elliptical orbits
Proteus
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 10th Oct 2003 02:04
I looked at the box but not the program. I would have got it for my kids, but it is quite pricey.

While it is a drag and drop interface can you really do the complexity of AI needed to battle? I still think scripting is the way to go. and easer to code. I could be wrong.
zircher
23
Years of Service
User Offline
Joined: 27th Dec 2002
Location: Oklahoma
Posted: 10th Oct 2003 03:11
The 'best of breed' that I have seen so far is RoboForge. It combines easy parts assembly with scripting (that is also iconic for the script phobic types.)

As to C-Robots, the source code is probably easy to find and thus fairly easy to convert to another programming language. [Assuming you can read C that is...]
--
TAZ

[href]www.roboforge.com[/href]
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 10th Oct 2003 16:20
Say you made a game like this. How do you load in the players robot and then how do you have it take turns?
I am guessing you bring the robots into an array, but the taking turns part has me a little confused.
zircher
23
Years of Service
User Offline
Joined: 27th Dec 2002
Location: Oklahoma
Posted: 10th Oct 2003 17:02
I'd imagine that you'd run a simulated CPU clock and run the scripts as mutliple simulated thread. At the end of the clock cycle, you'd check for detection, collision, victory conditions, etc. Wash, rinse, repeat.
--
TAZ
Codger
23
Years of Service
User Offline
Joined: 23rd Nov 2002
Location:
Posted: 10th Oct 2003 17:11
This could be a great online game.
I am thinking about Virtual Robots rather than real ones.

Is it possible to assign Physics to models?
if so you could define a Robot within Parameter Ranges.

Choose between Strength or Speed.
Maneuverability or Stability

How about 2 categories one for remote control the other for A.I.

If you included the Game Creator Monster as Master of Ceremonies, you could win a computer.

System
PIII 650 MZ H.P. Pavillion
394 Mem GeForce 4 400MX
Beta 1
22
Years of Service
User Offline
Joined: 27th Aug 2003
Location:
Posted: 10th Oct 2003 17:42
Have a selection of parts/components with increasing abilities having increasing cost. Then allow the user to mix and match up to a certain price. Have each component modelled seperately and assemble your virtual robot using each component as a DB limb to the main body. Then you could even detect hits on certain subsystems...
Kevin Picone
23
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 10th Oct 2003 18:27
Guyon:

Quote: "
How hard would you think that would be to make for DBpro? What would be the hardest part, and what pitfalls do you see in creating it?
"


The compiler/virtual machine are some of the most challenging aspects. Although environmentally your robot controllers need to handle their world automatically for the user. So features like sliding collision need to be handled on the libraries side of things. Also, the bots will need to check line of sight, and otherr characteristics about their environment. Like locating objects (visibility / path finding). The last thing the bot coder wants to do is write complex scripts to guide themselves through the world. It';s too tedious and places too much stress on the interpreters back.

Quote: " One thing I remember about the game was, different commands took different clock cycles to perform, as well an each player had a different amount of commands depending on there strategy. So you could have a slow powerful high AI tank, or a light fast highly maneuverable one.
"


A couple years ago I wacked together a virus competition engine in DB called Kyruss. The concept would have been to pit rival programmers/groups against each other so they could compete in a type of memory wars. The game takes place in a computer simulation. To win you had to be last remaining 'running' task. It's pretty trivial to write. But really doesnn't suit Db though..

One of the key drama's was that Kyruss was too low level for most to follow. Since your dealing with bombing memory(inside the simulation), it was based around a 'cut down' 68000 assembly. With a bit of api to help the user out.

A year later I decided to attempt to build a robot game based around a basic language. Logically this a more accessible approach, but it does place a lot of stress on the interpreters back, In particular as the command/feature set evolved. So realistically DB wasn't going to cut it. I can't say how it'd run Dbpro. After porting, it still doesn't work (crashes). It's a real shame.

One benefit that writing in DBpro today has over the way i was forced to go about things was the need for octree/portal support. Since the interpreter will eat through some serious time. So if you want to hold the frame rate up with a number of bots, your going to either have 'minimal' gfx overhead or interleave tiny cycle slices over many frames. This isn't really a valid option, as it amounts to watching a slow motion war, rather than a real time battle..

i.e.

If you bot takes 1000 cycles to perform one update. And the interpreter allocates say 250 cycles (nice round number) for the starting cycles of each bot. So if the target refresh rate is 30fps for the virtual machine, then the bots will actually update in 30/4 = 7.5 Fps.

The trick is going to be building a command set that makes the scripts both powerful and as efficient as possible for the VM.

Anyway the couple of tech demos of Kyuss 1 and 2 or still on my site.

http://www.Kyruss.UnderwareDesign.com (the assembly/virus oens one)
http://www.Kyruss2.UnderwareDesign.com (basically Db written in DB )

Kevin Picone
Play Basic - Visible Worlds - Kyruss II
[url]www.underwaredesign.com[/url]
snailian
22
Years of Service
User Offline
Joined: 17th Sep 2003
Location:
Posted: 10th Oct 2003 18:40
3d game studio has(had) a very similar concept going on. http://www.conitec.net/arena/ I think the idea is great! I would participate in a competition The hardest part might actually be creating the scripting language and guidlines. Not that it is terribly difficult, but I think that is where the most time would be spent.

Cry in the dojo-laugh on the battlefield.
Guyon
23
Years of Service
User Offline
Joined: 6th Jun 2003
Location: United States
Posted: 10th Oct 2003 19:27
If we could get a team together I would be happy to do:

All graphics, sound, documentation, command set and & program design.
ReD_eYe
23
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 10th Oct 2003 20:15
this sounds like it could be fun! I'll help out, i've tried to make my own 2d engine for this kinda thing after reading this post just to get an idea of how it would be done, so i pledge my support


Login to post a reply

Server time is: 2026-07-26 03:44:39
Your offset time is: 2026-07-26 03:44:39