JLmike7 / Senior-Design

1 stars 3 forks source link

Michael Marsh weekly progress report. #16

Open JLmike7 opened 9 years ago

JLmike7 commented 9 years ago

Further implemented world, person, weapon, and stance classes.

JLmike7 commented 9 years ago

9/15/14 Created entirety of UML chart Greatly refined and built with group

JLmike7 commented 9 years ago

10/6/14

Implemented the Point, Rect, Triangle, and Box classes.

*Point contains x,y,z coordinates, and has the ability to find the distance to another point.

*Triangle contains 3 points, and simply has getters and setters like all of the other classes. This class is essential to directX, because everything is rendered in triangles, so all models must be able to be broken down into triangles.

*Quad contains 4 points, and has the ability to create two triangles to represent itself. (Essential for directX)

*Box contains 8 points, and has the ability to create a Quad representing any one of its faces, facing inward or outward. It can also get an array of ALL of its Quad faces facing inward or outward. It can also get an array of all of the triangle representations making up all of its faces. The default constructor makes a unit cube around the origin. No parts of Box need to be parallel at all.

We also discussed what we will be doing for the minimal working system as a group.

https://github.com/JLmike7/Senior-Design/commit/404e5dff6a1e12cecf70cb759b863624cde7858a

JLmike7 commented 9 years ago

Lots of model work done the past two weeks, with tons of commits to try to keep everyone's work up to date with how the model functions. There are a bunch of fixer commits made that I didn't mention here because they are little bug-fixing / merge fixing things.

*Made the default constructor for a quad to be a unit square https://github.com/JLmike7/Senior-Design/commit/db9c373cde82afefbceea2673f0f44e2967fae9f

*Made changes to Biped, Team, and World in order to better reflect how the game will function. https://github.com/JLmike7/Senior-Design/commit/7eb7b10d61207190d899465b56f4a76cbb41fd2b

Created the LookDirection class. This keeps track of azimuth/elevation, as well as the point at which the camera is looking. If the character is looking at a specific point, it will be stored in LookDirection and azimuth/elevation will be automatically calculated (for the character's rotation and such). if the character is looking in a certain azimuth/elevation, those will be stored in LookDirection, and the point at which the camera is looking will be calculated in a unit circle 1 unit away from the camera. Additionally, the Position class now has a LookDirection field. Using LookDirection, Position now offers functionality to move relative to the camera (front/back/left/right) Biped can also now move relative to where it is looking Biped's weapons inventory was changed to a deque (double ended queue), and helper functions were added. https://github.com/JLmike7/Senior-Design/commit/c5dddef921e0ea18d99171cdab1030911434de98

The way model movements are handled was changed. Aside from teleportation, each Position object can move ONLY by adding to its velocity or acceleration. This allows for multiple forces to be applied to an object, such as explosion blasts, gravity, wall/ground pushback, as well as walking, and have it all be added together. Every object in the game has its position ticked whenever world.tick is called. In the future, tick() will take in an elapsed time to make movement speed system-independent. *Added key handler to controller https://github.com/JLmike7/Senior-Design/commit/771bc4bce5d7336fdea637494a1bc4e02110764c https://github.com/JLmike7/Senior-Design/commit/2aa6a88c46d740b0cc2aa5482f8c8b1724a10256 https://github.com/JLmike7/Senior-Design/commit/0f3285f38cf2ff5e0f36631ea667815b9cf83912 https://github.com/JLmike7/Senior-Design/commit/1bdfa88aeca8b50294bcb7547b9178f968959d3d

Added WalkingStatus class WalkingStatus keeps track of which directions the player is currently walking. WalkingStatus allows for the controller to order the player to walk forward multiple times without the velocities compounding. This better suits how the controller works (On a continuous loop checking if a key is/isNot pressed, instead of event-driven keyUp/keyDown functions.)

JLmike7 commented 9 years ago

Now that the model classes have a solid base for the game to run on, I spent this week doing research into the directX methods that we will be using in this project. Made lots of progress through tutorials on Braynzarsoft.net Studying the basics of directX. Working on getting a directX window up and running No commit this week, as it was a week of studying not code writing -It appears that while dxdiag claims I have DX11 capabilies, running D3D11CreateDevice returns a featureLevel of 10. I may need a different graphics card, which I will discuss with the professors during our next meeting.

JLmike7 commented 9 years ago

11/3/14 continued learning directx and our new graphics library. found out that my current hardware does not support directx11. Swapped out my current build for a cpads machine. This also fixed the problem I had with not having a USB3 port. All hardware upgrades were successful and complete. *Since the rest of the group has expertise on graphical programing, I began research into online leader boards. I successfully created a sql database live and online and am looking into using mysql++ for interacting with the database.

JLmike7 commented 9 years ago

11/10/14 Created sql wrapper classes to log in/out and get/update data. Also wrote out sql scripts that will be used. Working on getting sql client installed in the project. Commit: fb8587b56315e309da49ded296b6308b7d5e2983

JLmike7 commented 9 years ago

Finished getting sqlapi++ installed. greatly refined my code for retrieving database entries and connecting to remote databases.

https://github.com/JLmike7/Senior-Design/commit/5d10317935758acd2a995a980e6d337c2cebb058

JLmike7 commented 9 years ago

Creating unit tests and debugging 37b7538e631376a06424c7830eaf8f4f377281c8

JLmike7 commented 9 years ago

Realized the remote server I set up did not accept remote sql connections. Installed and set up a localhost mysql database. *most of my work for the week involved trying to clean up a ton of errors in our model classes and main file that someone pushed to the main repository. :/

JLmike7 commented 9 years ago

12/8/14 Project is running well again, everything pulled and merged. Working on getting sqlapi++ to connect to the localhost. *Created outlines for the final report and presentation