Ericka Snopko
4490 - Game Development
xwin89
Lab-1
Lab-2
Move left, right, up, and down
Look left, right, up and down
Has smoke from Lab 4, with wind blowing as the smoke gets higher up
User can walk around, in, and out of the tube and smoke using arrows and the commands shown
Lab-3
Clocks synchronized by time delay with child process begins
A bit-field is used to store state variables like upause, use_metronome, and use_usleep
Clock visual components scale with window size
Clock synchronization:
The initial program spawns a child when the 'x' key is pressed
The child is spawned using a fork() command and pid_t flags to clarify actions for the parent and child processes
For the child process, lab3 is called and run again to create the child instance
Upon being called, the child clock is started after a time delay with all hands at the '12' marker
The parent process continues until the same amount of time used to delay the child has gone by
Then the parent begins with all hands at the '12' marker at the same time as the child process
The two processes have the same physics and incrementation, maintaining their synchronized status
Bit-field use:
All variables upause, use_metronome, and use_usleep were stored using a bitfield
This bitfield was implemented so that when the user pauses, initiates the metronome or begins the usleep funcitonality all of these requests go through the same bitfield
The bitfield is manpulated with a different power of two to distinguis each action and turn the bitfield on and off corresponding to each action
Visual components scaling:
The distance between the clock time markers and the length of the hands on the clock are set to change a the window size changes
This is accomplished through the use of the xres and yres integers which are updated when the window size changes
From there, the new xres and yres values increase or decrease the distance between or size of the clock markers and hands respectively
Zoom in on correct hand shadowing
Lab-4
Gif of smoke on platform with sorting and billboarding capabilities
Smoke particles are generated at a constant rate and deleted from the animation after a specific amount of itme.
Sorting and billboarding of the smoke particles are implemented to maintain the appearance of full smoke as the camera or perspective angle changes
See Lab-2 for integration of smoke into the Lab-2 environment
Lab-5:
Game for user to draw line through randomly generated line
Score is kept and points are scored when the user passes through the line with their mouse clicked.
Pointline
Box stops when it has intersected the randomly generated line
LineLine with a blue circle marking the intersection point
Intersection point found using sample code demonstrated in class, found on: Tutorialspoint Intersection
Also, format for XDrawArc used to create the filled, blue circle found on: XFillArc
Billiards game
Trick shot includes the red and blue ball, being hit by the cue ball, then hitting each other to go into different pockets
Lab-8
Original Image
Image with Shifted Color