Dustin’s PPJ 09(Postmortem)

Especially when looking back towards the past time marches on ever forward. We started off as a rag tag group who’s shard commitment to the project was, “eh, seemed cool” to a band of memers and dreamers with big ideas, to a bunch of dung beetles thoroughly crushed by the weight of those ideas. In the end though I guess you could say that we resurrected as guardians of a project that we nurtured, wanted to protect, and see grow up well.

The only thing I can really say that I learned in this project is that I still have a lot to learn and that I will never stop learning, not just from a technical standpoint but from a life view too. I did not commit nearly enough to this project as I could have due to a variety of factors such illness, other projects conflicting and the occasion moments of choosing to play games rather than try and fix one. Problems like that will never go away permanently but at the very least having to deal with them has increased my ability to minimize the time lost that I could have spent on my project.

Then there was of course the issues that arose from coding on the same project with multiple other people at the same exact time. We lost scenes, prefabs, and just in general hours and hours of work due to either our own incompetence or failures on the software we were using. But after encountering those issues we were able to manage our work better, make sure no one was changing the same thing in the scene at the same time, keep our code up to date before we shared our changes with each other, and other general management so that issues lie this that kept popping up in the early weeks didn’t show up again for the rest of the project.

The final issue that I think is worth mentioning is the corners I may have cut in writing some of the code I developed. There are some parts that are questionable in terms of generally if they want to expand on it or even to bug test it. Fortunately most of the systems are set up well enough that things should not be impossible to change if needed.

There are so many more things to be happy about than upset about in this project fortunately. First would be that the some of the systems I set up are actually done well so that they are not too much of a pain to mess with if needed and that for some parts it is easy enough to read and understand. At the very least I am proud about how I set up our grid system so it did not involve searching through a massive array in order to figure out which player could use which tiles.

There’s also the fact that our game turned out at the very least enjoyable. It’s far from perfect but the systems we threw in there, units, towers, and blessings and how they all interact bring out choices that are at least kind of meaningful and engaging. People in play tests seemed to have some fun playing the game and that was all I could ask out of this experience.

Finally, I’m glad to have a team that I could send gifs to and get gifs back in return. There were crunch times where we all set ourselves on fire to fix any problems in the last minutes and the only thing keeping those fires burning were the memes and plain jokes we all shot at each other.

My future is getting a tube that’s supposed to represent my diploma and entering the work force but,(assuming that our project moves forward) if my team needs me I will be ready at the call to explain any stupid code I wrote or fix any dumb bugs I caused.

Dustin PPJ 08

Completed Tasks

  • Fixed tile coloring (2h)
  • Bug testing and general bug fixes (2h)
  • Small QoL updates (1h)

What Went Well

  • Block players earlier from advancing the menu if they don’t have enough gold
  • Object oriented code made fixes easy.

What Could Have Gone Better

  • Realizing how simple the tile color issue was faster

Upcoming

  • Balancing

Dustin PPJ7

Completed Tasks

  • Blessings as prefabs (2.5h)
  • Rewired Refactoring (3h)
  • Miscellaneous bug squashing (2h)

What Went Well

  • Blessings now work as instances so cooldowns and particle effects are a thing
  • I can use my PS4 controller to play without running another program
  • Many bugs were found and fixed

What Could Have Gone Better

  • Fixing merges took forever
  • Lots of bugs with how we were checking playerIDs

Upcoming

  • Code cleanup and final big bug fixes

Dustin PPJ06

Completed Tasks

  • Tower rotation (1hr)
  • Incorporating Influence based spawning to our build (2hrs)
  • Adjusting tower spawning points(1hr)
  • Fixed influence ranges of the sun tower(3hrs)

The Good

  • Influence spawning seems to be working fine in conjunction with all of the other changes that were made.
  • Fixed some graphical things that looked a little bit buggy.
  • Learned that sometimes the simplest solution is the best even for trickier problems in terms of getting the sun tower to have an influence range the same size out from each direction.

The Bad

  • Started work on the temple but realized too late there was a bug with it giving favor before it was placed.
  • Influence stops working when the scene is reloaded after a game end.

The Future

  • Juice!!!!!! to make the game pop more
  • Final bug squashes so our game doesn’t break when people try to play it

Dustin PPJ 05

Completed Tasks

  • Changed the rules of tower spawning so you have to build out from your base.(5h)
  • Added in an instant tower kill blessing (1h)
  • Miscellaneous UI fixes (1h)

What Went Well

I know that there are a few games out there that if they want something to die instantly rather than call some instant die function they just apply an absurdly high amount of damage to it and hope it dies. That was the method I chose for our tower kill function because we already had a damage tower function written and just instantly destroying the tower could have broken any number of other things the tower does.

I also changed the rules of tower spawning from each player being able to place on halves of the field to players having to build outward from their bases with each tower placed adding to the player’s spawnable area and each tower lost decreasing that area. Hopefully this gives a greater tension and feel of winning/losing a war.

What Could Have Gone Better

I did not finish the tower spawning change in time for us to include it in the build and also we were unsure how to convey to the player the area that they were allowed to spawn on.

Upcoming

Ahead it looks like more features fixes and code cleanup. Almost the final stretch.

Dustin PPJ04

Completed Tasks

  • Setup AOE Damage and speed up blessings (4 hrs)
  • Implementing tower health and destruction (1hr)
  • Gave our temp unit models temp health bars (1hr)

What Went Well

The blessing system was fairly simple to implement since we do a lot of the same stuff for unit spawning it was basically reuse code and it works. We can hurt a bunch of units at once now or we can make them speedy. It looks like on a basic level all of our future blessings will function the same programatically which is lowers the burden on future programming of these blessings.

What Could Have Gone Better

I did not get a chance to thoroughly test my tower destruction code so I am worried something somewhere will break but for the most part I am optimistic that everything works fine.

Upcoming

Next is more unit implementation and possibly helping out with the combat logic.

Borrowed Lines

Completed Tasks

  • Locking tower spawning to a grid (4 hrs)
  • Implementing tower spawn time and cost (2hrs)

What Went Well

One of the general rules of programming is that if whatever you’re trying to do someone else has already done it and how they did it is somewhere on the internet and not that hard to find. At the very least, something a programmer is trying to do can be broken down into smaller steps which someone has surely done. I had to figure out how to get the towers to lock to a position on a grid on spawn but no one had a solution for that online. So I had to settle for using a spawner based on mouse click and adapting that to our cursor setup. Then it was a matter of coming up with a clever system to make it easy for us to edit these tiles to mark them as roads.Screenshot (2)

What Could Have Gone Better

I don’t know how well the other towers will work with the grid but I am fairly confident that I implemented well enough to handle their shapes

Upcoming

Next comes talking more about design and how we want things to play out. Our base is pretty much done, next comes figuring out how the other towers function and maybe adjust the rules of where you can spawn towers.

Dustin Nguon PPJ02

Completed Tasks

  • Bare bones tower spawning. (3hrs)
  • Looking into grid implementation. (2hrs)
  • Meetings/Merge conflict resolution. (2hrs)

Total: 7 hours

 

PPJSS02

What Went Well

  • Tower spawning works at a basic level(The cubes spread through the map).
  • Found an example of grid implementation that looks like it will work for our towers.
  • Merge conflicts were not extremely hard to fix.

What Did Not Go Well

  • Was sick for a long time so could not add things that I wanted
  • My additions are super basic and will probably need to be touched up later

Upcoming

  • Implement a grid for towers to snap to.
  • Figure out how to mark the grid so towers can’t spawn on lanes.
  • Rotating towers.