www.kakupesa.net

Download Report

Transcript www.kakupesa.net

The Battle for Wesnoth
as a teaching tool
Kaido Kikkas
Institute of Informatics
Tallinn University
The Battle for Wesnoth

A turn-based, fantasy-themed strategy game

Founded by David White in 2003, now at v1.4.3

Influences: Master of Monsters, Warsong

Fully free and open-source software under GNU
General Public License

Cross-platform (Linux, MS Windows, MacOS X)

Both single- and multiplayer

Available in 41 languages (the scope varies)

Extensive and active community at wesnoth.org
Basics


Played on a hex map with several dozens of
terrain types (influence movement and defense)
Hundreds of units in various (6 in default era)
factions, each with distinct strengths and
weaknesses, 2-5 levels (mostly 3), movement...

Day and night cycle vs the unit alignment

Economy based on gold, generated by villages


In campaign mode, surviving units from
previous scenarios can be recalled
Missions may vary greatly (even if destroying
enemies is the most common one)
OK, but what does it have to do with
teaching & learning?



Homo ludens :-)
Similar to teaching web design – should give
three kinds of skills:

Technology: coding (programming)

Design: artwork, maps, overall aesthetics

Content: scenarios and campaigns
Compared to web design:

Technology is more prominent – includes eventdriven programming in addition to markup

Content is more affected by the other two (or vv)
Two cases up to now




Autumn 2007 – TLU IMKE Master students,
mostly with no or very basic programming skills; 6
persons (two teams of 3) participated
Spring 2008 – TLU third-year computer science
students with adequate to expert propgramming
skills; more than 20 people (5 teams of 3-5)
completed the course
Two rather different sets of people - yet the
course worked in both cases
The point of the courses was not Wesnoth, but
the open-source way of development
The ideas behind Open Source

Roots in the hacker culture of the 60s

Richard M. Stallman, the Father of Free Software

Linus Torvalds and Linux




Eric S. Raymond, The Cathedral and the Bazaar
(Note: he is also an active contributor to Wesnoth)
The avalanche grows: LAMP, GNOME/KDE,
OpenOffice.org, Moodle ...
Not freeware: the zero price is not the point
The point is in collaboration, community, peer
review and flexibility
What can be taught with Wesnoth?

Storytelling and expression, overall creativity

Graphical design

Animation

Markup (a possible step before moving to
XHTML, XML, AJAX etc)

Event-driven programming

NB! Easier to 'sell' to non-technical students!

The good thing is that these can be mixed and
balanced according to the audience, allowing a
good range of accommodation
Campaign building

Write the storyline, design major events and divide
them into scenarios

Choose/build units for main characters

For each scenario

Design (objectives, events)

Draw the map (considering terrain and starting points)

Choose units and recruitment scheme

Code the scenario

Code the campaign summary

Test and balance
Storyline



Wesnoth has its own fictional history
(http://www.wesnoth.org/wiki/History_of_Wesnoth)
as well as geography:
http://www.wesnoth.org/wiki/Geography_of_Wesnot
h
On the other hand, several interesting attempts have
been made to base totally different storylines on the
Wesnoth engine
Eric S. Raymond has written the Wesnoth campaign
design How-To:
http://www.catb.org/~esr/wesnoth/campaign-designhowto.html
Wesnoth map editor
Wercator map converter




By Brennan Sellner
Converts Wesnoth
maps to fancy
graphical maps
A plugin for GIMP
Available online at
http://www.sellner.
org/wercator/
Units




Several hundreds are available, distributed under
different eras (historic sets)
At first, choosing among ready-made ones is
more than enough. The unit list for v1.4 is at
http://www.wesnoth.org/units/1.4/C/mainline.html
To create new units, tutorials are available at
http://www.wesnoth.org/wiki/Art_Tutorials
In the newer versions of Wesnoth, multi-frame
animations, shadows, different view angles etc
are used, making unit design quite complex
Wesnoth Markup Language

Rather similar to XML

Tags written in the form of [tag]

A typical scenarion consists of

Various metadata in the beginning

Storytelling part explaining the situation

Map data (can be included, but is typically linked)

Day/night cycle and difficulty specifications

Prestart part (definitions of sides, objectives etc)

Event-based buildup for the scenario
WML...


Can be very simple, but allows for really
complex operations (changing units and terrain
on the fly – e.g. a character can be magically
turned into a monster or a cave wall may open
under a spell or password; events may also
depend on if a character from a previous
scenario is alive etc etc)
Teaches good structure (opening and closing
tags, correct use of parameters) as well as 'the
big picture' (campaign level)
Examples



A demo campaign I started to develop in spring
A crazy story which involves a lot of famous
characters from various tales and also some
celebrity-based people (including a Finn...).
Will gradually feature more complicated
techniques, the 2 existing scenarios are quite
simple
Final words



Wesnoth is a versatile tool for teaching a
number of things
Fully open in nature => may be used to develop
new things without messing with the 'IP' stuff
Sometimes people learn better from playing :)
Thanks!