Just letting you know what's going on behind the scenes And this is just a spare time project that is done somewhere between everything else and World of Warcraft when motivation strikes hit... (It may never complete at all but i think its idea worth mentioning)

Inspired by good old Total Annihilation, Settlers and Mmorpg network gaming styles, this is small game, a futuristic realtime strategy game with massive forces in player control. I would make it for single to upto maybe 8 players AI or human controlled players. Games would take place in a world that is saved on exit and continuable upon start. Idea is to have a huge map, now imagine largest possible map in Starcraft that is 256x256. This game would have that size times 10. Max unit counts per player are likely set for 30000 or more, they decide whether those units are all buildings or other units.

Using Next3D (and maybe some from old Tlib) that is my own OpenGL graphics wrapper and function libraries. dglOpenGL 1.8 beta?, WSockets 1.20.

How is it possible to make massive forces, consisting of thousands of units and buildings and then synchronize it all through TCP/IP? Now, as i don't have a technical test ready yet its in theory level. Lets put security aside and think of this as a small game for some fun wanting people. The game server or client will never send a single tcp packet holding information on unit location, bullet shot or resource gained etc, its all game engine. When i draw a rectangle over 1000 units i see on my game client, i will not transmit what those 1000 units are to server. Instead i send cursor coordinates and camera position. Additionally i can click a single unit when i can send that unit ID. (There are numbered unit groups to ease selection aswell.) Server gathers data in its pace and in timed intervals (perhaps every 50-100ms) send all clients order to increase tick. This tick is key to synchronizing everything. All physics and movement are calculated on both server and client side. When that selection comes to server, it transmits it back to all clients including the sender. This is when sender and all other clients get to know what that player has selected and next command through server might be order for that selection to attack.

Edit: However, if someone has plan to make a cheat, it will only effect his own client. Other clients will see the cheating player play stupid and only he just becomes non synchronized. Cheater might not get all his commands through when server thinks unit he is commanding may not even exist.

Now, during the ticks is the animation. Any command that comes from server during that time is executed when tick changes, same tick every client. Clients send a reply for receiving each tick so server will know if they are lagging behind, halt game and resend until players match. Because games are done in small friend networks it is acceptable, alternative to store all data from during lagspike to server side can grow big. Or third alternative to completely send the whole game situation to new guy is a little stressful. New players can perhaps join midgame but should game pause then aswell... Small problem here is to animate movement during ticks, it may require a little interpolation or not, but i have math functions ready for all of that anyway.

Ideas for game itself (lots of things from Total Annihilation sound sweet):
- 2 cybernetic races evolved in 2 distant galaxies, annihilated their biologic creators and expanded in numerous star systems, collide to gain control over universe
- Air and ground forces, big starships
- Workers
- Buildings, these have a number of workers assigned to them that automatically move to the task
- Construction use materialization tech to create units from atoms using resources and energy
- Defensive and very offensive turrets designed for quick and creative annihilation for short to whole map wide range
- Shield generators for base defence using energy available
- Propably power lines

And because the tick system is all theoretical so far, my worst fear is tick system that would make delay unplayable. But i hope for best and maybe find some support here And if it works it would be unique first one of its kind multiplayer rts game that noone thought was possible to build.

Edit: First ship prototype made on my own modelling program:
http://i42.tinypic.com/2d83o8n.jpg