It's a Wesnoth Wednesday...
It's Wesnoth Wednesday! What's Wesnoth, you ask? Besides a free turn-based tactical strategy game which is open source (C++), cross platform (there's even OS2 and AmigaOS4 versions) and yet compiles pretty easily in Visual Studio 2008/2010?
The Battle for Wesnoth is a turn-based tactical strategy game with a high fantasy theme.
Build up a great army, gradually turning raw recruits into hardened veterans. In later games, recall your toughest warriors and form a deadly host whom none can stand against! Choose units from a large pool of specialists, and hand-pick a force with the right strengths to fight well on different terrains against all manner of opposition.
Wesnoth has many different sagas waiting to be played. Fight to regain the throne of Wesnoth, of which you are the legitimate heir... step into the boots of a young officer sent to guard a not-so-sleepy frontier outpost... lead a brutal quest to unite the orcish tribes... vanquish a horde of undead warriors unleashed by a foul necromancer, who also happens to have taken your brother hostage... guide a band of elvish survivors in an epic quest to find a new home... get revenge on the orcs by using the foul art of necromancy...
There are at least two hundred unit types, sixteen races, six major factions, and hundreds of years of history. The world of Wesnoth is absolutely huge and only limited by your creativity — make your own custom units, create your own maps, and write your own scenarios or even full-blown campaigns. You can also challenge up to eight friends—or strangers—and fight in epic multiplayer fantasy battles.
- Build up a formidable fighting force, starting from a single leader and a small amount of gold.
- Over two hundred unit types in six major factions, all with distinctive abilities, weapons and spells.
- Experienced units gain powerful new abilities as they advance.
- Several multiplayer options available, including Internet play.
- Scores of different custom-designed map and unlimited random maps.
- Hundreds of campaign scenarios available for download through a simple in-game procedure.
- Fog of War feature available for a true test of generalship.
- Sophisticated markup language lets advanced users make their own maps, factions, or campaigns.
- Excellent language support — 35 different languages currently available
The Battle for Wesnoth is a Free, turn-based tactical strategy game with a high fantasy theme, featuring both single-player, and online/hotseat multiplayer combat. Fight a desperate battle to reclaim the throne of Wesnoth, or take hand in any number of other adventures... more »
The development team is proud to release version 1.10 of The Battle for Wesnoth. We really hope you enjoy Wesnoth 1.10 as much as we enjoyed creating it. You can learn more and read the in-depth, translated release notes »
Yeah, yeah, okay, where's the Dev, the Coding, stuff?
- Coding Guidelines
- Library documentation
- http://www.sgi.com/tech/stl/ - Standard Template Library
Tools and Packaging
- Supporting Websites
- Compiling and Building
- Packaging and Releasing
- Doxygen - Documentation generator
- More stuff
I want to start coding, what can I do?
- EasyCoding - Bugs and features that are easy to implement for new coders
- NotSoEasyCoding - Bugs and features which are doable but lacking someone working on them
- FrequentlyProposedIdeas - summary of past often-repeated forum discussions
Game - Create content
- BuildingScenariosand related useful forum discussions:
Browse the code
There are currently two main streams of development: trunk (1.9.x) and stable branch (1.8.x). Most other branches are only used for a short time to do some testing without disturbing the main development. You can use your web browser to navigate through the source code:
To check out trunk into a directory wesnoth (about 400 MB to download and 960 MB disk space, including .svn dirs, required as of March 30th 2009):svn co http://svn.gna.org/svn/wesnoth/trunk wesnoth
Or, to check out the 1.8 branch (about 400 MB to download and 960 MB to store on disk as of March 30th 2009) into a directory wesnoth-1.8:svn co http://svn.gna.org/svn/wesnoth/branches/1.8 wesnoth-1.8
More info on the repository: https://gna.org/svn/?group=wesnoth
Compiling Wesnoth on Windows (2)
Definition: wesnoth_root, is the folder that contains the checkout of the trunk. The folder should contain folders like: data, doc, icons, packaging, projectfiles; and files like: COPYING, CMakeLists.txt, README.
This method is based on Crab_'s method ^. But, instead of using cmake, we will use the original/manually updated project file. That file is in: wesnoth_root/projectfiles/VC9/wesnoth.sln or in wesnoth_root/projectfiles/VC10/wesnoth.sln. It depends on what Visual Studio are you using. MSVC 2008 is VC9 and MSVC 2010 is VC10. Based on your current IDE just the specific path. If it's written VCx, that means that it doesn't matter/depends on what version you're gonna use.
Download the archive containing all required includes and libraries:
So we've gotten the source, the externals, setup the Project's Inc/Lib folders, lets take a peek as the VS10 Solution.
Four projects, doesn't look too complicated...
Let's look at the primary project.
Okay, I take it back... This isn't some simple little game, but a major, complex and complete creation. The 1.10 branch alone, post download and build is over 2.5GB (which includes externals, source, binaries, assents, media, .svn files, etc.)
Yet as complicated as this looks, following the compile guide, I was able to get this setup and compiling very quickly. The first compile took a while (as in go have lunch, a while), but it compiled the first time with no errors. A few warnings, but no errors.
And once compiled, ran the first time...
If you are an aspiring game dev and want to check out the the source for a real game and/or looking for someplace to begin your game dev contributions, well let the Developing for Wesnoth begin!