{"id":4,"date":"2020-10-08T14:40:38","date_gmt":"2020-10-08T14:40:38","guid":{"rendered":"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/?page_id=4"},"modified":"2020-10-23T07:49:30","modified_gmt":"2020-10-23T07:49:30","slug":"game-projects","status":"publish","type":"page","link":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/game-projects\/","title":{"rendered":"Game Projects"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">COMP710 (C++)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">COMP710 was my first insight into the world of game development. I chose this paper as I had little previous experience with c++ and wanted to learn a new skill. It was a challenging paper with a steep learning curve, however I can now confidently say I am comfortable with using c++ as a programming language. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over the semester we developed three different games. These projects are outlined below with various associated challenges, reflections, and learnings.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:auto 46%\"><figure class=\"wp-block-media-text__media\"><video controls src=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/2020-10-23-19-23-49.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Space Invaders Clone<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Space Invaders Clone was essentially a playground for me to develop my C++ skills. It wasn&#8217;t a marked assessment so there weren&#8217;t any set requirements for development other than a platform for practising different programming techniques.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As you can see in the video this is where I first developed such as sprites, player control, animated sprites, collision detection, ttf fonts, and basic introduction to box2d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Challenges: This was my first introduction to memory management, which is quite a different concept to grasp and took a while to get used to. The general C++ learning curve would also be considered a challenge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reflection: While it was a good starting point for for developing my skills, I probably could of spent a bit more time here to better prepare me for the upcoming game projects.<\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:auto 46%\"><figure class=\"wp-block-media-text__media\"><video controls src=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/2020-10-23-19-26-58.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/shooty-space-rocks\">Shooty Space Rocks<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shooty Space Rocks is an arcade style game based on the classic Asteroids. It was my first game development project as an individual effort carried out over 7 weeks. This where I introduced features such as state machine, AI, and FMOD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Challenges: Player movement, Player rotation. Polymorphism and inheritance. State machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reflection: Decent outcome, overall I&#8217;m pleased with my efforts. Further breakdown of challenges and reflection for this game can be found in the post-mortem below.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Game Docs<\/span><\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/Pitch-17004205.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Game Pitch<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/GDD-17004205.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Game Design Document<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/TDD-17004205.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Technical Design Document<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/Post-mortem-17004205.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Post-Mortem<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:auto 37%\"><figure class=\"wp-block-media-text__media\"><video controls src=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/2020-10-23-19-35-39.mp4\"><\/video><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/project-wind-haven\">Project Wind Haven<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Project Wind Haven is a top down dungeon crawler style game, drawing inspiration from the original Zelda series. This was a group effort carried out over 6 weeks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Challenges: Working in a team with varying levels of experience and coding styles. Box2d. SVN.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reflection: Disappointing that the game is incomplete. Team environment was quite difficult with some members seeming to put in more effort than others.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Game Docs<\/span><\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/Dev-Log-Sam-Ward.pdf\">Development Log<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/GDD.pdf\">Game Design Document<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/TDD.pdf\">Technical Design Document<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/Pitch.pdf\">Game Pitch<\/a><\/div>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-default\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Other Game Projects (Java, Python, Haskell)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:auto 46%\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"742\" height=\"572\" src=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/helicopter.png\" alt=\"\" class=\"wp-image-75\" srcset=\"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/helicopter.png 742w, https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/helicopter-300x231.png 300w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Helicopter Game (Java)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">COMP612 Computer Graphics Programming<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/avcl.co.nz\/COMP710GameProgramming\/PersonalPortfolio\/wp-content\/uploads\/2020\/10\/COMP612-ProjectProposal-SamWard13191891.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Project Proposal<\/a><\/div>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Sudoku Game (Java)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Sudoku Solver (Python)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recursive backtracking algorithm..<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Collapse Game (Python)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-background has-black-background-color has-black-color is-style-dots\"\/>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\" style=\"font-size:24px\">Reversi (Haskell)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>COMP710 (C++) COMP710 was my first insight into the world of game development. I chose this paper as I had little previous experience with c++ and wanted to learn a new skill. It was a challenging paper with a steep learning curve, however I can now confidently say I am comfortable with using c++ as a programming language. Over the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/pages\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":5,"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/pages\/4\/revisions"}],"predecessor-version":[{"id":138,"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/pages\/4\/revisions\/138"}],"wp:attachment":[{"href":"https:\/\/avcl.co.nz\/dir\/COMP710GameProgramming\/PersonalPortfolio\/wp-json\/wp\/v2\/media?parent=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}