Jump to content
  • Advertisement
Sign in to follow this  
tourb3x

Unity Guidelines for creating a CRobots clone, an AI bot game for programmers

This topic is 1959 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi,

 

Before proceeding to my question of interest, I would like to congradulate and thank all the people participating in this invaluable community. I have never been an active member before, however reading though GameDev.net has helped me a lot at times.

 

I will shortly introduce myself inorder to help you with your answers. I have MEng in Electrical and Computer Engineering and I have more than 10 years of experience in computer programming and problem solving. I do have proficient skills in C/C++, C#, .NET, x86 assembly, Win32 API, Multithreading, GPGPU, and others. I do have significant experience in Computer Graphics programming using OpenGL and DirectX at an intermediate level but most on my 3D programming was not applied in game programming but either in science or commercial engineering software. I also do have solid knowledge of Linear Algebra and 3D Math used behind the scenes in Computer Graphics. I have developed some simple games with simple 2D graphics in the past for PC and mobile (PalmOS at that time). However, as many programmers, I lack knowledge and experience in digital arts (modelling, texturing, etc).

 

Despite my scientific background, Computer Graphics and Computer Games have always been intriguing to me. Apart from creating a game from scratch, I find game modding and botting (Artificial Intelligence) really exciting. Lately, I feel inspired by the, old indeed, game CRobots. In case you never heard of it, it is a game designed for programmers. The programmer is required to write a computer program (bot) that controls a virtual robot with the ultimate goal to be the only survivor inside the game arena. At each highest level, the idea is similar to creating a bot for the latest commercial games available, with one significant difference: Usually botting a commercial game is illegal and the bot writers are hacking around the game in order to automate the bot's tasks. On the other hand, in a dedicated game for bots, information suchs map, enemies on sight and other game state variables would be available using an official API. This gives greater flexibility on programmers interested solely in Artificial Intelligence to try their skills against others. In my mind, a modern programming game on this concept, would be based on a client server model with the server running the core simulation of the game, and the client consisting of AI code and a viewer.

 

Hopefuly you didn't loose your patience so far and can continue reading to my question. Given the general concept above, my solid programming background and my lack of knowledge in digital arts, based on your game developing experience, which way should I be heading ? Based on your experience, what should be the game engine architecture ? Would it be possible to use any freely available game engines and modifying accordingly ? Is it possible to complete the project as a game mod ? How can network latency be tackled ? Is the method you propose able to integrate seemlesly with the network layer of a game engine ?

 

I am willing to devote some effort to develop some visual arts skills as needed by the project for intermediate visual results.

 

I am looking forward to hearing your comments.

 

Thank you very much,

tourb3x.

 

PS: A more comprehensive list with similar games to CRobots can be found here: http://stackoverflow.com/questions/25952/best-programming-based-games

Share this post


Link to post
Share on other sites
Advertisement
You seem to have a nice resume, but to put it kindly, you don't really need to say such things on a site like this. Anyway, your concept sounds interesting, but when I think about your project, I wonder what you will be focusing on in your development. First, programming these bots seems to be the focus of your project. If I were you, I would find an easy 2D engine and just build your basic concepts. A top down 2D engine with just circles as objects should do the trick. Then you'll need to find a way for the gamers to write the bots. Will you use a scripting language? There are some nice ones like Lua and AngelScript. If you can do that, next you can look into making it multiplayer. I would add 3D last as your core game is writing bots.

This site has lots of useful articles. You should look around. Also, you can search the forums for more information.

I hope this helps you.

Share this post


Link to post
Share on other sites

Latency can be solved by uploading the robot to the server of the person holding the contest. Many small contests can then store the robots that have won a lot for others to fight against offline. Fixed step physics is important for AI consistency so that no bot is better or worse at a certain frequency. You also need to allocate timeslots for the virtual machines running the robots so that efficient code get a faster reaction like in real life and don't cause the game to hang because a robot hangs.

Share this post


Link to post
Share on other sites

Thank you for your replies.

 

In my mind writing those bots would be in an arbitrary language in a way that different programmers can program their bots in their programming language of interest. A network interface based on TCP/UDP would be used to interact with the server. Thus, in this scenario network latency needs to be hidden in a way that is applied in modern multiplayer video games. I would appreciate any help in this direction. Do any of you have any recommendation on specific (maybe free) 2D game engines ?

 

Thanks a lot.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!