Software Design

Academic Appointment Booking Website

There is a need for students to be able to book appointments to see their academic staff during their open office hours.

Office hours for staff need to be able to be added to the system, or ideally pulled from Outlook calendars so that students can chose meetings of either 10, 15, 20 or 30 minutes duration inside the scope of the staff member's office hours. Alternatively a staff member might like to stipulate the lengh of the meeting and when their office hours are manually.

This project will see you independently build the skills required to develop the software in a web accessible format so that students can book appointments to see academic staff.

Your task it to research into the wide range of options for development of such a system, then DESIGN - BUILD - TEST your solution.

Supervisor

New Software for OO Design & Development Module

This is an exciting opportunity to use your software development skills to contribute to the specialist teaching materials we use here in the Computing Department.

If you did the OO Design & Development module (COMP2431) in your second year, you will be familiar with the 'JavaFish' version of the 'Fish-O-Rama' software framework.  This framework makes use of 3rd party libraries that are now legacy, and we need to upgrade the framework software accordingly.   At the same time we would like to improve its design so that students can be given a choice of IDEs rather than being tied to BlueJ.

This will be a Design-Build-Test project, and although the artefact (ie your software) will be a key deliverable, we will also need to see:

  • a requirements specification and plan, developed through background research/study and discussions with your supervisor
  • a detailed and reasoned software design
  • a development plan/log based on the above design

 

Please make contact with Marc Price if you are interested in this project.

Supervisor

Game Engine Plug-in: Directed Search Path Finder

This project is specifically for students who have already developed a Game Engine through their work on the 2nd year Games module and are continuing that work on the 3rd year Games module.

The problem of Path Finding in games is broken down into two (slightly) smaller problems: environment mapping and graph search.  Environment mapping is where the game levels are 'filtered' (usually manually) into meaningful maps of obstacles, navigable regions, and route costs.  Graph search is the problem of finding shortest/least-expensive path through a graph of data.

Additionally, NPCs need to be able to navigate along paths returned by a path finder system in a realistic-looking way.

In this project, you will design, build, and test an extension to your Game Engine that allows game developers to add Path Finding to NPCs in their game.  Testing will require verification of your Engine + demo software against a model of a chosen directed search algorithm (eg A*), environment map, and NPC movement behaviours.

Note that this is likely to be a challenging project.

Supervisor

Game Engine Plug-in: Team-based NPC Behaviour Simulation

This project is specifically for students who have already developed a Game Engine through their work on the 2nd year Games module and are continuing that work on the 3rd year Games module.  Your Game Engine Architecture will need to be developed to the extent that a Behaviour Manager element already exists.

In this project, you will design, build, and test an extension to the Behaviour Manager of your Entity-based Game Engine Architecture, to allow NPCs to be implemented with team behaviours (eg shoaling or 'squadding').  This will require a hierarchical approach to the AI Components of your Engine.  Testing will require verification of your Engine + demo software against a model of a chosen team-based behaviour.

Supervisor