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