IMGD 3000 Project 1

Catch a Dragonfly

Due date: Friday, January 21st, at 6:00pm


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.

The assignment is to:

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

  2. Download the Dragonfly game engine for the platform 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.

Note: You can copy and paste code snippets from the tutorial Web pages themselves. However, you cannot do the same (i.e., no copy and paste) from the .zip solutions provided in the tutorial - those are for reference only. Similarly, you can consult with peers in the class for help and even look at each others’ code, but as guideline, emailing code or copying and pasting code is not allowed.


Top | Details | Submission | Grading

Submission

Your assignment is to be submitted electronically via Canvas by 6:00pm on the day due. You must hand in the following:

  1. Source code:

  2. A README.txt file explaining: platform, file and directory structure, how to compile, and anything else needed to understand (and grade) your game. Important! Make sure your name and WPI user name is included in the README file.

  3. A GAME.txt file providing a short description of the additional 10% extension you made to the Saucer Shoot tutorial game. You should detail the functionality added from the player’s prospective and briefly indicate what code was written to support the extension.

Before submitting, “clean” your project:

This will remove all the .o files. Failure to do may mean you file is too big to submit!

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) via Canvas:

Open: Assignment - Project 1
Click: Submit Assignment
Click: Choose File
Select the zip file: proj1-lastname.zip
Click: Submit Assignment

Important - you must click the Submit Assignment button at the end or your file will not be submitted!

When successfully submitted, you should see a message similar to:

Submission
- Submitted!
Jan 21 at 5:52pm


Top | Details | Submission | Grading

Grading Guidelines

Breakdown

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.

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 many of the 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