This web site is no longer maintained.
Educational engineering guide
This guide is intended for teachers who have chosen to integrate Prog&Play into their training curriculum.
Before starting, you can download the two following questionnaires (1 (french) and 2 (french)) that have been designed for you. The first has to be completed before the first use of the game and the second will help you to evaluate the experimentation.
It is advised to install and test Prog&Play on your personal computer before you start teaching. Please refer to the installation guide before installing the game, or for troubleshooting. You can also find useful information in the user guide. The first step is to get familiar with the game, building units (a list of all the units is available on the official website) and testing their actions. You can learn how to use the game playing against a colleague, or the computer (if you are not a novice). To set up a multiplayer game, refer to the "multiplayer games" of the user guide.
Once you are familiar with the game principles, you can actually start to play the campaign. Hints concerning how to compile and execute your programs can be found in the programming guide. Feel free to contact me should you need the solutions of the missions.
Finally, install the game on the lab's computers for the students to use.
The table below suggests a possible way to organise the training.
The first part has a double objective: determine a profile for each of your students and familiarise your students with the game. Allow between 1h30 and 2h.
The student's profile can be determined using this questionnaire (french). It aims to evaluate their relationship with games and their motivation towards the training.
This second step will allow your students to get familiar with the game and to understand how to play. During this stage, you can take advantage of the time they answer the questionnaire to set up the multiplayer game session and launch the local server on one of the lab's computers (see section "Using the local server" on the user guide).
Once all the students have answered the questionnaire, they can start playing the "Kernel Panic" game. Question the students about their level of confidence with this RTS games. Have they ever played to "Age of Empire", "Command and Conquer" or "Warcraft"? Organise the sessions in "one against one" in order to keep the games simple. Regroup your students by pair of the same level. Alternatively, it is also possible to organise "2 against 2" games or "1 good player against 2 weak players".
Explain quickly the environment of "Kernel Panic" as well as the different units of the game. Detailed information can be found on "Kernel Panic" official website.
Finally, explain to your students how to log in to the local server, how to host a game and how to join an already created game. For every pair, one student has to create and host the game, and the other has to join. Remember the "Multiplayer game" section of the user guide can be useful.
During the game, explain if needed how to move the camera, to give order to units, etc. Students already familiar with this kind of games can also be encouraged to participate and help their classmates.
Since the first part of the session has been dedicated to the questionnaires, students may be allowed to enjoy themselves with the game for the remaining hour. To foster their engagement, you can write the results on the blackboard, and tease their competitiveness. It is also an opportunity to assess their level and adjust the pairs, if the level between two students inside a pair is unbalanced. Don't forget the aim of this first session is also for students to have fun and foster their own motivation.
Please note: If for any reason this first session cannot be organised during the tutorials, students can also discover the game by themselves, at home for example. In that case, distributing the Live-DVD is the best solution.
You can now suggest your students to start the Prog&Play campaign, which includes 6 missions. The necessary time to achieve the campaign varies in function of the level of each student.
To facilitate the joint use of the game and of the programming environment, students should be taught how to set up the game in "windowed mode". Refer to the "Customizing the engine" section of the Windows or Linux installation guide.
In order to write the programs, and therefore complete the missions, every student has to download a set of interface files. These files will be found in the zip file included with the programming guide. From the interface corresponding to the desired language, it is recommended to create a new zip file containing the minimum required by the students. For instance, for C language, create a zip file containing the files "PP.h", "PP_Client.h", "PP_Error.h" and "constantList_KP3.8.h", the dynamic libraries "pp-client.dll" or "libpp-client.so" (in function of the operating system in use in the lab) and a Makefile.
At first, consider presenting the programming interface to the students (for C language, it corresponds to "PP.h", "PP_Client.h", "constantList_KP3.8.h", and "PP_Error.h" if necessary). How to present this interface depends on the programming level of your students, their number and the number of courses, etc. For instance, they can be given out a paper version, and try to find by themselves the functions that are useful depending on the mission, or you can indicate these functions for every mission. You can also provide them with hints like "Always start a program with the functions PP_Open() and PP_Close().", or "Always end your program with the function PP_Close()".
Once the students are acquainted with the interface, you can indicate them how to start the first mission. For this, refer to the "Play the missions" section in the user guide.
For the sixth mission, I recommend that you detail the behaviour of the "PP_Refresh()" function. Indeed, both their program and the game are running in parallel and this function allows getting the last state of the game. For example, in order to seize how a unit's health has evolved, refreshing the game between two calls to the "PP_Unit_GetHealth()" is mandatory. This notion of parallel execution is far from straight-forward for the students, and requires some explanations.
This third part requires that the previous part was achieved. It can be proposed to the students as they go along finishing the seven missions. It consists of combining their experience from the first session to the achievement of the missions.
The objective for the students is to write a program for multiplayer games. Let them think about the strategy they used during the first session, and what parts(s) of it could be automated and delegated to an algorithm (for instance, seek for the opponent, mine the field, automatically repair damages units, etc.). Make them write such programs, test them during multiplayer games, and finally improve and debug them.
Although this part requires much time, it is the most interesting. It allows the students to learn how to describe their own problems, to formulate a solution in terms of programming language, and finally to test this solution in a realistic environment.
During the last session, the students should fill this new questionnaire (french). It will be useful for you to get their feedback regarding this experience, and to assess how much their motivation has evolved.
Another indicator of the training is analysing their test results.
This guide is organised as a canvas to help you organising the tutorials in your University or school. However, it has to be adapted to the context of your training.
This canvas is composed by 4 parts: a game session for the student to get familiar with the "Kernel Panic" game; the completion of the campaign to encourage the students to learn the programming language and the programming interface; the realisation of their own program to compete against each other during multiplayer games; finally, an evaluation of the evolution of their motivation towards the training.