Mastery Journal Reflection

Mobile Game Testing

During this month I was able to refine my project, Artificial Nocturne, and focus almost exclusively on wrapping up the game loop. In its current state it is a sufficient demo of what I envisioned when planning this project last October. Although this is just a demo, I am happy with what has been accomplished, a significant amount of work has gotten done and the systems I have built out are both scalable and reusable for a variety of projects.

Particularly the RPG character class system and the pathfinding are the most reusable two. The class system allows me to create a script for a type of character and then auto populate the appropriate components needed for that character to function in the game space. Additionally, character data is automatically passed from that character type script to those components so the effects of that component will vary in effectiveness based on the character types statistics.

For example, one character type may have a magic attack stat of 15 while another is 5 but both characters may have a fire spell component attached to them. That fire spell components effectiveness in game will vary based on the parent characters magic attack stat. Now that that system is completed, I can focus on just building out smaller components for those characters to use.  

The pathfinding is similarly reusable and works well with the class system. For this I used the A-Star algorithm and set it up to read the height and width of a 2D background image. It then populates the path finding nodes at intervals that can be set from within the editor. From here I have the Unit script that is to be attached to the character game object that will be using the pathfinding. This has been integrated with the class system by auto populating that Unit component to the character type and designating the pathfinding target as a stat in that character types data. With all that said I am looking forward to building out these systems further but for the time being I am glad to be moving on to the final course in this master’s program.

Mastery Journal Reflection

Mobile Game Development 2

I feel that this month has been extremely productive and successful. I started out initially continuing to work on the path finding system and creating new sprite artwork for the player character. That first week was dedicated mostly to the artwork which despite it taking some time I feel is moving pretty efficiently. For some of the more recent artwork I have started a system of doing quick sketches as place holder backgrounds and sprites that I can build on later just so I have a head start.

In the second and third weeks I took a step back from my main project to try and build something through to completion and have it deployed to the Google Play Store. I wanted to do this ahead of my final courses so that I have the experience to draw from both when releasing future projects and during my final presentation. Rather than starting fully from scratch I took an endless runner I developed over a week in January and cleaned it up with some extra features and finishing touches. Total development time on the project was about three weeks.

Being my first released project I feel that it was successful enough. Obviously it didn’t gain thousands of daily active users but it gave me a feel for the deployment process, managing monetization features, and pushing updates/hot fixes. It also helped me to realize how familiar I’ve become with the Unity framework and C# which was a good confidence boost for returning to my main project.

The final week of the course I was highly focused on rebuilding the path finding to be better optimized and more efficient. It’s still a work in progress but it’s come a long way from where it started. This ended up being a pretty deep dive in to some computer science topics I hadn’t explored previously and additional features of Unity. In terms of CS it was proper implementation of the A-Star algorithm and Heap Optimization. I had previously built out an overly extensive system for checking nodes on the grid that was more manual and inefficient but worked, after doing some studying and exploring other implementations I was able to condense it into a more efficient search and adding the heap memory allocation on top of that has helped to make that flow better when the game is running. With Unity I discovered the Gizmos feature which allows for things like the grid nodes to be given a visual element for debugging purposes, this really helps to narrow down some of the more abstract functionality that would otherwise not have a visual representation. I’m positive that the Gizmos feature will become an extremely useful tool moving forward and I think I’ve set myself up to really make some progress in both game and software development this coming month.

Mastery Journal Reflection

Mobile Game Development 1

During this course I had the opportunity to focus strictly on development which was a nice change of pace. The milestones I had set for myself were to retrieve light sensor data, build out the UI, add collectable items to finish out the core game loop, and set up the in-app store. Each of these were accomplished except for the in-app store, the store was set aside in favor of building out the pathfinding AI system.

The pathfinding system has evolved into sort of its own additional project. Instead of using Unity is predefined Navmesh I’ve begin building out a system that analyzes the game map and dynamically populates pathfinding nodes based on preset colliders. While I have made decent progress and the functionality is in place it still needs to be reviewed and better optimized.

I feel that the Alpha build I have submitted is an excellent conclusion to my first month of development. New features will continue to be built out however the basic structure and functionality is in place enough that a big focus moving forward will be optimization and polish. With the addition of the Unity Profiler tool I am looking forward to moving into the next phase of development and am confident that by the end of May I can have this demo looking and feeling professional.

Mastery Journal Reflection

Storyboarding and Game Design

I was supposed to take this class in February but took the month off to begin a job overseas. There was a lot of work, preparation, and traveling involved in getting set up for the job and move. Nearing the end of February, the hiring process was terminated due to the mass outbreak of Sars-Cov2 in Daegu, South Korea where the job was located. So, I returned to class at the beginning of March and it has been a rough transition since. Working on the prototypes hasn’t been too much of a struggle, that part I’ve enjoyed but the documentation has felt redundant like we’ve done a lot of it before. Along with that it seems like every time I get a good workflow on the project it gets interrupted by more of the paperwork.

I addition to all that, I ended up getting sick during the second into third week of class so that didn’t help and have had some continued work with the job recruiters as well so it’s been a busy and complicated month which I’m sure is the case for most people right now. My big take away from this class though was setting up the milestones for development. I’m very happy with that and I’m looking forward to spending more time on development and asset creation in the coming weeks, I think if I can focus on those exclusively, I can build out something extremely polished and professional. Despite this month being rocky I’m motivated for the next steps and during the last few days of this class I’ve done some additional development that will help me tackle those milestones quickly and efficiently.

Mastery Journal Reflection

Mobile Gaming Business

The feedback I got from my capstone pitch has helped me reassess some aspects of my project. Initially I had planned to do all the art and development on my own, but it may be more efficient to open myself to either buying some art assets or working with another artist to lighten the workload on myself. Also, because I’m planning a sort of episodic release structure it was suggested that I use comic book story structure as a basis for narrative direction. I think the comic structure will be extremely helpful in creating a coherent narrative during the writing process. Overall, I think this class really forced me to look at the full scope of my project in every aspect, from a business perspective and as an artist and developer. Planning a timeline and looking at the development scope will lead to an efficient and well-organized submission for my final capstone.   

Mastery Journal Reflection

Agile Software Engineering

During this course I’m happy with the way I managed my time. I was able to get a decent head start on my capstone project and began fleshing out the core gameplay and look of the game. While I wish I could have got more done everything I accomplished was realistic when considering the course workload as well. I feel that I’ve achieved a lot this passed month.

Reviewing the different software development processes has also helped me to better break down my project into essential elements for a minimum viable product and what optional features I can begin to implement afterward. In this regard I’ve put together a Trello to act as a storyboard and have begun the process of building a backlog to pull stories from to work in a semi Agile process. I absolutely feel ready to move on and am excited to continue work on my capstone.

Mastery Journal Reflection

Usability Engineering

The Usability Engineering course was interesting for me since I already have a background in UI/UX development. I feel like this was the next logical step to grow my knowledge in those areas. The mechanics analysis assignment really helped me to flesh out my capstone project further and I can see that document being continually updated as we move forwards. The questionnaire at the end of the usability report was also extremely useful in gaining feedback from potential user, this has helped me to reassess my initial vision for the capstone based on how users feel about both mobile games and the dungeon crawler genre. I’ve also taken some to to begin prototype development for my capstone and although I’m not extremely far I’m glad I have begun that process.

Mastery Journal Reflection

GAME DEVELOPMENT FRAMEWORKS

During the game development frameworks course, I had some challenges with time management that I would have preferred to handle better. Personal obligations requiring a bit of travel and then going through the process of moving during the class ate up a lot of time.

Despite those obstacles I do feel like I’ve learned a lot that will help me build on to my capstone project. My experience with Cocos2d-X was good even though I’ve never worked in C++ and digging up some of the proper reference material was difficult. I think I enjoyed that project because it felt sort of like solving a puzzle. My second project gave me more experience with Unity which is great because it’s what I’ve been waiting to get started with and I’ll be using that for my capstone project.

Currently for my capstone project I’ve contacted Professor Leis and submitted my two initial ideas, there’s a link to those below. I still need to refine those and get approval for one of them which I will get handled in the next day or two now that the GDF class work and my move is wrapped up I can focus a bit better. Other than that, I’m looking forward to moving on to the next course and working to improve every aspect of my coursework and the skills needed to go a long with it.

https://edo.fullsail.edu/underdog/documents/932

Mastery Journal Reflection

COMPUTER SCIENCE FOR ENGINEERS

During my time in the course Computer Science for Engineers I feel I was able to gain a thorough understanding of some of the challenges ahead in this master’s program. The first being time management. I am fully lucky enough to be able to participate in this program without currently having to work so I’ve been able to use my time fully. Of course I still have some responsibilities that take time out of the day and I’ve found it’s important to take a bit of time to decompress, over all though I’ve stayed attentive to my assignments, studied the material, and kept myself available to follow up on any questions regarding the work I may have posted on Stack Overflow.

I definitely learned a lot during this course. My prior experience with Java has been in web development with a JSP framework so when it comes to drawing/painting graphics in Java that was a very new experience. Additionally, I don’t have an extensive math background so studying different algorithms in a greater level of detail was a good experience for me. While this course was challenging it’s my understanding that we’ll begin to start working with the Unity framework as the program moves forward. I would imagine that some of the concepts we went over in this course will become easier as Unity likely has predefined functions for some of the more complex algorithms and AI. Regardless though I’m glad to know I now have a better understanding of how those predefined functions work even if my initial attempts to build those algorithms in vanilla Java weren’t one hundred percent successful.

Seeing that my capstone project will involve developing my own mobile game a lot of the material I studied in this course will be applicable to that project. Nearly all the coding experience from this course will be valuable moving forward. What was learned here will absolutely need to be applied to future projects. The algorithms both required by the course and those I chose to study will also be helpful moving forward. Because most of the algorithms are applicable to game development this gives me an opportunity to use some of my creative skills to find ways to apply them to my individual game projects.