Saturday, February 27, 2016

Capstone Week 22 - Random Loadout and Menu Controller Support

This week was the beginning of a new sprint! I completed all of my tasks for the previous sprint, which I am happy with. Up next/already done are a few things:

Done:

  • Random loadout button - this button was requested to be placed on the character customization screen so that you could easily choose a new/random loadout. It can be used by either clicking on it with the mouse, or by pressing "Y" on your controller (if you have one plugged in). It then fills up the remaining empty slots you have in your loadout with completely random items (weapon, armor, hack, virus). This means if you want to use one specific item, and have the rest be random, you simply have to select that item and then hit the random button and voilah, you have a random loadout with one (or two if you want) item of your choice. Pressing "Y" again however will clear out your entire loadout, it will not save the item you chose. This could perhaps be changed to not do this in the future, but it depends on playtesting feedback on the button.
Doing: 
  • Main menu controller support - While it is a seemingly simple addition to the game, I think it will provide a lot of ease of use and enjoyability to the menus. I plan on using Unity's navigation controls within their UI system. It's actually very nice because it shows you the "flow" of your navigation, and you can change it to whatever you'd like. This allows you to set up the ability for the UI to respond to inputs from controls or "Tab". For example, using a joystick or D-Pad to navigate up and down a list of buttons without having to set up any scripts that are incredibly complicated.

Thursday, February 18, 2016

Capstone Week 21 - Loadout System

This week I've been working on the loadout system. It has been especially interesting to create it because it will utilize the classic "rotating image" type system you see in so many games with cooldowns on their abilities. When you activate the ability, the image will go blank, and then fill up in a clockwise manner as if the hand on a clock was making the image visible again.

I'll also have to make several changes to the loadout system, so that it will be easy to send items to the in-game loadout visual.

Saturday, February 13, 2016

Capstone Week 20 - Sprint Reworks and Progress

This past week I actually had my task/card deleted in Trello by our PO and CEO. Needless to say I was fairly annoyed with this as it left me without anything to work on (besides the Git repo issue). I've been pestering people about this and it may end up that I have nothing to "officially" work on. I'll find something to do with my time but it just might not be what Evan and Steve want.

However, this week in class we had our sprint retrospective. I made sure to bring up that my task was removed, and that I had nothing to work on because of it. That issue was chalked up to a communication issue as it should have been. That was the major thing we decided we need to improve on in upcoming sprints.

Since then I worked on several things, including the new Git-Flow we want to use and also the Popup Ad/Glitch Virus rework that was needed. The Git-Flow is a simple one that the creators of SourceTree created, seen below in the image. I also provided a link to their tutorial on it as it is a good read.



I also made a change to the Popup Ad that was suggested by Mr. Das and some of our playtesters. Originally every popup was opaque, making it difficult to tell which popup was the one that needed to be pressed. So I added some transparency to the inactive popups, giving it the following effect:


This gives a very clear impression of which popup is active, making it less annoying to progress through each one.

Wednesday, February 3, 2016

Capstone Week 19 - Conquering Git Errors

This past weekend I participated in the Global Game Jam! It was a lot of fun, but definitely ate up a lot of time I would have otherwise spent working on Wreck-uisition. If you're interested, here's the link to our GGJ submission, and our "title" picture:

Hue-Man GGJ 2016

On to Wreck-uisition now, I finally figured out that Git repo error! As it turns out, Git has a max individual file size of 100MB. Well, the intro splash screen video we made of the game logo is about 380MB. This is what was causing the error. The real issue though was trying to diagnose and fix the issue, a window popping up saying there were issues syncing to the branch isn't very specific and not at all helpful. It's basically Git saying, "We know there's something wrong, but we don't know what's causing it."

However, the window does say to try debugging the repo in the Git shell. Now I'm relatively new to Git and source control in general so this looked like an immensely challenging task. But of course, a problem doesn't truly exist if someone hasn't posted to StackOverflow about it yet, which this one has had someone do just that. This is how I found out that the file size was the source of the issue.

Unfortunately, GitHub for Windows has some quirks. You'd think reverting a commit would get rid of the commit. No, in fact, it simply creates a new commit that overwrites the previous one with all those assets deleted. To the Git shell! The first command that proved of use was the "git status" command.

While this commit obviously doesn't show the error (I forgot to screenshot it when I actually did this), it does show you what is currently going on. My shell at the time showed me that I was 4 commits ahead of the remote master branch (due to trying to revert/commit over and over until I figured out that Gits reverting didn't actually remove a commit). So to then to actually delete a commit (since these commits meant nothing and I didn't need them at all), the command is "git reset --soft HEAD^". This deletes the last commit. The number of commits deleted is determined by the number of "^" symbols after the HEAD command. In my case I just did this 4 times since I didn't know you could add more "^" symbols at the time.

After all this, I was finally able to commit and sync with the repo properly once I had discarded the 380MB file.