FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Robocode - like game in 3D
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> FragBots
View previous topic :: View next topic  
Author Message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Sat Mar 05, 2005 2:28 pm    Post subject: Robocode - like game in 3D Reply with quote

Robocode - like game in 3D // Actually in 4D - 3D graphics in D, that gives 4D...

Disclaimer: This is not the same project as Clay's Wink
I've been willing to code a full-blown FPS engine and a game on top of it, but my lack of time is successfully destroying that plans. So instead I wish to try something smaller. Basically a game like Robocode, in which you are to code an AI for a tank (and possibly other vehicles). Then these AIs can fight against each other and the user can see a nice simulation in 3D.
From the gfx side of the project, I'm aiming for something like MindRover. Yet in MindRover you don't program the AI but construct it from LEGO-like logical components.
I'm aiming for something different. The host program that draws fancy 3D, does dynamics simulation, sounds, GUI and such will communicate with the bots using a network connection. This way the bot code can be programmed in almost anything - I have plans for D and Python interfaces at the moment.
The project is opensource anyways ; JJR pointed out that putting it on dsource would be a good idea.

You can download a little demo (for MSWindows) from http://158.75.59.9/~h3/code/heresy/test3.rar
// controls: cursors, WASD+QE, IJKL+UO, mouse
Source code without the ODE bindings can be found here: http://158.75.59.9/~h3/code/heresy/src.zip
And the bindings (ugly and incomplete) are here: http://158.75.59.9/~h3/listDir.spy?viewType=normal&path=code/heresy/ode
Right now there isn't any game logic, yet some basic rendering, physics and networking are working fine. Now I'm working on making tanks shoot and putting them into some real level (fighting with global illumination at the moment).
If the project is to find its place on dsource, it will need a name... The codename is 'Tanx', but there are probably hundreds of other games with that title. The engine's codename is 'Heresy', yet it doesn't match with the planned gamestyle. Any ideas ? Very Happy

edit: Would have forgotten... I'd like the tanks in the game world to be radio - controlled tanks, or just robots of such size, and the fights may take place on streets, in houses, etc. (`Re-Volt` anyone ? Very Happy)


Last edited by h3r3tic on Tue Dec 13, 2005 7:07 pm; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Thu Mar 10, 2005 4:21 pm    Post subject: Reply with quote

Sounds awesome.

What are you going to liscense it under? (zlib/png, BSD, GPL, other)

As for name, well you can't call it warbots Razz

But you can call it. . .

WarCoders
WMD: Weapons of Mass Destruction!
FragBots / FraggleBots
RoboCode
EvilEntity
HeresyRobotFactory
RSS: Robotic Satillite Simulation
Skynet

umm... can't think of any more. good luck.
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Thu Mar 10, 2005 4:32 pm    Post subject: Reply with quote

clayasaurus wrote:
What are you going to liscense it under? (zlib/png, BSD, GPL, other)


Hmm... dnow... I'm not into licenses... Which one's the best ? Wink

Quote:
As for name, well you can't call it warbots Razz

LOL !

Quote:

But you can call it. . .
<snip />


Yay, I like your names Smile Mayb I'll just pick one. Thanks
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Thu Mar 10, 2005 5:04 pm    Post subject: Reply with quote

h3r3tic wrote:
clayasaurus wrote:
What are you going to liscense it under? (zlib/png, BSD, GPL, other)


Hmm... dnow... I'm not into licenses... Which one's the best ? Wink


i'm using zlib/png for warbots
http://www.opensource.org/licenses/zlib-license.php

it is the same as BSD, it says that anyone can use your code for any purpose, even commercial applications, as long as the author of the code is not mis represented, and altered versions and not marked as being the original. It is the most straight forward/flexible, with the least protections against other people using your code.

If you want more protection, you can use GPL.
If says if it is used in a commercial application, then the person writing the commercial application has to release all modifications they made to it and all their commercial code.

Then LGPL, which is like GPL, except they just have to release all modifications to the "library" and not all their in game commercial code. SDL uses LGPL.

But putting code up in public domain, it is a good idea to have some sort of liscense, and just put it in the game directory as a text file, like copying.txt or distrubuting.txt

g2g
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Thu Mar 10, 2005 5:33 pm    Post subject: Reply with quote

Thanks for the info, I'll follow your way Smile
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Fri Mar 11, 2005 12:54 pm    Post subject: Reply with quote

h3r3tic wrote:

Yay, I like your names Smile Mayb I'll just pick one. Thanks


I think you need to pick some sort of name before brad can set you up, ... unless you have already told him behind the scenes.
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Sat Mar 12, 2005 5:30 pm    Post subject: Reply with quote

I think "FragBots" will be ok. At least as a codename Smile
Ok, how much do I pay ? Wink
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Sun Mar 13, 2005 5:00 pm    Post subject: Reply with quote

awesome, you got your own space now : )

say, since we are working on similar projects, it is alright if we share some code : ) ?

right now i'm going to be going on a clean code mango style quest. so it will take me a while to clean up my code, and it will add a lot more files and folders, but smaller crisper cleaner files, and the folders will be more like packages, like this

input/capture.d // privately import all below, does all work
input/keyboard.d
input/mouse.d
input/modifiers.d

and then you'd only need to put

import input.capture; in the main file. and build will take care of linking all the other files.

anyways, i am really interested in the system you are going to use to have the bots communicate with eachother, because that one part, i'm not so sure about. Network serialization that I think you are using seems like a good solution.
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Sun Mar 13, 2005 5:15 pm    Post subject: Reply with quote

Hi there. Sure it's not a problem to share code, after all it's an opensource community Razz If you can live with my code, you're welcome to use it, hehe. I'd make a commit but I tried today and seems like even Tortoise SVN is to hard for me to use Rolling Eyes "But mommie, I haven't ever used a version control system". I'm getting strange errors when I try to commit some files and it isn't even asking for my login and passwd...

The bot-host communication seems like a simple task. There's some API for the bot programmer, like:
tank.fire();
tank.move(spd);
tank.turret.rotate(angle);
etc. and the API does the whole thing, as the bot creator can call these functions in a callback function that will be actually called by the API. so:
1. The API waits for the data from the host program
2. API calls the user-defined robot main function
3. The robot function, the "brain" calls API functions like tank.fire(), the API saves the call data in some structures
4. The brain function returns
5. The API compiles the structures together and serializes them using a SocketStream.
6. The host program unserializes the structures, performs validation of the data and performs a simulation
7. goto 1;

That's the basic idea. In a very basic form, it's already there. The API is nonexistent but the network-based serialization concept is fine Smile
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Sun Mar 13, 2005 9:24 pm    Post subject: Reply with quote

Not sure if you've figured out the svn yet, but here are my tips

1) checkout your default directories with tortoise svn via the commit option, and the address is http://svn.dsource.org/svn/projects/fragbots

2) add your development files and folders to trunk/

3) right click on files, hit 'add'

4) do 'commit' with TSVN
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Mon Mar 14, 2005 6:04 am    Post subject: Reply with quote

SVN doesn't seem to like me....

REPORT request failed on '/svn/projects/fragbots/!svn/vss/default'
REPORT of '/svn/projects/fragbots/!svn/vcc/default': 400 Bad Request (http://svn.dsource.org)

/me fighting...
Back to top
View user's profile Send private message MSN Messenger
brad
Site Admin


Joined: 22 Feb 2004
Posts: 490
Location: Atlanta, GA USA

PostPosted: Mon Mar 14, 2005 2:16 pm    Post subject: Reply with quote

Stewart Gordon was seeing the same issue around this time. I'm not sure what was going on with the server, or if it's your client or not. Waiting to hear back from him in the main D NG.

Look for the Deimos or Arcane Jill library discussion.

BA
Back to top
View user's profile Send private message
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Mon Mar 14, 2005 2:20 pm    Post subject: Reply with quote

Ok, thanks for the info. I'll be waiting for some tips from Stewart Wink
Back to top
View user's profile Send private message MSN Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Mon Mar 14, 2005 6:47 pm    Post subject: Reply with quote

It works fine on linux with the svn command line
svn co http://svn.dsource.org/svn/projects/fragbots
it checks out at my end :-/ i hope you get it working soon : )

anyway, if you need a nice input class that handles anything besides joystick, look http://dsource.org/forums/viewtopic.php?p=3774#3774

: )
Back to top
View user's profile Send private message AIM Address
h3r3tic



Joined: 30 Mar 2004
Posts: 261
Location: Torun, Poland

PostPosted: Wed Mar 16, 2005 3:17 am    Post subject: Reply with quote

I'll try experimenting with command line tools...
As for the input handling... I've already got it Very Happy

I can do:
Code:

with (engine.input)
{
    keyHandler   ("k_escape", delegate void(KeyState s)    { engine.quit(); } );
    vectorHandler("mouse_x",  delegate void(float delta)   { cam.yaw(-0.2 * delta); } );
}

and such...

Later I'm going to have input binding in config files, thus the textual input identifiers...
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> FragBots All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group