Welcome to Yash Pandey’s Personal Production Journal
Week 2
Yash Pandey PPJ 1
Tasks – Hours taken:
- Infrastructure Set-up (Unity Hub, get correct unity version, set-up github) o 1.5 Hours
- Tech Demo (Pair Programming with Tech Demo Team, grid initialized, movement foundation laid, environment design) o 1 Hour Total Hours: 2.5 Hours
Positive: Were able to tackle some design questions and create the tech demo
Negative: The team’s schedule is very tight making it hard to meet up for meetings
Upcoming: Game Mechanics Design, Player Movement (and all the arithmetic related to it), Learn about Algorithm A* for figuring out AI mechanics
Week 3
Yash Pandey, PPJ 2 Tasks – Hours taken:
- Hex object with implementation of grid calculation references, grid generation script. o 3.5 Hours
- Standardized Hex Template using classes for laying the foundation for map generation (level design tool creation) o 2.5 Hours Total Hours: 6 Hours
Positive: Constructed Hex Class with future proofing for level generation, hex distance (between two points) and movement calculation trackers, etc. Also helped implementing the hex grid generation for creating the hex map
Negative: Difference in purpose for elements give rise to the need for further specification and discussion on details
Upcoming: Unit Movement, Unit Path Choosing (how to get from point A to point B)
Week 4
Yash Pandey, PPJ 3 Tasks - Hours Taken:
- Highlight Hex function (along with refactoring and improving several structures) o 5 Hours
- Integration of path decision between two points o 2 Hours
- Creation of Mathematical Algorithms for Hex-based calculations o 0.5 Hours Total Hours: 7.5 Hours
Positive: Implementation of Hex Highlighting and modifications to Hex object for better clarification and build
Negative: Implementation, refactoring, and silly mistakes caused tasks to take a whole lot longer than expected.
Upcoming:
- Finishing of implementation of Hex movement
- Unit (player and enemy) generation and implementation to complete Game Loop
- Perhaps even taking a look at Map Generation to allow for a custom bias in the tiles that get used.
Screenshots:
Week 5
Yash Pandey, PPJ 4 Tasks - Hours Taken:
- Helped with Conical Highlight Function o 1 Hour
- Helped Hex Implementation from Grid o 2 Hours
- Resolved Merge Conflicts o 1 Hour
- Generate algorithm for figuring out direction of momentum o 1 Hour Total Hours: 5 Hours
Positive: Lots (and lots) of Pair Programming, Resolved Merge Conflict, Translated Square Grid to Hex
Negative: Merge Conflicts, Realize need to clean pipeline and code, Tasks were only partially complete
Upcoming:
- Refactor and Clean up Code
- Implement algorithm for finding direction of momentum
- Implement Enemy AI (while following rules of Movement)
- Integrate different art and tile assets created (create tile bias, enemy bias, etc.)
Week 6
Yash Pandey, PPJ 5 Tasks - Hours Taken:
- Create Algorithm for Hex Grid Graph Generation o 7 Hour
- Implement Dijkstra’s Algorithm to return list of tiles to traverse to get from point A to point B o 3 Hours
Total Hours: 10 Hours
Positive: Robust and thoughtful implementation of Graph, Dijkstra’s, and integration
Negative: Graph Implementation Edge cases took time because of tedious edge case errors
Upcoming:
- Refactor and Clean up Code
- Finish Enemy AI implementation
Week 7
Yash Pandey, PPJ 6 Tasks - Hours Taken:
-
Implement Dijkstra’s GraphSearch o 2.5 Hours
-
Debug graph creation (memory references) (Unity doesn’t like me debugging self-referential structures </3) o 6 Hours
-
Clean up and reformat functions for robustness, clarity, and better functionality o 2 hours
Total Hours: 10.5 Hours
Positive: Correct major issues with graph creation (offsets, co-ord patterns)
Negative: Graph Implementation Edge cases took time because of tedious edge case errors
Upcoming:
- Finish Enemy AI implementation
- Figure out why
graph[q,r,s].Neighbours.add(graphh[q, r+1, s-1])
doesn’t work
Week 8
Yash Pandey, PPJ 7 Tasks - Hours Taken:
-
Finish Pathfinding o 3 Hours
-
Integration o 5 Hours
Total Hours: 8 Hours
Positive: Updated pathfinding to path around obstacles (set distance to occupied nodes as infinity)
Negative: Integration of pathfinding was a lot more tedious than expected. Must look to pair program this into the game.
Upcoming:
- Finish Enemy AI integration
- Create different attack sequence behaviour for enemy behaviour variety
Week 9
Yash Pandey, PPJ 8 Tasks - Hours Taken:
-
Create Team Website 2.0 o 10 Hours
-
Debugging and Troubleshooting with Bugs and Integration issues o 2 Hours
Total Hours: 12 Hours
Positive: The game website is no longer just a bunch of links slapped onto one webpage. It has become a little more diverse, a little more artisic and a whole lot better.
Negative: The AI still wasn’t integrated into the game making testing it impossible. Further, development of the upgraded website is a lot more tedious than expected which led to a pretty long time needed to develop and debug it (since it all happens behind the scenes)
Upcoming:
- Finish adding more assets on our website and flesh it out with pictures of devs, images of concept art, etc.
- Enemy AI integration
Week 10
– Post Mortem –
The project itself started out with everyone in high spirits (as pojects often do). And even towards the end, I felt that despite every other class being in the belief that “The work for my class is more important than the others and so, priortitze this over anything else”, I never felt that the team was “lacking” or “falling behind” with things. There were bumps along the road, there were setbacks, discussions, going back and forth, but at the end of meetings, everyone had an idea of what needed to be done and that inspired confidence within the team itself. Initially, all the programmers were doing a little bit of everything everywhere but as we got to the later half of the quarter, everyone had some larger chunk of the game they were tackling piece by piece. I had the Enemy AI. The enemy AI presented in the golden build was NOT the AI I developed but a simplified basic enemy AI. Issues with integration persisted for the last month of the development process for me and not having the breathing room (due to a personal emergency and classes) to sit down and iron these issues out really pushed me towards developing imposter syndrome. This week, I had spent some time working with other developers to integrate the AI but my finals schedule didn’t allow me to sit down and see it through. We ran into issues when it came to pathing for multiple enemies but it worked perfectly for one enemy on the screen. The lack of integration was a fault on my part and given the chance to, I am confident in my ability to integrate this into the game. The website I spent some time adding to was scrapped for Alex had a better vision for what it should look like and I prefer the website he created over mine too. There was a crisis week in the middle of the quarter which caused us to realize and re-evaluate our developing process and the issues since has decreased significantly.
Positives:
- Everyone stayed on top of their designated work
- The communication and feedback amongst peers really helped pull this project together
- Everyone had a clear idea of the vision of the game and the direction to take it in
Things to Work on:
- Finish the AI implementation (overdue)
- Create a dialogue sequence (and all its sub-requirements) to introduce the story to the player
- Break down story into arcs and update game documentation to represent the same
Overall, I have been excited by this process of developing this project through and through (often was the best part of the week) but I find myself needing to improve on my time management and allocation techniques. I think the game really came together despite the discussions in the middle of the week about the direction we want to take this game and the delay that came along with the enemy AI but I’m sure with more time, we can really make turn this project into a successful product
Summer 2021 begins here!
Week 1 - 2
Yash Pandey, PPJ1
Tasks - Hours Taken:
-
New Team Orientation/Integration o 3 Hours
-
Story Development o 3 Hours
Total Hours: 6 Hours
Positive: Was able to get a story team together and hammer down some important details. Further, the new additions to our team have not raised any concerns which gave way for a smooth-ish integration into our team but I’m sure eventually, the questions will pour in
Negative: There are going to be a lot of questions about “Ooh what about this…?”, “Where can I find __?”, and “How do I do this?”. Made me realize the need for documentation of the process for helping with onboarding in a team to get everyone up to par. Hopefully in a more professional setting, there could be a team dedicated to this.
Upcoming:
- Fix improved AI implementation
- Create a dialogue system! (in scope for this quarter)
- Create dialogues for the characters.
Week 2 - 3
Yash Pandey, PPJ2
Tasks - Hours Taken:
-
AI Implementation Fix and Update o 5 Hours
-
Story Development o 1 Hours
Total Hours: 6 Hours
Positive: Was able to finally recreate the issues with the implementation of the AI and fix a major chunk
Negative: Didn’t get to work on the story as much as I wanted to but but issues with some of the logic in the AI interacting with the game caused a lot of issuses
Upcoming:
- Finish improved AI implementation
- Create dialogues for the characters.
Week 3 - 4
Yash Pandey, PPJ3
Tasks - Hours Taken:
-
AI Implementation Fix and Update (Djikstra’s Visualization with Hex Grid) o 8 Hours
-
Story Development o 2 Hours
Total Hours: 10 Hours
Positive: Resolved the issue of enemy not detecting other enemies on the board. Progressed to resolving integration issues. Recognized next steps in finishing integration. Got soe initial dialogue down and shared with team for comments and critique. Enemies differentiate between obstacles and players to enable “decision making” in route.
Negative: It’s a seemingly never-ending trail of bugs with the AI. The construction of it is robust but some of the compromises we made in the past reflects today as the issues I face today. With so many things in scope, I had hoped I would get another dedicated hand in integrating the AI but there hasn’t been any expressed interest in the same.
Upcoming:
- Finish improved AI implementation
- Create Enemy AI Behaviour Pattern (do they detect other projectiles? Does it take the most optimal path all the time or does it simply try and take the shortest route)
- Flesh out story dialogues
Week 5 - 6
Yash Pandey, PPJ5
Tasks - Hours Taken:
-
AI Implementation Bug Tracking o 2 Hours
-
Story Development o 2 Hours
Total Hours: 4 Hours
Positive: Fixed a couple null-reference bugs. Got some dialogues down and ready to implement into game.
Negative: Have had pulling issues from DEV making getting a stable build in my client difficult. Need to perhaps ensure all developers have working locals for developing.
Upcoming:
- Finish improved AI implementation
- Flesh out story dialogues
Week 6 - 7
Yash Pandey, PPJ6
Tasks - Hours Taken
-
Story Creation (Brainstorming with Story Team) o 2 Hours
-
Pair Programming and Debugging Branch and Issue with Singleton o 1.5 Hours
Positive: Got help with AI and passed over the task to teammate. Got to start working on some of the story elements and details necessary for our media (videos, slides, etc.)
Negatives: Debugging local dev environments is still very tedious. Need to find a better system to enable team-style production and staying up to date with the latest pushes in my own dev branch
Upcoming:
- Redo of Story
- Pick up bugs and issues from Trello
Week 7 - 8
Yash Pandey, PPJ7
Tasks - Hours Taken
- Wrote behaviour scrips for new enemy attack pattern (projectile attacks and line attacks) o 3 Hours
Positive: New Behaviour scripts were integrated properly without hassle.
Negatives: Time management is getting out of control with coursework in classes not dropping at all. Didn’t get a chance to work on the story
Upcoming:
- Level Creatoion
- Bug Fixing
Week 8 - 9
Yash Pandey, PPJ8
Tasks - Hours Taken
- Created Ice Level 3 Map o 2 Hours
Positive: Level Editor worked in helping me finish the level
Negatives: Had to revert back to original system of creating level which was tedious and time consuming. Realized some AI issues with new map creation and some bugs.
Upcoming:
- Playtesting Survey
- Final Bug fixes, etc.
Week 9 - 10
Yash Pandey, PPJ9
Tasks - Hours Taken
-
Playtest Surveys
-
Update Ice Level 3
Positive: Playtest data yielded some interesting ideas the team would like to see in the game
Upcoming:
- Final Sell Presentation Preparation
- Update Slides
Week 10
– Post Mortem –
Momentum has been a process and a half to make and I would consider us lucky to go through the issues we did. It revealed a lot of the challenges of working in a team and developing a game with a larger team than I’ve ever had the chance to work with before. The result of the same is evident with what we’ve been able to produce. I’m happy with hte way the game turned out and happy with how the team functioned together. Having the other team join in made sure there were always hands available on deck and we were able to diversify our requirements successfully. I think we managed to tie in a lot of the ideas we had for this game and with due time, I’m sure this would be a fun game to play for all those who pick it up. The most changed element in the game is probably our production pipeline which had to evolve with every problem we faced.
I think one area we can improve on is mapping out the progress we made on the game (from a programmer’s point of view). I think it’d be more efficient overall to be able to view the heirarchy of the systems functional in the game and the processes of the code that’s working to run the game was laid out better/explained more. It was difficult to simply “get the player to move” and I had to jump through some coding hurdles for that one to work (when working on the AI). I wasn’t able to understand what was needed to make the chaaracter move. To generalize, an integration pipeline was necessary because not everyone worked on every aspect of the game and therefore, it became important to ensure that the correct sub-systems are being called for the correct functions. Sometimes, code would be written that would change parameters other segments of code were dependent on which resulted in a lot of avoidable issues surfacing. But, we were able to communicate with each other really well to help each other complete and fix the issues we were assigned to do. Our communication this quarter was astoundingly better than last quarter which made doiung our tasks a while lot easier.
We received a lot of feedback from the playtests and they’ve been surprisingly insightful. I expected most comments to be about the tutorial being slow but there were some ideas passed on from comments that the team is excited about implementing in the game.