1. SpeedSim was, at this time, the only open source ogame simulator that I knew, with only one little problem: it was targeted for Windows architectures, but ran perfectly in wine on Linux. Among the other things that made me uncomfortable with this software was the Graphical User Interface: a Command Line Interface was sufficient for the users concerned with osim (Linux developers and/or sysadmins). Thus the programing language used ( C++ ) was no more suitable for the command line implementation. I rapidly concluded that a re-implementation from scratch was my preferred solution (at least, the most fun from a developer point of view).
     
  2. Doing faster (or believing so) and differently than SpeedSim
    My first thoughts on the Speedsim's implementation were criticism against the vector representation of ships in an army. One cell of an array, per ship, was, in my humble opinion, a bad thing for memory, moreover, if we wanted to develop massive armies. But I had temporarily forgotten that "premature optimization is the root of all evil". And a couple of days after having tried a proof of concept of another army model, I understood that the vector choice of Speedsim's developers was a good idea.
     
  3. End of the simulation, beginning of the guess mode
    One week after the first working implementation, I decided to re-use my old-fashioned genetic algorithm implementation to find the best army opposing a chosen defender or attacker, and from this time, to the end of the development of osim, the efforts were essentially aimed on the details of a fight simulation (adding recycling, fuel consumption), that continuously increased performance of the guess mode: When one simulation's issue was more precise, the results of a genetic algorithm running thousands of simulations were more reliable as well.
     
  4. Genetic algorithm and Multi-threading
    At the end of the development cycle of osim, among the contributed changes to the genetic algorithm from a small project that I did, was the introduction of multi-threaded pool to compute the fitness of each individual of the genetic population. And as I coded under 64bits architecture, I've also fixed many issues related to primitive sizes and sign...
     
  5. Greetings
    Thanks a lot to Ze and KURGAN that were the best bug reporters of all times
     

    Back to TOPP

    If you have any interesting news in regards to OGame, please submit