Prima

Repository for the module “Prototyping interactive media-applications and games” at Furtwangen University

Pages-Version

In this course, students learn fundamentals of game engines and development environments for prototyping. They learn basic development patterns used in highly interactive applications such as animation, transformation, object relationships and event control. We analyse concepts for complex applications or simple games, plan the realisation of core features and create executable prototypes for demonstration. In the end, students design their own piece of art and produce it themselves.

The environment we work with is FUDGE, the Furtwangen University Didactic Game Engine/Editor, which allows for optimized tuition and collaboration, while demonstrating the fundamentals of popular engines like Unreal or Unity. Students acquainted to FUDGE can easily shift over to these mighty tools later on. Coding language is TypeScript

Examples

This is experimental material created by the docents during the PRIMA-lectures while explaining some core functionalities the course was working on. Usually, we examine one 2d and one 3d application. These are not fully functional and self explaining prototypes.

Semester 2D 3D
W22 Mario Starfox
S22 Pacman Slenderman
W21 LaserLeague MarkusCart
S21 SpaceInvaders PhysicsGame
W20 BreakOut Doom
S20 Snake TowerDefense
W19 Pong Craftris (3D-Tetris)

Checklist for the final assignment

© Prof. Dipl.-Ing. Jirka R. Dell’Oro-Friedl, HFU

Nr Criterion Explanation
1 Units and Positions Where is 0, what is 1? Explain your setup of coordinate systems of the entities.
2 Hierarchy Explain the setup of the graphs and the advantages you gain by it.
3 Editor Use the visual editor and explain which parts are better done by coding and why.
4 Scriptcomponents Use scriptcomponents and explain if they were useful in your context or not and why.
5 Extend Derive classes from FudgeCore other than ScriptComponent and explain if that was useful in your context or not and why.
6 Sound Use sounds and explain your choice of sounds and placement in respect to the user’s perception.
7 VUI Create a virtual user interface using the interface controller and mutables. Explain the interface.
8 Event-System Use custom events to send information that propagates along the graphs hierarchy and explain if that was useful in your context or not and why.
9 External Data Create a configuration file your application loads and adjusts to the content. Explain your choice of parameters.
A Light If light is required, explain your choice of lights in your graphs (1)
B Physics Add rigidbody components and work with collisions (1) and/or forces and torques (1) and/or joints (1)
C Net Add multiplayer functionality via network (3)
D State Machines Create autonomous entities using the StateMachine (1) and/or ComponentStateMachine (1) defined in FudgeAid
E Animation Animate using the animation system of FudgeCore (1) and/or Sprites (1) as defined in FudgeAid

The criteria 1 to 9 are mandatory and yield 1 point each. Choose from A to E for additional points as noted in brackets. One aspect of your application may not fullfill multiple criteria. The final grade may deviate up to one grade from the calculation to reflect excellent aspects or flaws of your work.

Points 10 11 12 13
Grade 4.0 3.0 2.0 1.0

Concept

Create a short concept in advance, in order to verify how to implement the criteria above. Try to use graphics for visualisation and presentation in class, that will help you explain your game or application. No need to write lengthy text, you need to present quickly.

Documentation

While you are working on your assignment, gradually extend your concept sketches to become your design documentation.

Submission