Krzysztof Gdawiec
Wersja polska English version

Procedural Content Generation


INCS3 — Monday 13:45-15:15 (every second week), classroom B121

INCS3 — Monday 11:30-13:00, classroom B101A

Classes will be devoted to algorithms and methods of procedural content generation for games and CAD applications. Main topics of the classes include:

  • introduction to procedural content generation,
  • desirable properties of procedural methods,
  • procedural textures,
  • noise functions including Perlin noise,
  • cellular texturing,
  • mazes generation,
  • search-based procedural content generation,
  • dungeons generation,
  • terrain generation,
  • L-systems and plants generation,
  • procedural content generator evaluation.

Passing the classes:

To positively pass the classes, one must get a positive grade from the project.

General remarks on the classes:

  • one must be punctual,
  • everyone works on the assignments independently,
  • joint learning and information sharing is allowed; third party code is not considered as information, so copying code is considered as a fraud,
  • one must follow the academic honesty rules,
  • any attempts of fraud, e.g., submitting someone else's code, results in failing the classes.

Remarks on the project:

  • the project should be a game or application that uses procedural content generation methods,
  • projects can be made in teams of maximum two students,
  • programming language and/or engine — any,
  • the algorithms used in the project should run in a reasonable time,
  • in the project's source code, one must put comments that will make the understanding of the code easier,
  • code quality (readability, proper variables and functions names, etc.) will have an impact on the grade,
  • each project should contain a description (what was the aim of the project, software description, user guide, which libraries were used to create the project, etc.) in the form of a pdf file; the template with the document structure: template.pdf, template.tex
  • the complete project (source code + all files needed to compile the project, the description in a pdf file, the executable version) in the form of a zip or 7z archive should be sent till 23:59:59 12.06.2023; the directories structure of the archive should be the following:
    • bin — the directory with the executable version of the project,
    • doc — the directory with the pdf file and other files that present the project,
    • src — the directory with the source code, the libraries needed to compile the project etc.,
  • sending the project in a term later than the one from the previous point, but not later than 23:59:59 09.07.2023 results in reducing the project's grade by 0.5 grade,
  • sending the project in a term later than the one from the previous point results in reducing the grade by 1 grade,
  • the final deadline for sending the projects is 23:59:59 15.09.2023,
  • there is no possibility of changing the final term for sending the projects.