CAGD 370 - Game Development

Blog Post 4

     Much like with the last sprint, we have gotten a lot of work done in this sprint and we really feel like we have a working game that we are proud to show off to others. This sprint was really about hammering out any dents and fixing any bugs, and that is exactly what we did. As of now, there are no real issues with the game, and from now on we can focus on adding what we want rather than fixing problems. I also feel that we have really nailed the teamwork aspect of this project. As well as doing our own work and doing it well, we are much better at asking questions and helping each other out. Although it was a bumpy start, I do believe that we are working harmoniously with each other and that none of the issues with development are caused by a lack of communication.

     This sprint we focused on getting a working game rather than adding content, and the completed tasks reflect that. In this sprint I was assigned to sketch new levels, make 3 new levels, update the camera follow script, make a moving platform, make the grapple more visible, have the grapple line follow moving platforms, have the player move with moving platforms, refine levels, and fix the last grapple bug.


     All of these tasks were completed except for two. Everything that involved fixing bugs or issues was completed, which includes refining levels and fixing the grapple bug.

     The only two tasks that were not completed were two of the three levels I was assigned to make. Of these, one of the levels is in progress and the other is incomplete. I do have sketches for these levels, so when the time comes to make them, it will be quick and smooth.

     Much like with every sprint, there were a couple of issues along the way that caused the development process to slow or even stop. Obstacles that I faced this sprint included fixing the grapple bug, making moving platforms, and having the player stick to moving platforms.


     All of the problems I had this sprint involved coding, the first of which came when fixing the grapple bug. This bug was that if someone died while grappling, the grapple would stay attached to that object and launch the player across the level. This was a big problem that took several tries to fix. My solution actually came from my group mates, as William had a similar issue, so I used his solution code for my grapple bug, and it worked first try. My mistakes were incorrectly referencing a script, and I learned how to correctly do it from William.

     The next obstacle came when I attempted to make moving platforms. I wanted to do it without having two child objects that the platform bounced between, and it was a little tricky. All I had to do was reference the platform's x position and add or subtract 10 for the points it would move between. The issue was making it move slowly, and once again I used my group for help. We have an enemy that moves back and forth, so the code for that was perfect.


     The last issue I had this sprint was having players stick to moving platforms. Before the fix, players would have to move along with the platform in order to stay on, which was far too difficult. My solution was an OnTriggerEnter function that added the platform's x to the player. The problem was that even if the player stepped off the platform, they would still move with it. My solution was an OnTriggerExit that stopped updating the player's location. This problem felt better to fix as I didn't have to use work from other teammates, I was able to research and solve the problem on my own.

     This sprint taught each of us a lot about troubleshooting and working as a team. If it weren't for my group members, I would have had much more trouble fixing all of the issues I had. I now know more about not only coding but the importance of a team and that not everything can be done by one person.



Blog Post 3

     A lot of work for Monster Run got done this sprint from each of us, and now we can really see the kind of game we are making. As mechanics get more fleshed out, the game not only becomes more fun, but we can get a better idea of how to improve and build upon it than before we had things working. I feel that we are getting better at working on projects as a group, taking more caution to not mess up someone else's work, and communicating to ensure everything goes smoothly. However, once everyone knows what to do and where in the project to work, there isn't much talking or discussion, so it's up to us to look at what the others have done to stay up to speed. I think we can work on this, perhaps talking about what we did after each workday.

     Like I mentioned before, we got a lot of tasks done this week, and the game looks and feels much better because of it. The tasks I was assigned for this sprint included designing the grapple mechanic, making it visible, having it extend and retract on command, refining it and fixing bugs, sketching out the next three levels, making them in unity, updating the scene switcher for the new levels, and making moving platforms.


     During the sprint, I finished everything except for making the third level and the moving platforms. Of those, the moving platforms are in progress, and the level is incomplete although I do have the sketch for it so it will be done quickly next sprint. 

     Like with every sprint, although things did go very well, there were still a couple things that I got stuck on. For this sprint, those obstacles were the grapple and making the grapple visible.

     Although the grapple mechanic came with a lot of bugs that needed fixing, and that was a whole task on its own, the grapple itself did give me some trouble getting started. For our game, I didn't want people to be able to grapple to everything, only specific platforms that I color-coded. This wasn't working and the grapple wouldn't attach to anything at all. The solution was simply trying different things until I got it, which took a few days. For the grapple, I wanted a ray trace to shoot towards the mouse's position and check for an object and a rigid body. The main issue was that the platforms had a rigid body but didn't have a box collider, and the other platforms had a box collider but no rigid body so it looked like nothing was working. Once I realized the issue, it only took minutes to fix, and how we have a fun, fluid grapple mechanic.


     With the grapple working, the next thing to do was make it visible. Although it seems like an easy task, it was actually an obstacle. Getting a line was easy, but having it be in the right spot was difficult. This is because the joint for the grapple always attached to the middle of the platforms, but the line was drawn to wherever the mouse hit, so they wouldn't match, and that led to weird-looking grapples. Once I learned of this, I had to rewrite the code for the line renderer so that it also drew to the middle of the platform. After that was done, the grapple worked and looked great, and now players wouldn't be confused about where or how they are moving. 

     Those were the only big troubles that I had this sprint, and even though they were annoying, they did teach me and I can use it in the future to make game building smoother. Now that we are getting in the groove of things, the next sprint should be even better and I can't wait to get started.



Blog Post 2

    As of now, the design process for "Monster Run" has gone relatively smoothly with very few issues. Something that I have to get used to is not having everything done myself. This requires that I check out what my teammates have done to make sure I know what's happening and make sure everything is going as planned. This can be a bit of a struggle when you are doing your own tasks, and it is something that I have to get used to since working in teams will only get more common. Despite this, working in groups has a lot of benefits, the main one being dividing work. A team can get a lot more done in one day, and you can ask questions if you get stuck. It is a lot faster working in a group, but how smooth it goes depends on the group's communication. As this is the first team I've been in, communications aren't as great as they should be. Considering this, however, our communications are good and will only get better over the course of the project.  

    For the second sprint of development for "Monster Run," I was tasked with sketching out the tutorial and first level of the digital game, build and refine those levels in Unity, design the exit door for the levels, and begin research for the grapple mechanic so that I can make it at the start of sprint 3, and making the grapple.


     Over the two weeks, I completed both level sketches, both level buildings in Unity, the exit, and grapple research. The only card that is still in progress is making the grapple, which should be done within the first few days of the next sprint.

    Much like with the last sprint, there were a couple of problems that did occur during this sprint that slowed down production. The main problems that occurred in the past two weeks includes remaking the levels and researching the grapple mechanic.

     The first problem that came up was with both levels. Pretty early into the sprint I finished making both the tutorial and first level in Unity. This didn't take long as I already sketched them out and just had to follow the blueprint. The problem arose when one of my groupmates made the player. Since it's a 2D platformer, the player was a 2D square. 2D and 3D objects can't collide in Unity, so the player would simply fall through my level. In order to fix this, I had to make new sprites for the ground and platforms and remake both levels. Although it didn't take too long, it did slow the development process and I'll make sure to avoid that with future levels as well as games.


     The only other problem that occurred during this sprint was researching the grapple mechanic. I used video tutorials as the main method to learn about how to make a grappling hook, but there weren't any videos that perfectly captured what we wanted. One video got the movement of the grapple to what we wanted, but initiating the grapple was too weird. Another video did better on getting the grapple, but the grapple itself wasn't what we envisioned. The solution to this was using parts of each, taking some code from each video and troubleshooting to make them work together. This might be hard, but it's the best way to achieve the grappling hook that we want in Monster Run.

     This sprint didn't have many problems, which makes sense as it's the start of development and there wasn't too much to get stuck on. Future sprints will probably have more and harder problems but we now know how to solve and avoid some obstacles. I will also be able to use these solutions in future projects to make future development go more smoothly.




Blog Post 1


     Over the past two weeks, I have been the level designer for a game development team called "The C.A.G.D." Together with programmer Davis Howard and Project Manager/ Producer William Martinez, we have just completed our first two-week sprint for "Monster Run," a 2D platformer in which a little boy runs, jumps, and grapples to avoid monsters, collect nightlights, and escape the level.

    During the two-week period, I was tasked with creating the tutorial level and first normal level for our paper prototype, as well as giving both levels a spooky atmosphere in order to convey more about the game. At the end of the sprint, I had finished both levels, and gave both a scary mist-like effect, completing all of my assigned tasks. None of my cards for the sprint were incomplete, and my other in-progress cards are those for the next sprint, which include designing a level on paper, making said level in unity, and adding a few details to keep from being too bare-bones. 


    Although the two weeks went very smoothly, there were a couple of issues here and there that slowed production momentarily. Some of these included getting a spooky atmosphere, understanding what we wanted with the level, and making a level that fit well with the rules.

    The first problem that came up during the sprint was understanding what we wanted with the level. This is because our idea for the Unity game wasn't easily expressable with a paper prototype. We had to do a lot of brainstorming and testing to get something that we could make on paper that would also represent what our Unity game would look like. Eventually, we settled for paths that the player would navigate, and any paths that were one space away from another could be grappled to. As for monsters, we simply incorporated the idea that after every player turn, two monsters would move 3 spaces towards the player's location. This worked well, as it made for a fun paper prototype, and also told players enough about our ideas for the game for them to give us productive feedback. Thanks to the brainstorming, I was able to create paper levels that well expressed our ideas for the Unity game.


    The next problem that we had to face came shortly after, and that was making a level that would fit well with the rules. After we brainstormed the rules, it was up to me to make two levels that allowed those rules to be easily displayed and tested. The solution to this was simply making levels and testing them. It took a few iterations, but I eventually made a tutorial level and normal level that didn't confuse the players, and let them easily test the game. Some of these iterations included making the tutorial one small path that forces players to use the grapple, and placing night lights in places where grappling would make them easier to collect. These levels plus the well-made rules sheet led to players having fun and giving feedback that would help us with our whole game concept, not just the paper prototype.

    The last problem I faced during the sprint came at the end when I had to give the levels a spooky atmosphere. This wasn't a difficult problem, and the solution came quick, as I just had to give it two or three tries to get the atmosphere right. The first time I tried, the level was too dark and it was hard to see. Next, I kept the platforms light, but the contrast between the platforms and the background was too high, and it looked strange more than spooky. I got it right the third time when I did more fading, resulting in a spooky mist with the platforms still clearly visible. I also added a glow effect to the night lights which made it even better.


    Despite a few small bumps, this first sprint went very well and we all finished our tasks and learned a lot of information we could use moving forward. At this rate, the next sprint should go just as smoothly and we can't wait to get started.

    

Comments

Popular posts from this blog

Hello Everyone!