Difference between revisions of "User:Franklin"

From Group 4
Jump to: navigation, search
(Week 2 Report)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Week 1 Report ==
+
== Week 9 Report ==
 +
'''What I did'''
 +
- Fixed Tentacles and Head to be pre-loaded to avoid the loading lag between phases
 +
- Optimized Tentacles and Head collision boxes when not in use.
 +
- Upgraded Mechanic's hook shot to have unique interaction with tentacles.
 +
- Turned Scientist into Kirby (Borrows other player's powers)
 +
- Scientist now switches models based on currently borrowed power
 +
- Tested game play
 +
 
 +
'''What I didn't do'''
 +
- Texture things.
 +
 
 +
 
 +
'''What I'm doing this week'''
 +
- Keyboard input?
 +
- Player Animations Logic
 +
- Polish.
 +
 
 +
 
 +
'''What I'm doing next week'''
 +
- Final Report?
 +
 
 +
'''Morale'''
 +
* http://tommcfarlin.com/files/2013/05/dont-panic-1024x576.jpg
 +
 
 +
== Week 8 Report ==
 +
'''What I did'''
 +
* Implement fireballs for monsters. Pewpew 'n such.
 +
* Modified targeting system to work for monsters.
 +
* Considered implementations and powers for scientist class - no solution yet
 +
* Infinite game mode! Non-stop monster killing fun.
 +
 
 +
'''What I'm doing this week'''
 +
* Code Cleanup
 +
* Maybe working with Bryan on Scientist Power
 +
* Considering different ways of killing 10-15 minutes with this game.
 +
 
 +
'''What I'm doing next week'''
 +
* Code Cleanup
 +
* Documentation?
 +
 
 +
'''Morale'''
 +
* http://www.hurricanesoftwares.com/wp-content/uploads/code_cleanup.jpg
 +
 
 +
== Week 7 Report ==
 +
'''What I did'''
 +
* Redefine powers for each player
 +
* Reworked player logic for button presses
 +
* HookShot/GrappleGun for Mechanic Class
 +
* Limited Bouncing Bullets for Shooter Class
 +
 
 +
'''What I'm doing this week'''
 +
* Finishing StunGun for Scientist Class
 +
* Game Balance
 +
* Player and Monster Aiming System
 +
 
 +
'''What I'm doing next week'''
 +
* Bug Fixing/Testing
 +
* Game Balance
 +
* Integration
 +
 
 +
'''Morale'''
 +
* http://4.bp.blogspot.com/-L5BqFA_W3JM/UWT0U9zlnPI/AAAAAAAAAyg/zQE4pUumIjs/s1600/GameBalancea.jpg
 +
 
 +
== Week 6 Report ==
 +
'''What I did'''
 +
* Removed Event Manager.
 +
* Made a bullet and a power of firing a bigger bullet
 +
 
 +
'''What I didn't do'''
 +
* Did not finish the HUD, scene select, and character select.
 +
** Implementation was causing problems, possibly due to improper destructors in some objects.
 +
 
 +
'''What I'm doing this week'''
 +
* Ray casting for powers
 +
* Barrier/Platform creation Power
 +
* Scientist Player
 +
* Mechanic Player
 +
* Hookshot Power
 +
* AOE Stun Power
 +
* Point Gravity Creation
 +
 
 +
'''What I'm doing next week'''
 +
* Testing/Bug Fixing
 +
* Redoing HUD to not rely on destructors.
 +
** Needs more time than expected due to a need to rework the player initialization logic.
 +
* More Player Powers
 +
 
 +
 
 +
'''Morale'''
 +
* http://i.imgur.com/aNXqGNT.gif
 +
 
 +
== Week 5 Report ==
 +
'''What I did'''
 +
* Managed world events on client and server
 +
** Reset logic for both victory and loss conditions
 +
* HUD related world events
 +
** Start Screen - every player presses start to play
 +
** "Art" for start screen and other HUD elements
 +
* Things that are 50% done
 +
** Reworking the start up and shutdown logic for the server
 +
*** Required for loading screen, player ready screen, player class selection screen, and game over screen
 +
** Removing the Event Manager because no one else wants to use it.
 +
** Adding a screen selection option and support for a hard reset.
 +
** Generalizing the Network Managers
 +
'''What I'm doing this week'''
 +
* Finishing the stuff in the 50% list
 +
* Creating a Class selection screen
 +
'''What I'm doing next week'''
 +
* Working with the shooter model and shooting mechanics
 +
* Designing Powers for the other 4 players
 +
* Elsewhere as needed.
 +
'''Morale'''
 +
* http://aroth.no-ip.org:82/wordpress/wp-content/uploads/2011/01/xkcd-mod.png
 +
 
 +
== Week 4 Report ==
 
'''What I did'''
 
'''What I did'''
* Worked on Project Spec/Schedule with the team
+
* Created a World Manager and Event Manager
* Discussed direction and design of project with the group.
+
** Handles restart logic and hopefully future world events
 +
* Character animation support
 +
* Debugged various features.
 +
 
 +
'''What I didn't do'''
 +
* Haven't quite figured out a good way to implement and use the event manager.
 +
* Haven't figured out how to make the network manager cleaner with a better api
  
 
'''What I'm doing this week'''
 
'''What I'm doing this week'''
* Working on networking between a client and server project.
+
* HUD related elements
* Constructing Config File (Likely XML)
+
** Start Screen
* Creating logging construct to log all messages passed between client and server(w/timestamp).
+
** 2D texture positioning
* Making setup executable to modify Config file
+
** "Art"
 +
* Reworking Events
 +
** Have all the classes inherit from an EventHandler Class
 +
* Reworking Networking
 +
** Cleaning the networking interface, pushing header elements into the data.
 +
** Making more network packet types to send messages to the world manager or event manager.
 +
 
 +
'''Morale'''
 +
* http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/0000/800/824/824.strip.sunday.gif
 +
 
 +
== Week 3 Report ==
 +
'''What I did'''
 +
* Networking
 +
** Manage dropped connections (in case clients crash)
 +
*** Allow for reconnecting the client to the server.
 +
** Serialization of certain objects (Frames)
 +
* Networking and Game Logic
 +
** Work with Nathan to notify clients of their id generated on the server.
 +
* Configuration Manager
 +
** Educating the other members of my team about the Configuration Manager.
 +
** Parsing Point Vectors.
 +
** Generating a copy of config.ini to config_dev.ini if it doesn't already exist
 +
 
 +
'''Notes'''
 +
* Reconnecting doesn't work if the client exits in an expected manner.
 +
* Educating group about config_dev proves to be an interesting challenge.
 +
** Even the individual who requested the feature seems to have trouble remembering that this exists.
 +
 
 +
 
 +
'''Plan for this week'''
 +
* Game Logic
 +
** Working on restarting the game if everyone dies.
 +
* Networking
 +
** Polishing and refactoring if spare time
 +
* Work with anyone else doing anything else.
  
 
'''What I'm doing next week'''
 
'''What I'm doing next week'''
* Finishing whatever I didn't finish this week.
+
* No idea as of now.
* Working with the Engine/Logic team to serialize and deserialize objects
+
 
 +
'''Morale'''
 +
* http://i.qkme.me/3u27ao.jpg
  
 
== Week 2 Report ==
 
== Week 2 Report ==
 
'''What I did'''
 
'''What I did'''
 
* Created a basic network manager that can send messages from the server to the client
 
* Created a basic network manager that can send messages from the server to the client
 
+
* Server can communicate with clients via CIN and clients respond back with acks
'''In Progress'''
+
** Update: Network and Game Logic is integrated.
* Managing the closing of connections (and updating the client table)
+
* Updated the Packet type to hold 1024 bytes as data
** Through explicit close client packets
+
** Current assumption is that (de)serialization is going to copy and paste using memcpy and sizeof(class)
** Through implicit could not find client error
+
* Tested communication between clients on different lab machines.
* Creating a server that takes in a CIN and sends the message to all clients
+
* Created Configuration Manager (uses config.ini)
* Updating the Packet data type
+
** Using CM in a few places.
* Trying to have the client and server on different machines and still communicate.
 
 
 
'''Questions/Thoughts'''
 
* We're told to not use new if at all possible and the textbook tells us to not use class statics if at all possible. We don't use new because it allocates dynamic memory and we don't use statics because we can't control the order of initialization. Is there some other way to not use dynamic memory without using statics?
 
** Current understanding: If it doesn't depend on anything else, it's better to use statics.
 
* What's the method to do a non-blocking send/receive in Winsock 2 and is that even a thing?
 
* How to multi-thread in VC++?
 
* Network Communications and Packets
 
** What size should a packet be? Should packets be of fixed size or of variable size?
 
*** Should (de)serialization of packets be a copy of the object with memcpy(buf, obj, sizeof(obj))? (at the beginning, at least)
 
** Since every object needs to be mirrored on both the client and the server, I wonder if the server and client will preallocate the memory for each object. Then each packet can be large enough to hold the largest object and each send will send a bunch of packets with some header dictating which object (type) it is to be deserialized to.
 
  
 
'''Notes'''
 
'''Notes'''
Line 40: Line 186:
 
* If you get an error that says it can't find dxd9, go to Properties. Under Configuration Properties, there is a VC++ Directories. In Include and Library Directories, link to the Direct X installation "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Include" and "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Library" respectively.
 
* If you get an error that says it can't find dxd9, go to Properties. Under Configuration Properties, there is a VC++ Directories. In Include and Library Directories, link to the Direct X installation "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Include" and "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Library" respectively.
 
* Follow this guide to enable a custom shared library for both client and server: [http://msdn.microsoft.com/en-us/library/vstudio/ms235627.aspx MSDN Shared Library Guide]
 
* Follow this guide to enable a custom shared library for both client and server: [http://msdn.microsoft.com/en-us/library/vstudio/ms235627.aspx MSDN Shared Library Guide]
 +
 +
'''What I'm doing next week'''
 +
* Finishing whatever I didn't finish this week.
 +
* Working with the Engine/Logic team to serialize and deserialize objects
 +
 +
'''Morale'''
 +
* https://i.chzbgr.com/maxW500/7133251072/hE885CAEE.gif
 +
 +
== Week 1 Report ==
 +
'''What I did'''
 +
* Worked on Project Spec/Schedule with the team
 +
* Discussed direction and design of project with the group.
  
 
'''What I'm doing this week'''
 
'''What I'm doing this week'''

Latest revision as of 13:51, 5 June 2013

Week 9 Report

What I did

- Fixed Tentacles and Head to be pre-loaded to avoid the loading lag between phases
- Optimized Tentacles and Head collision boxes when not in use.
- Upgraded Mechanic's hook shot to have unique interaction with tentacles.
- Turned Scientist into Kirby (Borrows other player's powers)
- Scientist now switches models based on currently borrowed power
- Tested game play

What I didn't do

- Texture things.


What I'm doing this week

- Keyboard input?
- Player Animations Logic
- Polish.


What I'm doing next week

- Final Report?

Morale

* dont-panic-1024x576.jpg

Week 8 Report

What I did

  • Implement fireballs for monsters. Pewpew 'n such.
  • Modified targeting system to work for monsters.
  • Considered implementations and powers for scientist class - no solution yet
  • Infinite game mode! Non-stop monster killing fun.

What I'm doing this week

  • Code Cleanup
  • Maybe working with Bryan on Scientist Power
  • Considering different ways of killing 10-15 minutes with this game.

What I'm doing next week

  • Code Cleanup
  • Documentation?

Morale

  • code_cleanup.jpg

Week 7 Report

What I did

  • Redefine powers for each player
  • Reworked player logic for button presses
  • HookShot/GrappleGun for Mechanic Class
  • Limited Bouncing Bullets for Shooter Class

What I'm doing this week

  • Finishing StunGun for Scientist Class
  • Game Balance
  • Player and Monster Aiming System

What I'm doing next week

  • Bug Fixing/Testing
  • Game Balance
  • Integration

Morale

  • GameBalancea.jpg

Week 6 Report

What I did

  • Removed Event Manager.
  • Made a bullet and a power of firing a bigger bullet

What I didn't do

  • Did not finish the HUD, scene select, and character select.
    • Implementation was causing problems, possibly due to improper destructors in some objects.

What I'm doing this week

  • Ray casting for powers
  • Barrier/Platform creation Power
  • Scientist Player
  • Mechanic Player
  • Hookshot Power
  • AOE Stun Power
  • Point Gravity Creation

What I'm doing next week

  • Testing/Bug Fixing
  • Redoing HUD to not rely on destructors.
    • Needs more time than expected due to a need to rework the player initialization logic.
  • More Player Powers


Morale

  • aNXqGNT.gif

Week 5 Report

What I did

  • Managed world events on client and server
    • Reset logic for both victory and loss conditions
  • HUD related world events
    • Start Screen - every player presses start to play
    • "Art" for start screen and other HUD elements
  • Things that are 50% done
    • Reworking the start up and shutdown logic for the server
      • Required for loading screen, player ready screen, player class selection screen, and game over screen
    • Removing the Event Manager because no one else wants to use it.
    • Adding a screen selection option and support for a hard reset.
    • Generalizing the Network Managers

What I'm doing this week

  • Finishing the stuff in the 50% list
  • Creating a Class selection screen

What I'm doing next week

  • Working with the shooter model and shooting mechanics
  • Designing Powers for the other 4 players
  • Elsewhere as needed.

Morale

  • xkcd-mod.png

Week 4 Report

What I did

  • Created a World Manager and Event Manager
    • Handles restart logic and hopefully future world events
  • Character animation support
  • Debugged various features.

What I didn't do

  • Haven't quite figured out a good way to implement and use the event manager.
  • Haven't figured out how to make the network manager cleaner with a better api

What I'm doing this week

  • HUD related elements
    • Start Screen
    • 2D texture positioning
    • "Art"
  • Reworking Events
    • Have all the classes inherit from an EventHandler Class
  • Reworking Networking
    • Cleaning the networking interface, pushing header elements into the data.
    • Making more network packet types to send messages to the world manager or event manager.

Morale

  • 824.strip.sunday.gif

Week 3 Report

What I did

  • Networking
    • Manage dropped connections (in case clients crash)
      • Allow for reconnecting the client to the server.
    • Serialization of certain objects (Frames)
  • Networking and Game Logic
    • Work with Nathan to notify clients of their id generated on the server.
  • Configuration Manager
    • Educating the other members of my team about the Configuration Manager.
    • Parsing Point Vectors.
    • Generating a copy of config.ini to config_dev.ini if it doesn't already exist

Notes

  • Reconnecting doesn't work if the client exits in an expected manner.
  • Educating group about config_dev proves to be an interesting challenge.
    • Even the individual who requested the feature seems to have trouble remembering that this exists.


Plan for this week

  • Game Logic
    • Working on restarting the game if everyone dies.
  • Networking
    • Polishing and refactoring if spare time
  • Work with anyone else doing anything else.

What I'm doing next week

  • No idea as of now.

Morale

  • 3u27ao.jpg

Week 2 Report

What I did

  • Created a basic network manager that can send messages from the server to the client
  • Server can communicate with clients via CIN and clients respond back with acks
    • Update: Network and Game Logic is integrated.
  • Updated the Packet type to hold 1024 bytes as data
    • Current assumption is that (de)serialization is going to copy and paste using memcpy and sizeof(class)
  • Tested communication between clients on different lab machines.
  • Created Configuration Manager (uses config.ini)
    • Using CM in a few places.

Notes

  • These should find their way to other parts of the wiki.
  • If you get an error that says it can't find dxd9, go to Properties. Under Configuration Properties, there is a VC++ Directories. In Include and Library Directories, link to the Direct X installation "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Include" and "C:\Program Files\Microsoft DirectX SDK %28June 2010%29\Library" respectively.
  • Follow this guide to enable a custom shared library for both client and server: MSDN Shared Library Guide

What I'm doing next week

  • Finishing whatever I didn't finish this week.
  • Working with the Engine/Logic team to serialize and deserialize objects

Morale

  • hE885CAEE.gif

Week 1 Report

What I did

  • Worked on Project Spec/Schedule with the team
  • Discussed direction and design of project with the group.

What I'm doing this week

  • Working on networking between a client and server project.
  • Constructing Config File (Likely XML)
  • Creating logging construct to log all messages passed between client and server(w/timestamp).
  • Making setup executable to modify Config file

What I'm doing next week

  • Finishing whatever I didn't finish this week.
  • Working with the Engine/Logic team to serialize and deserialize objects