Is this RTS engine pitch to Freelancer good?

Posted on 2014-10-04
Last Modified: 2014-10-16
Many of you know I am making an RTS engine in Python.
I am doing okay - certainly on game setup, - I can get it up to just before server loop.

But, I am overwhelmed by errors I can't trace. As my first Python project, and needing to make an RTS, I know I'd do
 better if I had a complete and error free server and client engine from experienced people.
I am outlining a project for
What changes are crucial in my outline below?

I’d like experienced games programmers to create an invulnerable RTS engine for me in Python for potentially huge games. - Like 5, 6, 7,8,9 FFA, ( and big x  vs. x) like in Blizzard, MS games, How many players realistically is MAX?. There are many coders out there that know this front to back.
I’d also like the Client class to be abstract, so that I can create an abstract method, ‘ClientProcess() ’ to be called the instant the new client game state is updated and processable. The Client will have various ‘move’ methods to control units. I need the servers to be stored on my machines to disallow map hacking. Only valid vision must be sent to each player of the game-state. A terrain like Starcraft 1 would be desirous ( data structure wise) 3-D would be too ambitious.
I have client joining and pre-game working on client and server, and need it to be absolutely perfect, but from experienced minds for the transfer from pre-game into in-game server activity and client handling. The server must have a TCP and UDP link for each client, and,
1) client actions are sent to the server via UDP, be it an action or an empty cycle.
2) The game state is maintained and updated accordingly per cycle on the server.
3) The server sends to the clients the encodings of their visible units’ movements, activity, + newly visible units for that client’s vision.
3) The server sends periodic TCP complete-visible-game-state updates to the clients to guarantee synchronization.
4) Once the server receives a datagram per cycle from each client, a ‘ServerProcess()’ method can be called to include these client movements into the game cycling on the gameState Object.
So, There must be a gameState class in the server that can be updated every cycle with the passing in of client activity datagrams to be enacted on units, e.g attacks, moves, constructions - also, it is in this class how the game-state is maintained and incremented on the server. No hackable, useful data must exist on the client, only valid vision (e.g for a visual game window) 
5) En-Masse MPG unit moving on screen over terrain, with melee or ranged engagement would be a desirous demonstration of functionality. (This must be a window that extends the client class and updates the frame when the abstract ClientProcess() method is called after the new game-state is acquired. As my first serious Python project, but not first RTS, I don’t want to waste time making mistakes that are beyond repair in this complicated a situation.

Open in new window

Question by:beavoid
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 60

Accepted Solution

Geert Bormans earned 250 total points
ID: 40372492
Maybe this is not what you are looking for on this technical forum, but here is some advice on posting projects on in general, since
- a lot of the freelancers on are students who think they can learn the programming language at hand whilst doing the project
- a lot of the freelancers at are dubious companies that take any project and you won't even know who will be doing it
This seems like an interesting and rather big project, so make sure you get the right person, because you are going to attract a magnitude of wannabes.
(I keep on communicating about this with, but there is little they can do about it)
- ask for a proof of experience (code maybe or other similar projects they have done)
- ask details about their background, professional, student, independent, team ...
- sneak in a visual marker in the project description (such as 'put the word banana somewhere in your bid') to filter bids of people that haven't even read the project description (if you have a high price project, up to 60% easily bid without reading!!!)
- get rid of amazingly cheap bids
- check the star rating, but be aware that high ratings are sometimes for teams, not for individual developers and I have encountered teams that pushed eachothers star ratings up artificially
- make a project timeline, if they miss the first milestone drop the project and make a repost or you will never get results
- make it clear that the first deadline is crucial
- make multiple milestones, only pay a very small initial milestone (10% or so) and agree that you will use the milestone mechanisms for pheses in the project, release one after actual delivery of a first part
- protect yourself against developers that run away halfway by making them deal with the hard stuff early on

But importingly. It could be you like the acrewal system of to have a safe environment for outsourcing development (it is a good system if you are getting the right people). You could consider approaching some of the good Python people on Experts Exchange here to do the project and invite them for a bid on the real good freelancers are often here!

Good luck
LVL 80

Assisted Solution

by:David Johnson, CD, MVP
David Johnson, CD, MVP earned 250 total points
ID: 40372613
have you mapped out all of your storyboards, do you have all of the characters and rules set out.. it appears you are making a multiple player game.. have you got the front end (client side) at least in a working state? Where are the bitmaps going to be held (on the server) or on the client.. do you have any client/server experience? remember the BBB rule.. and be wary of it.. BS baffles brains.. You do have to set timelines and try to stick to them.. You may need to assemble a team and possibly a team manager.. Don't expect this project to be cheap  you may need venture funding (but without a track record it will be difficult) but maybe kickstarter can help out.. I think you need to do a lot more planning first.

Author Comment

ID: 40373129

The bitmaps are going to be in my domain's file system   ../graphics/tank.gif

I have a lot of server experience.
I have made a political blog.
I did an RTS in my final year, though it didn't keep the game state on the server, which is my main change this time. That will be working soon, and I'd just like experienced eyes to give me a definite 'yes' on its complete correctness.
There is an expert on EE who makes RTS's as a pro. I might ask him for a look see, because he'd have no reason to steal my code? - if they have working networking code, already...
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.


Author Closing Comment

ID: 40383585
Thanks, everyone

Your comments here,
along with a blatant instruction from another expert have made me realize that anything other than doing this * entirely * by myself w advice and guidance here, is a bad idea. If I come to a block, what I learn from each dead end, starts me off better and better each time.

I am very confident I can get this done.
LVL 60

Expert Comment

by:Geert Bormans
ID: 40383680
I did not really want to push you away from (don't get me wrong, there are really good people there too), just warn you that in order to be a succesful employer on that forum, it takes a lot of preparation and a very selective mind :-)

Anyway, let me wish you good luck with tackling this yourself
(and I hope "blatant" was not refering to me :-)

Author Comment

ID: 40385675
Btw, some of the graphical artists there are amazing, and I think would not want to mess up their reputation.
Until now, I have done my games graphics in M S paint type quality. I'd bet the freelancers for artistry are trustable compared to my coding situation. I could never do anything close to their skill.  ?
LVL 60

Expert Comment

by:Geert Bormans
ID: 40386076
very true, I also have some nice graphics done by freelancers. But again, I also have some very good coding done by freelancers... you just need to get the right ones ;-)

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
collection output issue 9 66
Generate Unique ID in VB.NET 21 104
Visual Studio hangs on running project 6 62
Permission on folders 6 24
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
This is about my first experience with programming Arduino.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question