kwdevelopmentllcmastery
kwdevelopmentllcmastery
KW Development LLC Mastery
15 posts
Collection of research processes
Don't wanna be here? Send us removal request.
kwdevelopmentllcmastery · 5 years ago
Text
Self Reflection
Here is a written analysis of how each class contributed to my final product.
Computer Science for Engineers: This class provided me with knowledge of certain programming algorithms that I’ve never heard of such as Dijkstra's and A* algorithm. I can use these algorithms within future game development projects. I also learned of cellular automaton through a discussion assignment, which I used within my capstone game. The instructor gave me prompt feedback and answered any questions I had regarding coursework. I also learned how to properly debug errors using the logcat in Android Studio.
Approaches to Game Design: In this class, I learned narrative writing for video games using Joseph Campbell’s framework and Chris Vogler’s twelve steps of the Hero’s Journey to break down the “hero” character. I read the book The Art of Game Design: A Book of Lenses by Jesse Schell, which gives useful advice on how to make games exciting and challenging for the user. I applied Schell’s advice to my capstone. I also used creative ideation processes, and a narrative framework to develop a novel RPG backstory and experimented with a branching narrative tool called Twine. I turned the RPG backstory I created into a mini 1D text game in Twine.  I’ve never heard of Twine prior to taking this class. The instructor gave me good analysis and feedback regarding my assignments.
Game Development Frameworks: This class was the class that I learned how to make a real-working LAN game in Unity3D and I also learned about different hardware features of Android devices and how to implement them within an app. I had some difficulty implementing Unit and Integration Tests in Android Studio because I had never done them before. I also had a little bit of difficulty implementing some of the Android hardware features within a game and I had to keep recording screencast videos according to the instructor’s helpful feedback. I’d begun capstone ideation by selecting an interesting problem to solve or boundary to push within my area of focus, and coming up with 2 game ideas that I would like to work on, each incorporating a solution to this problem.
Agile Software Engineering: This class taught me project management skills such as Scrum and Agile. A very important part of this class was the ability to use Full Sail University’s Underdog server to manage my development projects. I learned how to communicate (in 90 seconds or about 250 words) my project proposal and approach with rationale and market data to elicit buy in from potential stakeholders. I received helpful and applicable feedback from the instructor regarding my capstone software documents (Software Requirements, User Requirements, User Persona, and Use Case). I also learned better multiplayer networking techniques that I applied to my capstone.
Usability Engineering: This class taught me how to develop, conduct, and interpret/analyze usability for my capstone game in terms of story, immersion, aesthetics, user interface, mechanics, graphic elements, etc. This course reviews user-interface design principles from a usability perspective. This includes concepts such as clarity, interaction, attention, control, manipulation, consistency, and visual hierarchy. I also conducted my own user analysis, attending to which styles and looks will appeal to the potential gamer, as well as, how the gamer will interact with the game. I edited my usability report draft and game mechanics according to the instructor’s helpful feedback.
Mobile Gaming Business: The main subject of this class is what it takes to turn a game from an idea into a product. The practical aspects of game development were taught: how much it costs, how long it takes, and how you're going to make money. This class was all about the following: How to create a successful business plan What investors look for Financial planning Development planning: schedules, team, technical issues & resources Marketing & PR planning Risk analysis and contingency planning I also pitched my game idea to my main and secondary capstone advisor.
Storyboard and Game Design: In this class, I started prototyping my capstone ideas in Unity3D. The prototypes contain detailed design modeling and domain modeling of the game. UI control scheme maps are paired with my gameplay actions or mechanics. The accompanying documentation displays this. The UI maps show overlaid arrows/identifiers on in-game buttons, virtual joystick, and interactive areas to show all proposed game play elements. I received helpful feedback from the instructor regarding my mockup and documentation.
Mobile Game Development I: During this course, I began actual capstone development. I adhered to a standard weekly development schedule, which were sprints. At the end of MD1 I had an "alpha" build. I assigned myself tasks called Issues on Full Sail University’s Underdog server. These tasks came from my own Technical Design Document. I was graded on how well I met these tasks, and my ability to close them out and log my development time.
Mobile Game Development II: This course consisted of continued capstone development. I adhered to a standard weekly development schedule. At the end of MD2, I had a "beta" build. I also performed a user test that encouraged users to give audible feedback about their thoughts, quandaries and any frustrations they may have had with the game or game interface. During this user test, I discovered that the game not having an internet play mode was problematic.
Self-reflection Video
youtube
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Mobile Game Testing Reflection
In this class, I wrapped up development of my capstone game, Battle Creatures. I performed a few usability tests before discovering the Non-Lan game component wasn’t functioning properly. I watched a few demo videos on Youtube and put together a game lobby that allows players to join random rooms. I also added a chat feature that allows players to send public, private messages, and friend requests to each other via Photon Chat’s servers. To operate the friend system, type the player’s username : “friend request”, “accept”,  or “delete” in the chat panel. To send a private message, type the player’s username : and then the message. I also added a profile system that displays the player’s kills, deaths, score; and if they’ve won the game, reward amount. Here is a link to the screencast of everything in action: https://www.youtube.com/watch?v=N_gNp1GAqFI&t=7s .
After I fixed the development issues, I performed a final usability test. This usability test of Battle Creatures consisted of two (2) users playing for approximately ten (10) minutes. After gameplay sessions, users were asked to express their likes and dislikes with the game and the overall experience. Also, after gameplay sessions; the users were asked to complete surveys that measured their individual workload and play experience. The NASA Task Load Index (TLX) (Hart & Staveland 1988) was administered after each play session. The Play Experience Scale (PES) (Pavlas et al., 2012) was administered after the play session as well.
The Player Experience Scale (PES) is one of the most common surveys designed to measure the player experience in a video game (Pavlas et al., 2012). The scale includes 16 questions that focus on 4 areas of interest: Freedom, Extrinsic Motivations, Directly Playing, and Autotelic - Focus.
• Freedom- Is the user able to perform desired actions? • Extrinsic Motivations- Does the user actually want to play the game because it’s fun? • Play Direct -Does the user feel like they are playing or working? Autotelic - Was the user only playing the game for the intrinsic rewards of playing or was he/she distracted by other thoughts while playing?
NASA Task Load Index (TLX) The NASA Task Load Index (TLX) (Hart & Staveland 1988) is for measuring perceived workload and is used to assess the demands of a task or system. The NASA TLX measures the aspects of mental, physical and temporal demand in comparison to performance, effort and frustration.
• Mental Demand- How much mental and emotive labor was needed? Was the task easy or demanding, simple or complex? • Physical Demand: How much physical labor was needed? Was the task easy or demanding, slack or strenuous? Temporal Demand: How much time pressure was experienced due to the speed of the occurring tasks? Was the speed slow or rapid? Overall Performance: How successful were you in performing the task? How satisfied were you with your performance? Frustration Level: How aggravated versus content did you feel during the task? Effort: How hard did you have to work (mentally and physically) to accomplish a satisfactory level of performance?
After the user submitted their ratings, the averages and standard error were calculated. Performance is reverse coded because the NASA-TLX is a measure of workload, and higher values suggest more workload.
Tumblr media Tumblr media
PES (Player Experience Scale) Both users scored average in the Freedom category. The score could have been higher, but the users reported initial difficulty getting the game to behave how they wanted. One user was confused about some of the controls and understanding their objectives. These factors contributed to a lower score in Freedom. Extrinsic and Autotelic scored the highest, suggesting that the users were completely focused on playing the game and they actually had fun playing the game. The users did not feel pressured to perform well just because they were participating in a usability study.
NASA TLX Mental Demand was the highest with user 2 because of the brief misunderstanding of the game controls. Both users scored high with Performance Demand because they desired to achieve certain goals during gameplay. Physical Demand, Temporal Demand, and Frustration Demand were low with both users because the game goals were simple to comprehend and didn’t require much strenuous activity. Effort Demand was high for user 1 because they increased Performance Demand more than user 2 to reach game goals.
References
Hart, S.G. & Staveland, L.E.(1988) Development of NASA-TLX(TaskLoad Index): Results of empirical and theoretical research. In P. A. Hancock and N. Meshkati (Eds.) Human Mental Workload. Amsterdam: North Holland Press.
Pavlas, D., Jentsch, F., Salas, E., Fiore, S., & Sims, V. (2012). The play experience scale: development and validation of a measure of play. Human Factors: The Journal of the Human Factors and Ergonomics Society. 54(214). DOI: 10.1177/0018720811434513
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Mobile Game Development II Reflection
This class was all about continued development of my capstone, Battle Creatures. I completed milestones 4-6. These milestones were focused on setting up the in-game store. I watched a couple of Youtube tutorials on how to create an in-game store and connect it to Google Play Billing through Unity IAP. Connecting Unity IAP to Google Play was easier than I thought. After getting everything setup, I conducted a test utilizing Google Play’s internal IAP testing console to see if it was functioning properly. Once a player powers by purchasing gems or a wisdom potion, a notification about the power up is sent to the other player via text chat. I also introduced use of another Android hardware component, the camera. Players are now able to take photos with their devices and send them to each other across a PHP server. Players can also press the emoji icon buttons that are attached to the chat panels and send emojis to each other across the same PHP server. The IAP includes in-game VIP membership, in which a list of other VIP members are displayed that are in range of your IP address; extra security features, cheating prevention, and daily rewards. The extra security is hashing of important player data and insertion of that data to a file on your device. Hashing provides better security than encryption. Encrypted messages can be easily decrypted and hashed messages cannot be translated. The cheating prevention limits speed hacking which modifies the game’s perception of time to either slow down or speed up the game. This can be done to fast-forward through lengthy sequences or slow down targets so they are easier to attack. A game program’s concept of time is based on calls to the clock functions offered by the operating system. Through the use of general-purpose hacking tricks, it is possible to hijack these calls, thus modifying the game’s concept of time (e.g., by making the value of Time.delta time larger or smaller by some factor). Once a speed hack is detected, the server will be automatically shutdown.
Milestone 4 video link: https://www.youtube.com/watch?v=6AtnYbDUdEQ
Milestone 5 video link: https://www.youtube.com/watch?v=4FbgDlgFaY8&t=3s
Milestone 6 video link: https://www.youtube.com/watch?v=VUHXZf1UHMc
Google Play Billing Test Receipt
Tumblr media
I conducted a CPU profiler assessment for Unity 3D. This is a study of Battle Creature’s processor consumption throughout its lifecycle. Improving the CPU performance of the game code may increase memory usage or offload work to the GPU. When loops are nested, inefficiencies occur often. Inefficiencies can add up if they are in a loop that runs very frequently, such as in an Update function (Unity Technologies, 2020). I don’t have many loops within my code. The loops that I have aren’t included in Update functions. I don’t have the Update function included in many of my game scripts. Find() and related functions require Unity to iterate over every GameObject and Component in memory (Unity Technologies, 2020). This means that as the complexity of a project grows, more CPU power is utilized. I reduce the use of Find() in my code by setting references to objects using the Inspector panel where possible, or creating scripts that manage references to things that are commonly searched for.
CPU Activity Screenshots
Tumblr media Tumblr media
During a user test, the issue of users connecting beyond LAN came up. Since the user test; I’ve done research on MMO games and implementing non-LAN playing with TCP, Unity 3D’s UNET, etc. I’m currently following a tutorial on implementing non-LAN playing with Unity 3D’s UNET. Once I have completed the non-LAN programming and UI setup, I will do another user test to ensure that it is functioning properly.
Product Backlog
Tumblr media
References
Unity Technologies. (2020, May 25). Fixing Performance Problems. Retrieved from https://learn.unity.com/tutorial/fixing-performance-problems#
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Mobile Game Development I Reflection
In this class; I began development of my capstone, Battle Creatures, according to the milestones I’ve specified in my technical design document. During development, I discovered that I had to make some code revisions and trade-offs. I had to create a flat-file database to substitute the original MYSQL database because I couldn’t get Unity3D to connect to it. The flat-file database concept will be established through the in-game store and player login data. The database for the in-game store will include the item name, item type, and item ID, etc. The database for the player login data will include the player’s username, password, changed password, and the player’s current game level. Flat-file databases consist of single or multiple record types. The simplest flat-file database structure is a standard text file and consists of a single record definition (Cleo, n.d.). The rows are repetitive with each successive rows representing a similar definition. Every row is characterized by a horizontal list of fields and the same definition of the row can be applied to every row in the file (Cleo, n.d.). The flat-file database utilized for this game is the standard text file. Here are the links to my milestone videos: https://www.youtube.com/watch?v=EnWYw__omTM&t=4s
https://www.youtube.com/watch?v=rcnfAfwhP_w
https://www.youtube.com/watch?v=IVU1VVTgE3k&t=38s
I’ve also improved the main gameplay feedback loops. Projectile is subtracting damage from each player properly. I also completed the leveling system which adds a skill attribute and skill points once the player levels up. The player can only level up if they do not receive any damage and lose any health points during gameplay. The level up system, game logo and game application icon was included in the alpha build. The alpha build was completed as part of milestone 3. I created a product backlog that addresses user pain-points. User testing revealed users desired more social interaction within Battle Creatures.
Game Logo
Tumblr media
Game Application Icon
Tumblr media
Product Backlog
Tumblr media
I was introduced to performance profiling through this class as well. I never knew that Unity3D included a performance profiler. I tested the CPU performance of my Android tablet. The Profiler conducts CPU performance analysis on several frames. The Profiler tool is also equipped with statistics and visualizations for understandable data display (Unity Technologies, 2020). It is best to compare two data sets, or export the data for analysis with other tools (Unity Technologies, 2020).
CPU Activity
Tumblr media
References
Cleo. (n.d.). Blog: Selecting a Database: Flat File vs. Relational. Retrieved from https://www2.cleo.com/blog/selecting-a-database-flat-file-vs-relational
Unity Technologies. (2020, February). Optimize your game with the Profile Analyzer. Retrieved from https://unity.com/how-to/optimize-your-game-profile-analyzer
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Storyboarding and Game Design Reflection
In this class, I spent my time developing a rough draft version of my capstone project Battle Creatures. Before beginning the rough draft in Unity3D, I created an interactive “paper prototype” demo in Proto.io to conduct UX testing on my UI interface design and layout. The interactive mockup displays how my UI control scheme connects to my gameplay mechanics. This mockup shows overlaid arrows/identifiers on my buttons, virtual joystick, and interactive areas to show all proposed gameplay elements. For example: Users should be able to drag the middle button of the virtual joystick to move the main player character. Here is a link to the interactive mockup: https://www.youtube.com/watch?v=Pa_NPrqLZLc&feature=youtu.be .
Then, I made a class diagram and flowchart of main gameplay elements. A class diagram is a structure diagram that describes the structure of the game system by providing the system’s classes, objects, attributes, and methods. A class diagram is the only diagram that can be directly mapped with object-oriented languages such as C#. Object-oriented languages organize software design around data or objects, rather than functions and logic; an object is a data field that has unique attributes and behavior (Rouse, 2020). The diagram components in a class diagram represent the classes that will be programmed. A flowchart is a symbolic representation of a process. Each step in the process is represented by a different symbol and contains a short description of the process step. The flowchart symbols are linked together with arrows showing the process flow direction. The flowchart that I mapped out displays the in-game restart game menu and main opening menu.
Class Diagram
Tumblr media
Flowchart
Tumblr media
Next, I created a project requirement document and user needs document. A minimum of 10 requirements was needed. The requirements were split into: • System Requirements- list of requirements presenting what the system is expected to do • Interface Requirements- list of requirements presenting the human-computer interaction The user needs document is a list of features necessary to complete my capstone project. I also identified software resources (APIs, plug-ins, tools, algorithms, techniques, etc.) and assets that will allow me to meet each need.
The challenges I faced while developing the prototype in Unity3D were issues with UNET and subtracting damage from players and synchronizing player health across the network. I also faced issues with the players spawning on the server correctly. I eventually repaired those issues by Googling and searching through Unity’s online manual. I now know which parts of the project development are the most challenging.
Prototype Screenshot
Tumblr media
References
Rouse, M. (2020, April). object-oriented programming (OOP). Retrieved from https://searchapparchitecture.techtarget.com/definition/object-oriented-programming-OOP
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Mobile Gaming Business Reflection
Business and marketing affects the design and development of a mobile game because games are now able to be developed using game engines, which moved the development process from concept to production in a very short time (Delisle, 2017). Game console manufacturers realized that with the rise of mobile gaming, they could open online stores to offer games developed by independent game developers (Delisle, 2017). The rise of mobile gaming has made game development possible for individuals and small dev teams to create and publish their own games.
My revenue model consists of a pay-to-play price of 0.99 and an additional component to the in-game store that will generate revenue. The in-game store is for players to purchase more ammo, wisdom potions, or gems using their health points. The additional component will include a VIP membership subscription through Google Play Billing. The game will be available for the Android platform through the Google Play Store.
Battle Creatures is all about competition and strategy. Competition increases purchases when the player excels in the game (Majander, 2019). This may overlap with the previous motivators where players wish to show off their in-game success. Battle Creatures combines the Killer and Achiever player types. Achievers focus on accomplishing goals, for example achieving a high score (Majander, 2019). Killers interact with other players using game mechanics to overpower others, for example shooting ammo at the opposing player (Majander, 2019). Killers and achievers can be motivated by competition to spend money to best rivals or competitors.
Besides coding and artwork; QA testing, stakeholder feedback reception, error prevention and mitigation, etc are all a part of game development. Those factors affect my development budget and schedule because I have to prepare for certain risks arising and have a contingency and mitigation plan in place. I must interview the team members to assess their needs and opinions about my schedule. I created a Gantt chart that displays the development time schedule. Each step in the production phase is outlined. I should read up on the technology, methods, and equipment I will be utilizing.
Gantt Chart
Tumblr media
Risk and Contingency Plan
Tumblr media Tumblr media
In order to convince an investor or publisher to fund my game, I must clearly state how much money has already been invested in my game, by whom, ownership percentages, and how much more I need to move forward with production. I need to be realistic about my budget, development timeline, the number of formats I’m aiming to deliver, and the staffing I’ll need to achieve it. I must make a great game.
References
Delisle, M. (2017, July 19). The Impact of Mobile Games on the Gaming Industry.  Retrieved from https://www.digitalturbine.com/blog/the-impact-of-mobile-games-on-the-gaming-industry/
Majander, V. (2019). Revenue models for video games [PDF]. Retrieved from https://pdfs.semanticscholar.org/f9ce/ ac799fead2fa481420ccf66980cc26adb36c.pdf
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Usability Engineering Reflection
This course was packed with information about usability such as writing usability reports, conducting usability research, and performing a game mechanics analysis. The game mechanics analysis was based upon Schell’s(2019) lenses. Some of the lenses include skill, spacing, action, rules, etc. With feedback from Professor Leis, I modified my capstone executive summary within the game mechanics analysis with more detail about certain game features. I also added visuals to the game mechanics analysis.
Skill Tree
Tumblr media
I learned about the principles of usability and how to apply them to my capstone.  Overall user goals for my capstone game are consistency, simplicity, and feedback. Consistency is achieved by making sure game terms and actions are consistent and understandable for the user. If the game isn’t comprehensive to the user, the user will not want to play. Simplicity is achieved by making sure the main game elements are readily visible to the user, such as the ammo fire button. If the game interface is cluttered with unnecessary elements, the user will not want to play. Feedback is achieved by providing progress feedback to the user, the user will want to know how they’re doing during gameplay. If there is no progress feedback, the user will not want to play. The progress feedback will be visual in the form of score points, UI health bar, animated actions such as the damaged animation, and the death animation. Upon further research I discovered that it was best to have audio feedback accompany the visual feedback to further increase user engagement. Professor Keith V. Nesbitt and Professor Ian Hoskens(2008) conducted a study on the use of multi-sensory interfaces to increase the amount of game information available to players and assist their performance; the results of this study showed that more users would rather auditory sensory be included with visual because it makes the player focus more on the game and not the game environment.
Gameplay Wireframe
Tumblr media
I also prototyped two user personas for targeted usability research. The two user personas are male and female. The male persona is a 25 year old software developer from Raleigh, NC who plays games such as player-vs-computer chess where he competes against himself to gain new techniques for competitive gaming with friends. The female persona is a 30 year old UX strategist from Raleigh, NC who is generally introverted but becomes animated when playing multiplayer mobile games. She also does clothing design as a hobby to expound upon her art skills. What free time she has is always invested in gaming, whether the game is a board game, mobile game, computer game, etc. Regina sometimes plays Stratego with her friends.
Male User Persona
Tumblr media
Female User Persona
Tumblr media
The two different methods I used to quickly gather data for my capstone project was a desirability study and a survey. I chose these methods because you can conveniently collect responses from users remotely (Stockwell, 2016). Also, users provided input about different visual design directions I am considering (Stockwell, 2016). Desirability studies are a quantitative testing method and surveys are a qualitative testing method. 23 people participated in the desirability study. This research method collected quantitative data. Each participant picked the positive adjectives to best describe the visual design choices presented. Not one participant chose the negative adjectives to describe the visual design choices presented. Pie charts are used for data visualization here because they compare parts of a whole and there were no changes over time. All of the 23 participants chose the positive adjectives over the negative adjectives. 22 people participated in the survey. This research method collected qualitative data. This survey contained comparative data that’s best represented through a bar chart. This type of chart is one of the more familiar options as it is easy to interpret. These charts are useful for displaying data that is classified into nominal or ordinal categories. There were questions on the survey that measured the participants’ liking of the game concept, how well the wireframe captures the initial vision of Battle Creatures on a scale of 1 to 5, which color palette would look best in the Battle Creatures logo design, how likely the participant is to buy the game based on the concept description and wireframe on a scale of 1 to 5, etc. All of the participants submitted positive responses to these survey questions. Here is the link to the desirability study: https://dkiops.typeform.com/to/MDW0ZsLu . Here is the link to the survey: https://dkiops.typeform.com/to/jmma7AEL .
I’m ready for the green light presentation in the upcoming Mobile Gaming Business course. This presentation is the final presentation of capstone game ideas.
References
Nesbitt, Keith & Hoskens, Ian. (2008). Multi-sensory game interface improves player satisfaction but not performance.
Schell, J.(2019). The Art of Game Design(3rd ed.). Natick, MA: A K Peters/CRC Press.
Stockwell, A. (2016, Mar 31). Desirability studies [Lynda.com online course]. Retrieved from https://www.linkedin.com/learning/ux-foundations-research/desirability-studies?u=50813145
Stockwell, A. (2016, Mar 31). Surveys [Lynda.com online course]. Retrieved from https://www.linkedin.com/learning/ux-foundations-research/surveys?u=50813145
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Agile Software Engineering Reflection
This course provided great approaches to project management methods and tools, as well as a chance to finalize my capstone project proposal. Without project management, software projects can easily be delivered late or over budget. One project in this class that I enjoyed was porting. It wasn’t difficult porting a multiplayer Android game into Unity 3D. The project took less time than intended. But, the opposite is a challenge; it’s not easy making a game in Android Studio. While porting, I’ve discovered some multiplayer networking techniques that made me realize I was doing networking wrong. I now know how to do networking properly and I’ll use these techniques within my capstone. I also now know how to implement Google AdMob ads into an application, I learned how to do this through the monetization assignment in this course. I spent a lot of time ideating for my capstone project in this course through the creation of a software design document and game design document. I learned the differences between Agile, Scrum, and Waterfall methodologies. Waterfall is a Liner Sequential Life Cycle Model and Agile is a continuous iteration of development and testing. Agile performs testing simultaneously with software development and Waterfall methodology testing comes after the “Build” phase (Lucidchart Content Team, 2019). Scrum is the most popular agile framework. I will gain some experience with Scrum through the capstone project process, this experience will be my first time working utilizing Scrum within a project. Professor Leis and I have weekly Zoom meetings discussing capstone questions and milestones. I still need a second capstone advisor. Professor Leis tasked me with providing due dates and assignment descriptions on the Trello board for my capstone. Here is the link to my Trello board: https://trello.com/b/i7rus8K4/battle-creatures .  I’m ready to advance in the capstone process.
Trello Board
Tumblr media
References
Lucidchart Content Team. (2019, October 9). Agile vs. Waterfall vs. Kanban vs. Scrum: What’s the Difference?. Retrieved from https://www.lucidchart.com/blog/agile-vs-waterfall-vs-kanban-vs-scrum
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Game Development Frameworks Reflection
This class was a learning experience– The class format kept me busy! I learned information on reviewing and developing reliable and easily tested code, as well as the debate on how much time/complexity to devote to testing. David Heinemeir Hansson’s talk mentioned that unit testing is important because it is one of the earliest testing efforts performed on the code and the earlier defects are detected, the easier they are to fix (ThoughtWorks, 2014). I learned testing concepts that I had not heard of prior to this course such as the Law of Demeter- which avoids having single functions know the entire navigation structure of the system, integrated, and unit testing (Hevery, 2008). I also became aware of what the androidTest folder was for in Android Studio because I used that folder for the first time during the unit and integrated test compilation of the week 1 & 2 project. My game for week 1 & 2 was developed with Java in Android Studio. The title of this game is Vampire or Princess and it's similar to Tic-Tac-Toe. The images are vector images of a vampire and princess that I created in Illustrator. Each player will choose to be the vampire and the computer will choose to be the princess, vice versa, the player with three in a row wins. The client communication functionality is done with Scaledrone backend. The GPS/Location data of each player will be posted on the screen. There is a motion sensor that detects the device's position and includes a proximity sensor. The motion sensor and proximity sensor are for the item collection game. The player must tap the screen in order to collect items and the proximity sensor displays when the player is away from an object or near and object. This project was the most difficult to put together because, after testing and instructor feedback, I had to remove certain game features and/or add game features because there were some coding issues that caused the app to crash on different devices. This project took a little longer than originally expected because I wanted the app to function the way it should on all devices. This project taught me that I should program a social app that has real-time client communication using web sockets.  
Tumblr media
Some of the code from Vampire or Princess
My week 3 & 4 project was developed with C# in Unity3D. I wanted to develop both projects in Unity because I’m most familiar with that framework. The title of this game is Treasure Finder and the object of the game is to rotate the device using the accelerometer to move the sphere in order to collect the treasure items. There are some items that look like treasure, but aren't treasure. If the player collects too many of those items, they have to restart the game. This game is multiplayer. Each player’s GPS location will be sent as a networked message across the server. The winner of the game will be the player with the most treasure items. This game includes a compass, which will use the gyroscope. Not all devices have a gyroscope, so that feature won’t work on all devices. This project took less time than the first project because I am good at Unity development, but I did have a bit of trouble getting the in-game chat to work. I do want to learn other game frameworks as well. I might teach myself how to use Unreal. I think it was even more fulfilling to be able to flow freely with game ideas while experimenting with the frameworks. I learned about different Android hardware sensors and how to use them within a game/app. I didn’t know that Android devices were equipped with so many hardware features!
Tumblr media
A screenshot of the gameplay scene.
The material I learned in this course provided guidelines for TDD (test-driven development) that I can utilize while working on my capstone. I learned a lot about the frameworks I worked with, as well as the development and learning process. The software engineering process will be utilized while my capstone is in development: software engineering consists of research and experimentation, trial and error, forgiveness of failure, normalization, productivity, and celebration of minuscule successes. I emailed Professors Nick Penney, Rebecca Leis, and Patrick Kelly my revised capstone ideas and asked them to be my capstone advisor. Rebecca added me to the capstone mentoring server on Discord and Nick Penney told me that he will review my ideas again once I’ve finished and passed the Game Development Frameworks course. I’m ready to move on to the next phase of the approval process. Here is the link to the underdog posting from the capstone advisor activity this month: https://edo.fullsail.edu/underdog/documents/1059 .
References Hevery, M. (2008, Aug 6). Writing Testable Code. Retrieved from https://testing.googleblog.com/2008/08/by-miko-hevery-so-you-decided-to.html
ThoughtWorks. (2014, May 9). Is TDD Dead? (30m) [YouTube Video]. Retrieved from https://www.youtube.com/watch?v=z9quxZsLcfo
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Approaches to Game Design Reflection
This class was packed with immensely valuable information and I learned a lot about the Lenses of Game Design and how to apply them to game development (Schell, 2019). Schell mentions how to add engaging, challenging, and motivating game elements to create meaningful experiences for the player. I strive for improvement in that area, and I will apply those concepts such as mechanics, aesthetics, UI controls, etc to future personal projects and my capstone project. The results of the User-Centered Design Activity were thoroughly complete. Each user contributed to user-centered design that solves a real-world problem by implementing de Bono's Six Thinking Hats strategy and Rogers, Sharp Preece’s (2011) four activities of Interaction Design. de Bono's Six Thinking Hats is a powerful technique for looking at decision making from different points of view. It allows emotion and skepticism to be brought into what might normally be a purely rational process, and it opens up the opportunity for creativity within decision making (de Bono, n.d.). The user input was valuable and has inspired me to use this process to research, observe and inquire; not just asking users what they want, but interview users. I will use this same process while working on my capstone and future personal projects.
Creating a narrative with Twine was fun. I’ve never heard of Twine prior to taking this class. I created two caricatures within Adobe Illustrator that represented the heroine and antihero within my narrative. I didn’t know that Twine stories were considered 1D text games. YouTube tutorials were essential in creating my Twine story because I didn’t even know how to link passages. Here is the link to my Twine game: https://kw-development-llc.itch.io/vamperius .
Caricatures for Twine story
Tumblr media Tumblr media
The reading material was thought-provoking on vast levels, from the game developer’s responsibility to the players’ interest and motivation, to our outlook on society in how we portray individuals and the effect of misused and offensive tropes, which affect how people are perceived and treated in reality. The best innovations come from constraints, and I must rely on creativity to make every consideration important within game development.
Compiling my ideas for the capstone project was kind of frustrating. I had trouble selecting a problem to solve within my field of focus, then coming up with two game ideas that solve the problem. I hope my ideas solve the problem that I’m addressing, I need faculty approval for one of my ideas.
References
de Bono, E. (nd). Six Thinking Hats. The de Bono Group, LLC. Retrieved 5/31/15 from http://www.debonogroup.com/six_thinking_hats.php
Rogers, Sharp & Preece. (2011). Interaction Design: Beyond Human-Computer Interaction. Southern Gate, Chichester, West Sussex: Wiley & Sons.
Schell, J.(2019). The Art of Game Design(3rd ed.). Natick, MA: A K Peters/CRC Press.
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Computer Science for Engineers Reflection
I managed my time the best as one can while operating a home business. I’m currently developing my own multiplayer game and I gained inspiration from this course on how to refine my programming techniques. I learned new algorithms such as The Tower of Hanoi, recurrence, and minimax. I also learned new Android programming methods. For upcoming assignments or business-related projects, I will do thorough testing and analysis before I publish an app or game. During this course, I had to develop a treasure hunter app, pathfinder app, and tic-tac-toe app; I had no problem building the APK file, but during the testing phase, the app crashed and the error I received was a NullPointerException. I think that error was the cause of my previously developed apps crashing, I learned what causes that error and how to prevent it. 
Minimax algorithm for tic-tac-toe game
Tumblr media
For my capstone, I’m going to use this algorithm called Cellular Automata within a rogue-like game. This algorithm is listed on Full Sail’s Underdog website as a Collaboratorium topic. Cellular automata have been used for modeling environmental systems like heat, fire, rain and fluid flow combined with influence maps for decision making. The CA-PCG mechanism starts with a square grid, a 50 X 50 cell grid. This beginner grid is the central base grid. Then four adjacent grids are built around the central base grid. Each cell within the grid represents the cell's location in the base grid and the cell's group number(Johnson et al., 2010). The neighbor-hood value is defined as the sum of rock cells available. One of the variables I will tweak using this method that is not normally adjustable when using cellular automata is the number of cells randomly visited, which is where some of the added variety comes in (Johnson et al., 2010). Lowering the number of applications will result in some rougher maps, but a final smoothing phase can still operate on that and get some interesting results.  
References
Johnson, L., Yannakakis, G. N., & Togelius, J., (2010). Cellular automata for real-time generation of infinite cave levels., 10.1145/1814256.1814266. 
0 notes
kwdevelopmentllcmastery · 5 years ago
Photo
Tumblr media
My personal logo.
0 notes
kwdevelopmentllcmastery · 5 years ago
Photo
Tumblr media
My LinkedIn homepage. https://www.linkedin.com/in/kw-development-l-l-c-667a15b8/
0 notes
kwdevelopmentllcmastery · 5 years ago
Photo
Tumblr media
I need to keep this in mind before I tell myself I can’t do something. I need to remember I can do anything I put my mind to. I can’t let negativity get in the way of my success.
Balor, F. (2020). Positive Thinking Quotes - BrainyQuote. [online] BrainyQuote. Available at: https://www.brainyquote.com/topics/positive-thinking-quotes [Accessed 3 Feb. 2020].
0 notes
kwdevelopmentllcmastery · 5 years ago
Text
Intention Statement
Hello everyone. My name is Karima Williams, and I’ve begun a new journey, working towards my Master’s Degree in Mobile Gaming from Full Sail University Online. This intricate program will provide growth, discipline, and knowledge within the computer science field to apply to game development. Upon completion of this degree program, I will have a head start dealing with the development of mobile game technologies and techniques. 
I’m currently developing a video game in Unity 3D which deals with C#, PHP, and JSON scripting. This game is my inspiration for returning to school, I’m also interested in learning other mobile technology applications such as Android and iOS. I do have experience with JAVA programming within my Android application development. My interest in programming increased in 2015 and I began teaching myself programming because I wanted to learn how to develop video games in Unity 3D. Then, the following year I wanted to learn JAVA to program Android apps. 
I wasn’t really interested in heavy programming while working towards my bachelor's degree; I only did basic HTML and CSS programming for website design back then. Programming was a hobby for me, and now is also a part of my profession. My company, K.W. Development LLC, is a standard product-based video game development company located in Raleigh, North Carolina.
Things outside of programming and graphics that make a game successful include market research, reliability, efficiency, and scalability. I intend to build a skill set in analyzing other successful marketplace games. My analysis will determine what must be improved within my game development process to ensure my products are glitch-free and entertaining. 
0 notes