CS 489 RESEARCH PROJECT

Topic: Procedural Generation

Language: Java

Platform: Windows

Summary: Procedural generation is a method that allows for the creation of content using only limited resources and/or a set of algorithmic instructions. This method allows for the creation of small but powerful programs that are capable of producing thousands if not millions of results as well as running on basic hardware.

Overall Goal: My goal for this project is to create such a program and demonstrate its use through a basic, yet practical training simulation. This training program will generate a sample "case" in which the user will be presented with a short history of the subject and a set of "symptoms". The user is then prompted to give input as to how to solve the case.

GOAL 1: Create an algorithim to generate a sample case - give characteristics for the subject. For example, if making a medical case, give basic characteristics like age and name. (COMPLETED, ENHANCEMENTS AND TWEAKS UNDERWAY)

GOAL 2: Create the assets for the algorithim to create cases from. (TEST ASSETS COMPLETED)

GOAL 3: Create the solutions for the cases - most likely by having them built into the the case diagnosis. COMPLETED

GOAL 4: Create an input system for users to give their solutions COMPLETED

Project Files

What is "procedural generation"?

As mentioned above, Procedural generation is a content creation technique that enables a program to easily create hundreds, thousands, and in some cases millions of unique results. The technique has been popularized recently with best-selling videogames.

What are some examples of "procedural generation"?

There are several well-known examples of procedural generation in use today:

So what is the ultimate goal?

The goal is to ultimately create a small-scale simulation in the style of a game. The main features of the simulation will be the ability to create a "map", as well as objects with unique features. The resources used by the program will be predominantly programmed routines, for generation and basic graphics.