CS 428/528 Multi User Games and Virtual Environments Homework #1
Due: February 7, 11:59pm
Turnin a .zip via bblearn.uidaho.edu with all files needed to run unpacking
in the current directory, such that after unzipping, I can just say "gradlew
desktop:run" or "make" to view your work. Try to keep your .zip compact;
configure for desktop platform only, and do not include .class or .git/...
or other files not needed to build your homework.
The Training Dojo
The name of this assignment is inspired by the practice room where Neo
learns kung fu in The Matrix, but you are not constrained to produce an
exact replica. You could instead produce a one-room log cabin or studio
apartment of you preferred -- or anything else.
- It is recommended to start from the Di Guiseppe libGDX book chapter 3
code. Transplant/migrate that code base into a "current" version of libGDX.
- Add wall, floor, and ceiling textures.
- You may further decorate the room as desired with static entities composed
from either primitives or a 3D model.
- Modify the controls to use "Doom" keys for movement, turning and firing,
and to not require the mouse. Unlock the mouse from its center point.
In addition to classic "Doom" keys, add PageUp and PageDown for looking
up or down.
- Add a couple boids (perhaps in the form of cones that always face
horizontally) that respond to the movements of the player and each other (a
flock of 3), following you but avoiding collision. It is recommended that
you adapt the textbook boid code, but you may roll your own or use libGDX
classes if you prefer.
- Test carefully and fix, if needed, the collision detection or other
limits that keep the camera within the cuboid volume of the dojo, such that
the view always appears within the room and does not show anything beyond
the cuboid. Boids should not be able to go through walls, and neither should
you.