IMGD 3000 Project 1

Catch a Dragonfly

Due date: Friday, January 24th, 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 non-trivial 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 from anywhere.


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 listing:

  3. A video link. You will create a video showing your project for the grader (i.e., this is not a trailer - this is information for grading). You’ll narrate the video (your voice) as you record. Show your project compiling. Show your game running. Decribe what is new about the gameplay you show. Then, briefly show the code changes you need to make for your modifications. The video does not need to be polished. Think a bit about you want to say, then record. It should be less than 10 minutes long, even as short as 5 minutes.

There are a variety of recording tools for creating the video. An easy one is to use Zoom and press record.

Provide a link to the video (e.g., on sharepoint) where the video can be found.

Note: If you are uncomfortable making a video and submitting it, for whatever reason, you can schedule an appointment to mee with the TA to do the same thing in person/ over Zoom. Basically, you’ll show the same content as you would the video, but you can do that live to a person. Please reach out to the TA when you submit your project if you choose this option.

Before submitting, “clean” your project:

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

For Visual Studio, in addition:

  1. In the solution folder delete all bin, obj, ipch, Debug and Release directories.
  2. Delete any .suo files.
  3. Delete any .ncb files.
  4. Delete any .sbr files.
  5. Delete any .*log files.
  6. Delete the .vs directory.

Note, the .vs directory is hidden so use explorer to find hidden files for removal.

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 lastname-proj1.zip lastname-proj1 // package and compress

To submit your assignment (lastname-proj1.zip) via Canvas:

Open: Assignment - Project 1
Click: Upload
Click: Drag your zip file,
Select: lastname-proj1.zip
Click: Submit Assignment

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

SUBMITTED on Jan 24, 2023 2:53pm

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


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 video. 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 and video are 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 and video are 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 and video are 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 are video are 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 and video are woefully inadequate or missing.


Top   |   Details   |   Submission   |   Grading

Return to the IMGD 3000 home page