Monday, February 27, 2017

Duncan Post 2/16/2017


This week I merged all the work I had been doing into what Max had done in Dropbox. In doing so I had to change parts of my code again because Max had made changes to the movement system that effected how the player sprite interacted with the Ground prefab and script I had added to count the amount of ground that was painted. With almost all the changes to the game done that we need right now we also began to talk about level design and making a first level.



I also fixed an error where whenever Pojo touched the side of a Ground prefab an error would start spamming that said IndexOutOfRangeException - Array index is out of range. I had incorrectly done some of the math that detected whether or not Pojo was touching the ground. Where I defined touched I had added 1 and I hadn't taken that back into account when running this line:
 int idx = (int)((touched.Length * pos / (bounds.extents.x * 2.0)));
So I added -1:
int idx = (int)((touched.Length * pos / (bounds.extents.x * 2.0))-1);
and I fixed it.
With the projects merged we now plan on starting level design and making a first level which will be more tutorial based. We will also likely begin replacing some of the sprites that we just had as placeholders.

Tasks Completed

  • Fix bug that spawns errors
  • Fix bug that makes Pojo white
  • Change Pojo sprite collider so it works better with ground prefabs

Tasks to be Completed

  • Fix wall jumping Pojo

Thursday, February 23, 2017

Max Post for the Week 2/23/2017

This week I started doing level design! I designed a basic first level, with simple hazards and tutorials. I also created a purpose for the sign I created last week. When you walk over it, a message pops up like a tutorial. I made a series of these across the first level. This was the first script I made with absolutely 0 outside input or help, it was pretty simple. After making a mock-up of my level design I implemented it into Unity.


This is what the level looked like when I mocked it up on Piskel. The black means sign, green is ground, light blue is crystals, reds are hazards, yellow is the moving platform, and dark blue is the end of the level.


Here is what it ended up looking like in Unity. The big purple thing is just the UI button, you cannot actually see it there in the game.


Here you can see Pojo hovering over the sign, and the message showing. The text is not finalized, nor is the size. I plan to make the tutorial text bigger. These signs will only be present in the earliest levels. The first level has 6 such signs.

Tasks I completed:

  • Start researching level design
  • Make John's nemesis a moving platform
  • Create mockup of level 1`
  • Make sign interactable
  • Work on sign script
  • Sign activates message when walked over
  • Create messages for every sign on level 1
Next week I hope to refine level one. I will play the first level of Mario and see how long it takes, then check my level as well. After I check for timing, I may make changes to the level.

Active Tasks I hope to complete:
  • Create Level 1 (finalize)
  • Look into changing jump height with hold time (not high priority)
  • Time Mario Level One and Pojo Level One; compare

Thursday, February 16, 2017

Duncan Post 2/10/2017


This week I finished adding a system to keep track of how much of the ground is painted. The main problem is that it cannot count it automatically and you have to paint the entire level to determine the number that says how much of the ground prefabs in the scene are painted and then it is put into the score script and calculated as out of a percentage. I ditched the idea of having lots of little prefabs and seeing if each was painted because I could not make it work that way. Here is an example of the amount of ground being painted being output under the Painted: 


I ran into a lot of problems while attempting to make this and ended up changing several completely different parts of our code substantially in order to make it work. The crystals are now counted differently in the Score.cs script and counted in a similar way to the amount of ground that is painted. I also worked on the shooting of Pojo and made it so holding down the shoot button would make you shoot infinitely. There was also a problem with many of the crystal prefabs that I fixed and at one point I got frustrated with working on the percentage of ground painted and added all 12 levels into the script and unity. Looking ahead Max and I plan to merge next week and maybe even begin level design or a tutorial.
Asana Tasks completed:

  • Make crystals all prefabs
  • Make crystals hitboxes not pentagons and like the shape of the actual crystal
  • Make levels for all the buttons in SleepyMeadows
  • Create a script to paste a bunch of prefabs in a line
  • Find more bugs and fix them
  • Create different ways for starring system to work
  • Make it possible to calculate the amount of ground that is painted
  • Make the text output the number that represents the ground that can be painted as a percentage
  • Holding shoot button shoots continuously
Asana Tasks to be completed:
  • Make it impossible to go above 100%
  • Merge code bases
  • Merge Unity versions and check every single reference
  • Fix my visual studio

Max Post for the Week 2/16/2017

I was put at a standstill on Tuesday this week because I had to wait for Dropbox to upload my project. Duncan and I merged what we had been working on for the last few weeks, so we are now on the same page once again. Today (Thursday) I fixed a couple of bugs surrounding Pojo's collider. I also added the ability for Pojo to shoot infinitely when holding down the shoot button continuously. Additionally, I made a sign sprite that will be intractable in the game to display tutorials in the early levels. Lastly, I spent some time researching early levels of other popular platformers (like Mario). I do not have many pictures to share, but here:
This is the sign I made. It looks a lot better on a smaller scale/screen. When the player touches it, the sign will display a message like a tutorial.
This is the most recent version of our game. As you can see, Pojo is shooting right continuously. Duncan also added the painting percentage system in the top right of the screen.

Tasks I completed:
  • Upload Max Pojo to Dropbox for merging
  • Play some first levels from a variety of platformers to get a sense of gameplay
  • Infinite shooting when holding button
  • Fix check ground hit box
  • Bug: paint doesn't show up when jumping continuously
  • Create sign sprite
Next week Duncan and I will hopefully be creating our first REAL levels! We will probably get sidetracked with bug fixes, however, because the gameplay is not fully polished.

Active Tasks I hope to complete:
  • Make sign intractable
  • Look into changing jump height with hold time
  • Start researching level design
  • Create Level 1


Friday, February 10, 2017

Max Post for the Week of 2/10/2017

This week was very productive, but I ended up doing a lot of things I did not anticipate doing this week. The biggest thing I did was create a new (though not final) Pojo sprite, and allowed him to flip and shoot in two different directions. This is pictured below.


To do this, I had to entirely redo the movement system that we created on day one. With this new movement, Pojo slides a lot less and so the player has a lot more control over their movement. A lot of bugs came with this new movement system and flipping/shooting. This includes colliders, camera glitches, and interaction with other objects. There are no longer any major, game-breaking bugs (that we know of)!

Tasks I Completed:

  • Fix Collider on New Sprite
  • Change Player Collider to Polygon, not box
  • Fix pause menu glitches for level 2
  • Tighten up movement controls to control slide.
  • Player sprite flips when going left/right
  • Touch Controls + new movement and flipping
  • Fix Trigger Passthrough Error
  • Fix error where Pojo respawns twice when jumping on hazards
  • Look into slight snapping when sprite flipping (its annoying)
  • shoot in both directions
Next week I want to fix a couple more small bugs that take away from the game. Duncan and I will also be merging code bases. I am also going to (hopefully) begin designing some REAL levels with all of the mechanics we have created so far.

Active Tasks I Hope to Complete:
  • Look into changing jump height with hold time
  • Bug: paint doesn't show up when jumping continuously
  • Bug: paint turns white when jumping on hazard.

Thursday, February 2, 2017

Duncan Post 2/2/2017

This week I continued my work on creating a tiling system that will keep track of whether or not a block is painted and then add that to the percentage of the game that is "painted." Currently the script works by instantiating prefabs in a line from wherever I have placed an empty GameObject in the scene. I have another line that is meant to create a circle of the prefabs but it is not working right now. Here is an example of the code being implemented:

I also worked on making all the buttons in the level select for Sleepy Meadows have levels attached to them and then started making empty scenes for them so they would be in the build settings. I played around with a new kind of design for a fourth level and actually made a new scene in it unlike the other levels, the screenshot is from the fourth level. Looking forward Max and I plan on merging our games next week. I have spent a lot of time working on the script to make a lot of little Ground prefabs and hope to be done with it some time next week.
Asana Tasks Completed:

  • Make Ground completely solid from all sides
  • Create new way for player to interact with Ground prefab, current is buggy
  • Make crystals all prefabs
  • Make crystals hitboxes not pentagons and like the shape of the actual crystal
  • Make levels for all the buttons in SleepyMeadows
  • Find more bugs and fix them 
Asana Tasks to be Completed:
  • Fix Unity
  • Find more bugs and fix them
  • Work on script to create tons of little bricks
  • Create different ways for starring system to work
  • Creation of a tutorial/think of ways to introduce abilities of Pojo to new players
  • Merge code bases

Max Post for the Week 2/2/2017

This week I got a lot done on the level unlock system. Last week I implemented a way to end levels manually (going through an exit), and this week I actually made the unlocks work. Completing a level now unlocks the next level for play, and the level is permanently unlocked (unless you delete the app). I had to make a new level unlock script to make it work. Below is a picture of the level select screen with the first three levels unlocked. The "L" is just a temporary place holder for a lock until we get a better sprite.



As you can see, I also added a back button in the top right corner of all menu screens. This allows you to freely travel between the menus without having to use the Android back button (though we might add this support later).

Another major thing I did was redo the way our enemies and movable platforms move by overhauling the object move script. I made it so you create game object points, and the script just makes the platform move towards the points, which there can be an infinite number of. I also had to figure out how to make Pojo stay on the platform and match the platforms speed. I did this by making Pojo a child of the platform when they collide. I then fixed a bug where Pojo was ALWAYS a child of the platform.



I also spent a little bit of time deleting code we do not use, including entire scripts that we won't need in the future.

Tasks I completed

  • Create Visual Indication of Unlock
  • Make locked buttons not interactable
  • Finish unlock system with buttons and arrays, visual and all
  • Clear Unnecessary/Unused Scripts
  • Add menu mobility so you can fluidly move through screens (this was the back button)
  • Create new moving platform script
  • Stay on moving platform
  • Create platform that can move through multiple points
  • Fix bug where Pojo is always a child of the moving platform.
Next week I plan to add one last core mechanic, shooting in two directions. Right now Pojo can only shoot right, which is not good game design. I will spend the first day next week (and more if it takes it) doing this. After this I will begin basic level design!

Active Tasks I Hope to Complete Next Week:
  • Shoot in both directions