Evolution Forge 2
Update
by Clemens on Apr.18, 2011, under Evolution Forge 2, Programming
In the last weeks I have completed the sound integration (music and sound effects, marvelous!) and completed the basic GUI including internationalization (german and english for now). Buttons are already working, here and there are still some issues with transparent graphic objects but all in all my main task is now to design the interface, especially to assign proper coloring to all GUI objects. I also have to write an editor sooner or later, editing XML files by hand becomes difficult when you are dealing with inter-related tables… Let’s hope I can finish these things quickly so that I can get to re-implementing the evolutionary algorithms. According to my plans this should start in July. My current status:
- Audio
- Build
- Core
- Games
- Geometry
- Goal
- Gui
- GuiCore
- Lang
- Main
- SDL
- Simulator
- UI
– FMOD/SDL_mixer support
– Evolutionary algorithms, processing of the building queue
– Rules, Units, Locations etc.
– Game Rules (finished for StarCraft)
– Coordinates, distances, Rectangles, math
– logic to handle user defined goals, finished but needs some testing
– Logic for GUI elements (window, buttons etc.)
– Data elements describing gui objects (colors, size, animations, bitmaps etc.)
– Internationalization, dynamic text elements, parameters
– Startup code, main configuration
– Drawing, refreshing screen, calculation of parts of the screen to update
– Main simulator program, executes the game rules and the building queues for all players
– Need to be refactored to new architecture
All in all ~50k lines of code (2,5mb) and about 0,5mb XML files. Looks good!
Features of Evolution Forge 2!
by Clemens on Feb.22, 2011, under Evolution Forge 2
Leave a Comment more...To keep you updated…
by Clemens on Feb.08, 2011, under Evolution Forge 2
The number of code lines now has grown up to 45k. I’ve included the existing GUI engine classes, although there is still a lot of work to do to make all components work together. I’m kind of proud of the new business data system, although you won’t actually see it when the product is finished ![]()
The architecture is now mostly completed, next in line is testing the GUI and making some basic applets to show you that something is going on, then I will concentrate again on the actual core, the calculation of the build orders. From then on everything should go very smoothly. Because of the solid code ground work I laid down the last 12 months development will be a pure joy
Stay tuned and be patient!
5000! :)
by Clemens on Jan.02, 2011, under Evolution Forge 2
EF2 just breached the 5000 lines of code barrier
The core is now polished and complete with smart pointers and a small data base management for loading and saving. Now it’s time to fully implement the StarCraft rules into the new data structures and run a few tests to improve the building algorithms.
After that I either complete the implementation of the AI / genetic algorithms or start full steam ahead with porting the old ClawGUI to the new coding standards I have created
Progress :)
by Clemens on Nov.21, 2010, under Evolution Forge 2
I’ve just finished implementing the core algorithm for handling of goals. Basically it constructs a tree based on the given goal units’ properties, their requirements and the starting units. I still have to complete the tests for the new module, but as far as I can see it’s working.
Next step is the representation of the genetic code and the mutation function. After that I need to finish the simulator and a first (text-based) run could be started
As soon as everything is working I can start with the user interface. In addition I’ve set up a proper linux build server (SVN, hudson) which makes things easier and more professional. The source code is regularly rebuilt, backed up and tested with a different compiler and target platform.
Take care and be happy
Things are going well :)
by Clemens on Nov.03, 2010, under Evolution Forge 2
I’ve completed most of the (data) design of the core components and am now rewriting the game database for some first preliminary tests. I’ve expanded the flexibility as much as possible so that EF will hopefully support a whole range of different games, maybe even business applications
But there is still a lot to do, I haven’t decided yet on the user interface and the whole artificial intelligence part has to be adapted.
Stay tuned!
Progress, Progress
by Clemens on Sep.23, 2010, under Evolution Forge 2
The production is going on smoothly thanks to my new programming environment and new programming techniques. I’ve just finished a major milestone in the Evolution Forge 2 project. The core module is up and running. With “core module” I merely mean the module of Evolution Forge 2 that handles unit types, movement, building queues, data serialization (loading/saving program states) etc. It still needs a little more testing, but after that I will start with the new GUI
The final step after that will then be to reprogram the evolutionary algorithms, I’m looking forward to that!
The only big question about the GUI is whether I should throw away my beloved “ClawGUI” and take a generic GUI like QT, whether to move to a web frontend or stay on course with my own GUI. Oh well, that’s my task for October.
Take care and happy autumn!
Progress
by Clemens on Jan.06, 2010, under Evolution Forge 2
More progress on EF2: There is still a lot of work to do but the base engine of the user interface *compiles*
Now I’m updating and fixing the Core, i.e. the game simulator (the part that simulates StarCraft, WarCraft etc.)… kind of a mess because in EF1 I installed a lot of optimizations… but at least I’m seeing some progress
Next step complete :)
by Clemens on Dez.21, 2009, under Evolution Forge 2
I’ve just finished the optimization of the redrawing. Now only those parts of the screen that really do need a redraw are redrawn. There is still some slowdown with large number of moving elements (>100) but I think some sorting and a little inaccuracy (i.e. redrawing more than it is needed but saving lots of calculations) will do the trick. Besides I’m programming a GUI, usually there aren’t so many moving parts
Well, at least in non-fancy applications ![]()
I need to do some additional work for those “rounded corners”, which can be problematic (well, basically it’s a transparent corner), but other than that it is ready to be connected to the Evolution Forge engine. In January I will then start with updating the Core. As soon as the SC2 beta is out I will implement the game et voila, EF2 is complete. :>
Current developments
by Clemens on Nov.25, 2009, under Evolution Forge 2
Currently I’m continuing the development of the graphics engine of Evolution Forge. I’ve separated it into an own library and created a proper interface. Now I’m making some adjustments and bugfixing. I hope this will serve as a nice base for some future programs
My plan is to recreate and then complete some of the prototypes I’ve developed over the years. Besides “Evolution Forge 2″ I really want to retry programming a “Tierra” clone, my last attempt a few years ago didn’t have enough CPU power for any evolution to be visible and I guess it was programmed in Pascal… oh well, we’ll see.

