[Dragonfly]

IMGD 3000 Project 1

Catch a Dragonfly

Due date: Thursday, September 1st, at 11:59pm


The goal of this project is to get used to Dragonfly, a text-based game engine. You will work through a tutorial that has you make a simple game using Dragonfly. This will help you better understand a game engine by developing a game from a game programmer's perspective, providing the foundational knowledge needed for building your own Dragonfly game engine (project 2) and designing and developing your own game from scratch with it (project 3).


Top | Details | Submission | Grading

Details

You will work alone for this project (and the next one, project 2). This will ensure you have the development skills needed even if your tasks in project 3 (making your own game, done in teams) are more partitioned. While you can discuss the project with other students and even help each other debug code, you must write all code yourself.

The assignments is to:

  1. Visit the Dragonfly Web Page and briefly familiarize yourself with the contents.

  2. Download the Dragonfly game engine for the environment of your choice and setup your development environment.

  3. Complete the Saucer Shoot tutorial, available on the Dragonfly Web page (and in chapter 3 of the course textbook). The tutorial has all sprites needed for development as well as working code for the completion of each step, but should still be done to ensure you understand Dragonfly and can complete the next "Extend" step. Also, turning in the tutorial code as if it is your own is plagiarism!

  4. Extend the Saucer Shoot game in some fashion. This means adding additional code (and any needed sprites, as appropriate) to extend the game functionality in some meaningful way by 10%. The end of the tutorial has some suggestions, but these suggestions are by no means the only way of extending the game. The actual extension is up to you, and you will indicate what you have done with brief documentation when you turn in the assignment. Note, the Dragonfly Documentation may be helpful for completing this step.


Submission

Your assignment is to be submitted electronically via the Instruct Assist Website by 11:59pm on the day due. You must hand in the following:

Before submitting, "clean" your project (in Visual Studio do a "Build" -> "Clean solution" and in Linux do a "make clean") before submitting. This will remove all the .o files.

You do not need to submit the Dragonfly library, header files, nor the SFML files.

Use zip to archive your files. For example:

mkdir lastname-proj1 cp * lastname-proj1 /* copy all the files you want to submit */ zip -r proj1-lastname.zip lastname-proj1 /* package and compress */

To submit your assignment (proj1-lastname.zip), log into the Instruct Assist website:

https://ia.wpi.edu/imgd3000/

Use your WPI username and password for access. Visit:

Tools → File Submission

Select "Project 1" from the dropdown and then "Browse" and select your assignment (proj1-lastname.zip).

Make sure to hit "Upload File" after selecting it!

If successful, you should see a line similar to:

 Creator    Upload Time             File Name        Size    Status   Removal
 Claypool 2016-08-26 21:40:07  proj1-claypool.zip   3208 KB  On Time  Delete


Grading

Grading Guidelines
Tutorial 40% Doing the tutorial without any additional customization is worth just under 1/2 the grade. While you will have learned a substantial amount about the Dragonfly game engine, you will not have demonstrated an in-depth understanding of the engine principles.
Customization 50% Extending or modifying the tutorial game with custom work is worth 1/2 the grade. Doing so will begin to flex your technical muscles and show mastery of the basic concepts of the Dragonfly game engine. This is essential in moving forward.
Documentation 10% Not to be overlooked is including the documentation provided, as well as having that documentation be clear, readable and pertinent to the assignment. This includes the README described above as well as the GAME document. Having well-structured and commented code is part of Documentation, too. Getting in the habit of good documentation is important for large software projects, especially when done in teams (e.g., project 3).

Below is a general grading rubric:

100-90. The submission clearly exceeds requirements. The tutorial game works without problems. The custom extensions exhibit an unusually high degree of effort, thoughtfulness, technical ability and insight. Documentation is thorough and clear.

89-80. The submission meets requirements. The tutorial game works without problems. The custom extensions exhibit substantial effort, thoughtfulness, technical ability and/or insight. Documentation is adequate.

79-70. The submission barely meets requirements. The tutorial game may operate erratically. The custom extensions exhibit marginal effort, thoughtfulness, creativity and/or insight. Documentation is missing details needed to understand the contributions and/or to build the programs.

69-60. The project fails to meet requirements in some places. The tutorial game may crash occasionally. The custom extensions are of minor scope, or exhibit perfunctory effort, thoughtfulness, technical ability and/or insight. Documentation is inadequate, missing key details needed to understand the contributions and/or to build the programs.

59-0. The project does not meet requirements. The tutorial game crashes consistently. The custom extensions exhibit little or no evidence of effort, thoughtfulness, technical ability and/or insight. Documentation is woefully inadequate or missing.


Top | Details | Submission | Grading

Return to the IMGD 3000 Home Page

Post questions to the Dragonfly question-answer forum or send them to the staff mailing list (imgd3000-staff at cs.wpi.edu).