-
Notifications
You must be signed in to change notification settings - Fork 0
Progress Summary
This is a live document that will be continually updated to reflect weekly progress on my Senior Project course for the Fall 2018 semester at Plymouth State University.
Tasks listed for a given week are expected to be completed by the update date, listed next to that respective weeks heading.
Added Tasks
- Complete all previously planned documentation.
- Along with completion, ensure that already completed documentation is up to date.
- Title Menu
- Selectable options for a title menu at the beginning of the game.
- Visualize controller connections using GUI
- Show the number of connected controllers (players) before the start of the game. Removed Tasks
- Tutorial Level Design
- Tutorial Level will be a part of the already design stage.
- Second Enemy Implementation
- Enemy already implemented previously.
Summary
Week currently in progress. Summary will be completed on this weeks listed update date.
Added Tasks
- Multiple controller management Removed Tasks
- Third Enemy Design
- Design already completed previously.
- Second Character Design
- Design already completed previously. Summary
Added Tasks
- GUI Object creation and handling
- Create a controller object specific to the interface for the game.
- Text Box GUI generation
- Create text boxes for object dialogue that contains and wraps text correctly.
Removed Tasks
- Start game with 2 players
- Task already completed when testing multiplayer a few weeks back.
- Second enemy design
- Second enemy design completed previously. Unique AI work is underway.
Summary Work for this week was slow due to the load of other course work being quite heavy. GUI work has begun and is the focus at this time until it is completed. Core gameplay is working as intended up to this point, and is being set as a lower priority to the GUI.
I ran into quite a few issues working on the GUI, and most of which are related to how the engine handles drawing of objects on the screen. I've had to do a lot of reading on the different drawing layers and manipulation of them, and actual implementation work has slowed down, but design and plan work has continued with the research being done.
Documentation has been set as a much lower priority due to other course work taking up a large amount of time, but I hope to have some time in the coming 2 weeks to work on finishing some of the wiki pages.
Added Tasks
- Targeting and Tracking Enemy AI
- Allow the enemy object to target the player and follow them on screen. This AI concept will be used in combination with custom AI for each enemy.
- Crawler AI Design
- Unique AI for the Crawler enemy. Will be documented on the Enemy Design Document.
- Flyer AI Design
- Unique AI for the Flyer enemy. Will be documented on the Enemy Design Document.
- Third enemy type design
- Begin design and possible implementation of a third enemy type for the player.
Removed Tasks
- Tutorial Level Design
- This task was removed as the tutorial level design will be considered much later in the project, or will be a portion of the already designed level.
- First Level Design
- This task was removed as it was settled during Week 2 in the Stage Design Document.
Summary
Work done towards this weeks goals was a mix between front and backend. The enemy AI system has been implemented, and is working with just a few found bugs so far. There could possibly be more, but I haven't been able to find any. However, I feel I can fix this bug easily enough - I just didn't have time to do so this past week. I'll be adding it to the [Issue Board] on the projects repository.
The rest of the work was done adding in graphics as requested by the project advisor.
Multiplayer was tested and worked. However, the system needs to support the adding/removing and disconnecting of input sources before I feel comfortable running more tests using multiple players.
I've been continually updating what is going into the documentation pages on the wiki, and as such have not finished any of the pages quite yet. I may take some time out of the tasks this coming week to work on documentation, as long as I will not fall behind working on the system.
Planned Tasks
- General Interface (Debugging Primarily)
- Debugging interface for testing game controls and viewing variable changes.
- First Enemy Implementation
- Working basic enemy ai. Player tracking within specified range.
Added Tasks
- Destructable Collision Objects
- Creation and implementation of destructable collision object model (eg. box, bench, lightpost, etc).
- Create official wiki documentation for enemy and character designs.
- Get designs off sketchpads or out of notebooks and into a digital format for the wiki.
Removed Tasks
- Goal / Story Design First Draft
- This task was removed as it was settled during Week 2 in the Stage Design Document.
Summary
Work this week was primarily done in testing of collision objects and destructables. A large amount of work was done on art assets that have yet to make their way into the project. The reason for this is that the system is more important at this stage than the art as assets can be overlain over prototype, or programmer, art assets after the fact and the system will continue to work the same.
The first enemy was implemented into the game and is read as an enemy object. However, it doesn't have any form of artificial intelligience at this point other than being able to tell if the player is within a specified range.
Finally, documentation work on the Character and Enemy wiki pages is underway, but not complete as of yet. This task will be finished along with the next weeks work.
Planned Tasks
- First Character Design
- General design of the first character. Most likely a template to create other characters off of.
- Documentation for characters will be found in the Character Design Document.
Added Tasks
- Level Design
- Planned layout for the primary level. General placement of objects and expected events listed on design.
- First Enemy Design
- General design of the first enemy. Most likely a template to create other enemies off of.
- Documentation for enemies will be found in the Enemy Design Document.
Removed Tasks
- Fleshing out of Permanent Assets
- Removed as this should be a mid-end project task/milestone. Focus right now should be on the system, not the assets.
Summary
This week work was a bit slower than the last. Now that the primary loop is being worked on, I've been taking more time making sure that any code written will be able to be functioning with new additions added to the system. This means most of the primary game control is done in its own unique object, seperated from the hierarchy of other objects that are interactable within the game.
Asset creation was way too early on the task list, so that was removed. But work to create said assets has begun. The difficulty is animating and giving life to the characters and assets. I've had to look up a bit about color theory to make sure that objects are easy to be read apart when using similar colors.
The design for enemies has been created and is a general template/shap idea for others to be created and expanded off of. If I have time, I'd like to make a few variants as well as a stretch goal, but that's again - something to look at much later down the road.
Level design for the main campus area has begun, but is just a general sketch and placement concept at this point. I'd like to hold off expanding the room size of the game (currently in a smaller testing size) until the primary loop is working as intended. That way I'll be able to focus solely on the level management. Food for thought: depending on the size of the room and the number of entities that will be active at one point, I may need to look into "chunking" the level into different parts, and have the engine only render or chunks that have active entities in them. That task is going to take some research.
Planned Tasks
- Player Movement
- Begin movement for a player character using mouse and keyboard before transferring control to a gamepad.
- Controller Support
- Allow support for players to be able to control their characters via gamepad/controller. This is the way the game is intended to be played.
Added Tasks
- "Stage" Creation
- Creation of the setting and general story arc for the game. This includes goals for the player.
- Documentation for the "Stage" will be found in the Stage Design Document.
- GitHub Wiki Creation
- Create initial Wiki for document storage and reference.
- The wiki homepage can be found here. The wiki homepage can be found here.
- Finalize Primary Game Loop document and create GitHub Wiki article.
- Finalize documentation for the Primary Game Loop for advisor approval and tracking of any planned changes/updates.
- Documentation for the primary game loop will be found in the Stage Design Document.
Summary
Work started with getting the player to be able to move using a gamepad or controller as this is the intended way for a player object to be controlled. There were some issues with this as for joysticks, there is a 'deadzone' that needs to be set before it can be used correctly. Every gamepad normally has a small floating value for the movement of the joysticks and never sits completely still. Once this issue was resolved by setting a deadzone for the input, everything worked as it should.
For the rest of the week, work was done working on initial documentation for the project. This live document was created and updated with previous week information. Documentation for other requested designs was also done and placed on the GitHub Wiki for this projects repository.
Planned Tasks
- Selected Development Environment
- One of the more important decisions. Determine the environment prior to semester start so that work can begin the first week.
- Primary Game Loop Design
- Document and explain primary game loop for the action that will take place. Start draft document detailing game-play mechanics, player controls, etc.
Summary
Work done prior to and for the first week was invested in designing the primary game loop and selecting a development environment.
Chosen development environment is the Game Maker Studio 2 engine created by YoYoGames. The reason for this choice is due to past experience with this engine as well as the investment to work in a language that is less familiar but not completely foreign in structure.
As for the primary game loop, design has been drafted however that draft has not been digitized or formatted. Work for the next week may add a task to improve documentation.
Copyright (C) Dave Raymond 2018