Search everything OGAME with Google  >>>>>  Google Custom Search

OGAMEBLOG.COM

Don't forget to BOOKMARK

Home
Calculators
Cheats
Tools
Tips
Dictionary
About OG
Video
Pictures
Skins
News
Pranger
Store
Site Map
 
OGame
OG Forum
 
Contact

 

THANK YOU FOR YOUR DONATION

Donations will be used to pay for server upkeep and maintenance. Thanks Again.


OGAME TOOLS

OGAMEBLOG.com tools for ogame


OGAME CALCULATORS

ogame simulators ogame CALCULATOR


Video Game Overuse May Be an Addiction

Swedish OGame Strike

OGame Money (dark Matter)

OGame Cheats & OGame on Wikipedia

Interview Seth Iorio

3GSM: IbxGames Launched

Gameforge Getting a Boost $$$

OGame goes mobile

OGame beats WoW in Europe


OGame OGameblog can help with OGame Play

Advance Options Script

 OGame script which adds useful and configurable features to the game


Ogame Dictionary


 

Ogame gif banner

 

 I came across a good question and answer on a forum ( experts-exchange.com ) about how OGame works.

 

Question:

    " I would like to know how was OGame created, what web language, database and how to make something similar to work, just the concept of how does OGame create the users, fight against other players, etc.

matt "

Ogame works

Answer:

    " I don't know much about this game as I just browsed their site upon reading this question.

However, to answer your question to pure browser based multiplayer games you can do a number of things!  I'll address the concepts in order of complexity in implementation.

You asked as to what web language.  This is a simple question with a simple answer.  To do real time interaction you will need a balance of Client side processing via JavaScript or ActiveX implementing something we all know and love called AJAX.  ((Each of these things you will need to further research on your own or ask a question dedicated to the topic and I can help you further.  But for a 125 pt question I cannot explain each topic or I'll write a book))  Those languages are your client side power house!  That will be what does all client side rendering, real time animations, and server response parsing / display.  

Secondly to do any real time movement / interaction you do NOT want to be obsessing over Database transactions.  Think... Every time you do a single action you have to check if the DB table you want to update is locked, then lock it and make your update finally unlocking the table and gathering any new info you need.  This is a terrible way of doing interactive real time browser games.  You will want to use a cool little feature called Application Cache.  Read away about what it is if you feel the urge.  The simple idea behind application cache is to store things on the server so every session can access the same memory bank.  You can offsite cache as well but you lose many of the benefits you gain from using cache.  Just remember... when you go out to do other transactions you are eating up a lot of processor time as well as blocking for a response... Can we say LAG!  Server memory is the only way to do it and do it well.

*thinks*  How it was created... duh... lots of time!  Many people underestimate the work that goes into making even the simplest of online browser based games.  There was much blood, tears, and sweat poured into this game.  A lot of research, and a lot of code!  It takes a very diverse coder to be able to pull off highly interactive games... You need to understand load balancing, game play balancing, client side scripting, server side scripting, database transactions and their cost, and storage mediums.  Personally I reccomend C# and Javascript for any form of interactive stuff like what I see regarding OGame.

As for the logic... if OGame has AI's you need to think about fuzzy logic, determinanant and indenterminant logic as well as personality traits... AI's best friend in gaming is random numbers, stat's and chance.  Remember that!  As for player interaction the idea falls back to application cache...  A player makes a move against another player that is stored in app cache... then the client of each player polls the cache to figure out what is up... wala!  Message passing... think about it as an async enviroment where you have parallel threads and you need to pass messages back and forth... Simple concept... intermediate to implement.

Here is the top level set up of any browser game.

Long term storage is the back bone of the entire game.  After a session time out anything regarding that user is removed from App. Cache and stored back into the database.  Same when a user logs in... anything in the database is loaded into application cache and they can start playing.  App. cache is the main driver for any information passing in the game.

AJAX is what allows the browser to communicate with the server without that annoying post back that you get in 99% of web pages out there.  AJAX is a method of transporting XML messages from a browser to the server and the server to reply all while the user still maintains control of the same browser window!  Amazing don'tcha think?!

As for everything else of the game... that is 100% imagination.  The developers and storyboard geniuses sat around for days on end comming up with a concept for a game more than likely before a single line of code was written.  Then after they knew what they wanted to do... they started getting their fingers dirty coding away.  But the programming concepts behind Multiplayer games is a simple one... it's only threaded processing!  All other concepts are purely up to the imagination of the author(s)

Do you have any more pointed questions or were you just looking for a global... how do you do this?!

~Aqua "

 

 


Do you know how OGAME works?

Your Name / Nick:

Your Email (optional):

Your Comment:

 


OGAMEBLOG.COM works best with Firefox, & screen resolution 1280x1024

 

 

The Content of this site is  © 2007 OgameBlog.com   All Rights Reserved