Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 07 Jul 2012
Offline Last Active Jul 10 2012 08:22 PM

#4957062 Doubts and Motivations

Posted by on 08 July 2012 - 05:02 PM

I mean doubting could actually be realistic and maybe I should spend my time finding other ways to make money.

Doubt can be a healthy emotion. I would suggest, compare whether that doubt is a doubt of your game concept, or a doubt of your ability. If you doubt your ability, then "learn up", easily solved. If you doubt your game concept, then maybe you are onto something. Maybe your game needs an element or two that you haven't considered, and without those elements, the concept lacks. That's a healthy thought to have, and doubt may lead you to creating a better concept.

Think of games you enjoyed. Consider what made those games fun to you, down to those small elements. List them all, write them down. Then see if any of those elements fit into your game in some other form. You may find that one or more of those "fun aspects" fits, and could multiply into other related elements that bring overall fun.

Just some thoughts.

#4956727 Server Side Programming

Posted by on 07 July 2012 - 02:09 PM

My goal is to keep the server load to a minimum, which means a few design decisions that make sense at the moment, but server stuff is a little new for me, so please feel free to tear holes in these decisions and/or enlighten me on issues I may have missed.

Second, it seems like doing all battle calculations client side and then sending the results through the server to the other client would cut down the server load, and also simplify it so that I am not reproducing core C++ game logic in ruby on the server. This would probably work as follows, client A performs an attack that effects units 1 and 2 in the battle field, upload the attack name and the effects to the server. Client B checks the server and pulls the info, then simulates the attack, but in reality just applies the effects that client A uploaded. Rinse and repeat.

Since this sounds like it's not a web-based game, I'd suggest developing/implementing much of the game logic in C++ on the server, and abandoning using HTTP and web scripting for this. Server-side may be new to you, and writing a multi-threaded server with game logic may be a difficult undertaking, but it achieves the best results. It's pretty fantastic the first time you connect to your own game server from a mobile device, or from any game client for that matter.

I have done some development on Android; for game lobbies and player authentication we send XML-based messages over a SSL/TLS layer to our own server; for turn-based we also use XML, and for live games we marshal game updates to/from the server in whatever binary format we want. We use Linux for our servers, and choose arbitrary ports for clients to connect to. In all cases the connections are live and interactive, unlike HTTP which requires you to present session data for each request and doesn't really give you simple bidirectional communication that is used in games.

As long as the server makes the important decisions and the client just sends the player's intentions and presents/displays/animates the results, you can limit or prevent cheating. If the client can be modified to make better decisions or precise calculations for the player to their benefit, then even in the best scenario, a player can "cheat". If the game is designed such that there is no perfect or precise decision for a modified client to make, then you can effectively prevent cheating.