Chapter 2 Theoretical Foundation

Total Page:16

File Type:pdf, Size:1020Kb

Chapter 2 Theoretical Foundation CHAPTER 2 THEORETICAL FOUNDATION This chapter explains information and technologies that the author will use to make “Kingdom of Pet”. It consists of agile software development method and game development process. 2.1 Agile Software Development Agile software development is a group of software development methods that using iteration and increment development. It is considered as a problem fixing for heavyweight methodology because agile software development is called lightweight methodology, which is trying to minimize the plan for the project with a large scale of detail and taking over a lot time [1]. The manifesto of agile software development is published in February of 2001 by an organization named Agile Alliance. There are four concept of agile manifesto and that are following: [2] Individual and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan The meanings of the manifesto items on the left within the agile software development context are described below: [3] Individual and interactions – an organize among self effectively is important 5 6 Working software – it is easier to understand working software rather than read a lot of document to client in meeting Customer collaboration – what customer want might be change over time, so it is important to involve the customer continuously Responding to change – there has to be preparation for changes for the plan otherwise it can be irrelevant quickly Figure 2.1 Software development cycle by iteration on agile software development [4] Agile software development method splits the total of long development cycle into a lot of short development cycles which is called iteration. The iteration can take one or two weeks from one or two months. The development process of the software product is always in iteration. Firstly, from the starting of the iteration, the software developers take the requirements from their clients and after that, they planning and 7 designing the analyzed requirements. Secondly, they implement and test the software product. And lastly, the software product is delivered to the customers and getting the feedback from them so that the next iteration can be carried out. It is different with paper-based software development method because with this methodology, the customers can understand more clear and concrete by showing them the software product [5]. 2.1.1 Scrum Scrum is one of agile software development method, so that means scrum is an iterative or incremental development framework for creating a software or application. It is for small teams, especially for they who work independently so that they can work more effectively [6]. 2.1.2 How Scrum Works Basically scrum is the same as all projects at first, it has initial planning phase. At this starting point, architecture must be created inside the team. All members must act according to their role and it might be changed in the future, but they still have to develop the architecture at the first time. An Architect must be chosen as the chief architecture. Its most important job is to define all members role such as Developer and makes sure Customer is close in touch. Designing is the job for every member and because of that there is no Designer role in the architecture. Managers also acts as the supporting role and they usually not control directly to the process except in the midst of crisis. The product is controlled by Architect, while the process is controlled by Developer who Architect should have a close communication with as the “chief Developer” [7]. 8 Figure 2.2 Scrum Frameworks [8] After the initial planning, the next phase is to develop the software incrementally as many short progression of development phase which are called sprints. Usually a sprint takes one to four weeks’ time of works. At the end of iteration, the team delivers the software product to the product owner so that they can get the feedback from it. Everything can change during this meeting, the work can be added, eliminated, or reprioritized. There is a list that called sprint backlog that is a list of all team activities. It tracks all the team tasks that must be updated and reprioritized before each sprint [9]. The member, who agrees to do the task in product backlog that listing the entire prioritized product’s features, must be sure that they can complete the task each sprint. The product backlog maybe changed as more is learned about the product and its customer [10]. Each day of sprints, the team must carry out a meeting who will be led by the Scrum master. The scrum meeting should take 15 to 30 minute, but does not allow time 9 member to brainstorm the solution. Its member must answer these following questions: [6] 1. What have you completed, relative to the backlog, since the last Scrum meeting? 2. What obstacle got in your way of completing this work? 3. What specific things do you plan to accomplish, relative to the backlog, between now and next Scrum meeting? The goals of the scrum meeting are: [6] Focusing the developers on the backlog items Communicating the priorities of the backlog items to the team members Keeping everyone informed of the progress and obstacles Managing the obstacles as fast as possible Tracking the progress of delivering the backlog’s functionality Addressing and minimizing the project risk 2.2 Game Development Process In producing games, it is important to know exactly how to create a game. Not just the developer’s side that have the goal to produce a highest quality game over limits of resources and budgets, but also the publisher’s side that want to sell the best- selling game with limited risks and low costs [11]. 10 Figure 2.3Stage of Development [11] There are several phases to develop a game according Tracy Fullerton who is studied about the evolution of some best practices to produce a game efficiently. Figure 2.3 with “V” shape shows that on early phase, changes can be made with a little economic issue. Changes on the vision of the game are nearly impossible on the production phase, but it can fix some features or concepts. This can change the game play but it does not cost insignificant changes to reconstruct the game or start over the existing art and animation. Later on, when the phase is beyond the production phase, it will be difficult and expensive to change or make any modification to the game design. That is why, the prototyping and play testing is on early phase so that if there are some issues it can be found on preproduction stage and before the actual code and art is being made. The goal of play testing on the Quality Assurance (QA) phase is to find small problems and focusing the changes to it. Major or even moderate changes are usually not being allowed [11]. 11 2.2.1 Concept/Contract Concept phase is the start of the development process. This is where the developers deliver their game idea to the publishers in order to be funded. When developers show their idea about the game which is called a pitch, publishers will also consider three strong aspects about the developers. The strengths that publishers are looking are the team, the plan, and the idea [11]. The first thing publishers want to know is the developer’s team because they want to reduce the risk by looking an experienced team. It is important to the group that already works together in the past because team work is really critical. They also see how the developer’s team can deliver the product type that is being proposed. For example, if the team that is known to create a simulation game is proposing a first person shooter, they will wonder about the capability of the team to create the game because those two genres is completely different type of game. The next important point is the project plan. Project plan is also includes the schedule and budget plan. It must show every element that is being considered to create the game which are the goals of the project, the deliverables that will be made, the schedule of how long does it takes to complete the project, and also the budget for the resources. This is really important because once it is signed and approved by the publisher; the developer is legally obligated to follow the contract. The least important is the idea of the game, but it does not mean that the publisher is not interested on it. What publishers want to sell is a game that will be bought by its audiences. Publishers rely on the market data to figure the type of top-selling games; if it is not fit with it, the publisher will reconsider about the funding. 12 2.2.2 Preproduction This is the next phase to create a game after the concept is approved by the publishers. Before they work with full team, a small team will be put on this phase because it is less expensive than funding the full team. This small group will clarify the feasibility of the game ideas by creating the first playable level or the environment of the game. After that, they will create the detail plan of the design and technology. The description must be clear so that the production of the game will be more efficient. At the end of preproduction phase, the publishers will review the prototype, the design and the technical documents, and the refined project plan to make a decision between to continue the production or kill it [11].
Recommended publications
  • Easing the Creation Process of Game for the Non
    ISSN 2186-5647 −日本大学生産工学部第47回学術講演会講演概要(2014-12-6)− 2-85 Easing the Creation Process of Game for the Non-Programmers: An GUI Application for Teaching Art Students China University of Technology ○Leon Deng-Teng SHIH China University of Technology Ching-Yueh TSENG 1. Introduction learning task that meets their individual This paper evaluates the current needs. Game making has the potential to development of GUI Game Engine and play as a role of the powerful learning presents an overview of some of its environment, since it offers students application to merging game art design and practical opportunities to exercise multiple programming, especially in the teaching skills like level design, characters design, field. The implementation of GUI Game visual design, story telling to accomplish a Engine can help to transform the art complex digital creation. creations into interactive multimedia design, This study goes beyond the educational and this is crucial and attractive to art potential of playing games to consider the designer and students. A number of game benefit of making games in teaching engines have come up that can be used to environment. As the process of making facilitate efficient Human Computer games includes playing games to test the Interaction (HCI) and game development. outcome, therefore it can also be linked By expanding the user types and market with developing skills of problem solving, segmentation to non-programmer, GUI decision-making, cooperation, and art Game Engines achieve their business design. successes in game developer market. Developing a deeper understanding However, the application of GUI Game about the computing knowledge and being Engine is still lacking research work able to manipulate digital skills to create concerned with the connections among art graphics, animation, and games has design and game development.
    [Show full text]
  • STEM Student's Guide: Learning to Code and Design Video Games
    Log In A STEM Student's Guide: Learning to Code and Design Video Games For many, video gaming is not only a hobby but a passion. But while playing video games is fun, you could also consider taking things a step further and becoming a game developer someday. There are a lot of di!erent ways to get involved in game design, but one of the most useful skills in this "eld is the ability to code. Anyone can learn to code and create video games, and there are all sorts of free resources online that can help. The two main roles for people who create video games are designers and programmers, but often, their responsibilities will overlap. While there are many di!erent types of video games in the world, all of them are created with the same basic process. Brainstorming A game designer should "rst come up with a basic concept for their game. It's helpful to keep a list of ideas written down somewhere, whether this is on paper or in an app. Next, you'll need to think about the di!erent abilities and actions possible for each character, the mood and tone of the game, and the story that will hold it all together. When thinking of the game's mood, it's essential to consider visual and audio e!ects and the overall aesthetic you're going for. Think about color, shape, and space, and keep in mind that the look of your game should be both unique and functional. While brainstorming new games, designers should keep in mind that they will often go through many ideas that do not work out before "nding one that works.
    [Show full text]
  • Platform for Educational Games Generation
    FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Platform for Educational Games Generation André Gomes Barbosa Mestrado Integrado em Engenharia Informática e Computação Supervisor: Ana Cristina Ramada Paiva September 15, 2015 © André Gomes Barbosa, 2015 Platform for Educational Games Generation André Gomes Barbosa Mestrado Integrado em Engenharia Informática e Computação Approved in Public Examination by the Jury: President: João Carlos Pascoal Faria External examiner: João Miguel Fernandes Supervisor: Ana Cristina Ramada Paiva ____________________________________________________ September 15, 2015 Abstract The development of games for education is a growing area of research. Over the past few years, studies point out that the use of games as a supplement to traditional learning can be much more efficient and motivational than just using the traditional teaching method. These are called serious games. This work aims to improve a previous game developed to learn software testing, having the contents of the game are loaded from a XML file which would be separated from the game implementation. The game itself, iLearnTest, consists of several challenges which cover various themes regarding software testing learning. Since the content is saved to and loaded from a separate file from the game implementation, it becomes easier to create and edit new levels or even new games for diferent topics, simply by editing a XML file. This new approach turns iLearnTest into a framework rather than a game in the sense that it is possible to use the same game(s) as templates for the learning process of a variety of themes. Resumo O desenvolvimento de jogos para a educação é uma área de pesquisa em crescimento.
    [Show full text]
  • Game Engines
    Game Engines Good for Prototypes and kids Scratch http://scratch.mit.edu/ Alice http://www.alice.org/ Kodu http://www.kodugamelab.com/ Game Salad http://www.gamesalad.com/ Gamemaker Studio http://www.yoyogames.com/gamemaker/studio 3D Engines Unity 3D http://www.unity3d.com/ Unreal Engine http://www.unrealengine.com/udk/ Torque 3D http://www.garagegames.com/products/torque-3d Flash based Engines Push Button https://github.com/PushButtonLabs/PushButtonEngine Flixel http://flixel.org/ General programming resources Railsbridge Free workshops in Ruby and Rails for women and their friends http://workshops.railsbridge.org/ Skillcrush Daily email with intro to web and computer topics, tutorials soon. http://www.skillcrush.com/ Code Academy Javascript, html, css, ruby and python http://www.codecademy.com/ Hackity Hack Teaches ruby http://www.hackety.com/ Code Avengers Javascript, html/css http://www.codeavengers.com/ Udacity Online college level courses with an intro to computer science course http://www.udacity.com/ Coursea Online college level course in all sorts of subjects https://www.coursera.org/ Git Hub All sorts of code lives here! https://github.com Processing A simple yet powerful programming language for images, animation and interaction. Lots of great example code. http://www.processing.org/ Game Studios in Madison, WI Raven Software (Activision Blizzard) http://ravensoft.com/ Human Head http://www.humanhead.com/ Filament Games http://www.filamentgames.com/ PerBlue http://www.perblue.com/ Ronin Studios http://www.roninsc.com/ Three
    [Show full text]
  • Faculteit Bedrijf En Organisatie Unity 5 Versus
    Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Samenvatting Rusty Bolt is een Belgische indie studio. Deze studio wilt een nieuw project starten voor een 3D spel in een HyperText Markup Language 5 (HTML5) browser die intensief gebruik zal maken van artificiële intelligentie (AI) en Web Graphics Library (WebGL). Na onderzoek via een requirements-analyse van verschillende mogelijkheden van game engines komen we terecht bij twee opties namelijk Unity 5, die Rusty Bolt al reeds gebruikt, of de Unreal Engine 4, wat voor hen onbekend terrein is. Qua features zijn ze enorm verschillend, maar ze voldoen elk niet aan één voorwaarde die Rusty Bolt verwacht van een game engine. Zo biedt Unity Technologies wel een mogelijkheid om software te bouwen in de cloud. De broncode van Unity wordt niet openbaar gesteld, tenzij men er extra voor betaalt. Deze game engine is dus niet volledig open source in tegenstelling tot Unreal Engine 4. We vergelijken dan verder ook deze twee engines, namelijk Unity 5 en Unreal Engine 4. We tonen aan dat deze engines visueel verschillen van features, maar ook een andere implementatie van de AI hanteren.
    [Show full text]
  • Basic Elements and Characteristics of Game Engine
    Global Journal of Computer Sciences: Theory and Research Volume 8, Issue 3, (2018) 126-131 www.gjcs.eu Basic elements and characteristics of game engine Ramiz Salama*, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Mohamed ElSayed, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Suggested Citation: Salama, R. & ElSayed, M. (2018). Basic elements and characteristics of game engine. Global Journal of Computer Sciences: Theory and Research. 8(3), 126–131. Received from March 11, 2018; revised from July 15, 2018; accepted from November 13, 2018. Selection and peer review under responsibility of Prof. Dr. Dogan Ibrahim, Near East University, Cyprus. ©2018 SciencePark Research, Organization & Counseling. All rights reserved. Abstract Contemporary game engines are invaluable tools for game development. There are many engines available, each of them which excel in certain features. Game Engines is a continuous series that helps us to make and design beautiful games in the simplest and least resource way. Game drives support a wide variety of play platforms that can translate the game into a game that can be played on different platforms such as PlayStation, PC, Xbox, Android, IOS, Nintendo and others. There is a wide range of game engines that suit every programmer and designed to work on Unity Game Engine, Unreal Game Engine and Construct Game Engine. In the research paper, we discuss the basic elements of the game engine and how to make the most useful option among Game Engines depending on your different needs and needs of your game. Keywords: Game engine, game engine element, basics of game engine.
    [Show full text]
  • Top 2D Game Engines
    1 / 2 Top 2d Game Engines Edgelib – 2D and 3D middleware game engine that supports iOS, ... See all mobile app development companies to find the best fit for your .... Whereas Unreal Engine is best-suited for more robust games—especially from a ... Oxygine is completely free and open source (MIT license) 2D game engine, .... Unity is an amazing game engine, which is designed for 2D and 3D games. The engine is very easy to pickup for beginners and experts. The engine is very .... Godot is an advanced, feature-packed, multi-platform 2D and 3D open source game engine. It provides a huge set of tools with a visual editor, an .... It features hardware-accelerated 2D graphics, integrated GUI, audio support, lighting, map editor supporting top-down and isometric maps, pathfinding, virtual .... The powerful game development tool is capable of designing many different types of games including 2D and 3D type projects. Unity can develop .... Defold is a free and open game engine used for development of console, desktop, mobile and web games.. Whether they are 2D or 3D based, they offer tools to aid in asset creation and placement. The report offers detailed coverage of Game Engines ... 5d game creation framework with support for different isometric perspectives. ... 3D, 2D Game Sprites – Isometric, Pre-rendered, Top-down, Tiles Artwork .... Compare and contrast the various HTML5 Game Engines to find which best suits your needs. Play scary games at Y8.com. Try out games that can cause fright or .... I'm working on a 2D game using Paper2D in Unreal and found some tutorials for ..
    [Show full text]
  • Game Play Improve Your Literacy – Suggested Activities
    Alice in Australia Story Six : Game Play Improve Your Literacy – Suggested Activities Fun and Games Gamefroot - makes it easy for absolutely anyone to make instantly playable games online, play In this episode, Alice talks about playing games you’ve made or that others have made, computer games with Lewis and Carol. The and share your creations and favorite games with twins’ mother says, ‘Why would you play a the world http://gamefroot.com computer game when you can Read a Book, Write a Poem, Paint a Picture?’ StoryBricks - Produce deep, engaging stories of your own making simply by clicking together Find out how many kids in the class play bricks. Watch your stories develop as you play computer games, and ask them to make a list of and create new connections between bricks. the most popular ones. http://www.storybricks.com Have the debate/discussion prompted by GameSalad - Create games for free, test them on the question above. Apple devices and upload them to the App store. No coding required. http://gamesalad.com Explore games-based learning further by checking out these games creation sites. They ClassTools - Create free educational games, are listed in order of difficulty (easiest to most quizzes, activities and diagrams in seconds! Host difficult). them on your own blog, website or intranet. http://www.classtools.net Please note that the following list consists of sites we think your students might like; none Scratch - Create and share your own interactive of these sites are affiliated with ‘Inanimate stories, art, music and games. Includes video Alice’. tutorials to make learning easy.
    [Show full text]
  • Gamesalad Essentials
    GameSalad Essentials Create awesome cross-platform games in no time, and with no coding Miguel DeQuadros BIRMINGHAM - MUMBAI GameSalad Essentials Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: January 2015 Production reference: 1240115 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78439-197-3 www.packtpub.com Cover image by Miguel DeQuadros ([email protected]) Credits Author Project Coordinator Miguel DeQuadros Harshal Ved Reviewers Proofreaders Aaron Beaty Simran Bhogal Dirk Schembri Paul Hindle Clyde Jenkins Acquisition Editor Neha Nagwekar Indexer Rekha Nair Content Development Editor Shubhangi Dhamgaye Production Coordinator Nilesh R. Mohite Technical Editors Akashdeep Kundu Cover Work Deepti Tuscano Nilesh R. Mohite Copy Editor Shivangi Chaturvedi About the Author Miguel DeQuadros is a game developer and founder of the independent development studio Wurd Industries, based in Ontario, Canada.
    [Show full text]
  • Video Game Design
    Video Game Design Getting Started with Game Development About Me • Owner of Cloudy Heaven Games LLC • Education and professional experience in Computer Science and Game Development • Lifelong passion for video games How to Get Into Game Development? ● Step 1: Learn about the game industry ● Step 2: Learn the skills for your role ● Step 3: Make a games portfolio Game Development Roles ● Game Designer: Develops the ideas, concepts, layouts, and overall experience for a game. ● Programmer: Writes the code that makes the game run ● Artist: Creates the visual art assets for the game ● Musician/Sound Artist: Creates music and sound effects for the game. ● Voice Actor: Provides voice for character dialogue in the game. Game Development Roles ● Writer: Writes the story, script/dialogue, and other necessary written products for the game. ● Playability and Quality Assurance Tester: Playtests the game for bugs, problems in game quality, and other issues. ● Project Manager: Responsible for the day-to-day operations of the team, coordinating team members, and making sure that the game project stays on track as far as time and budget. ● Marketer/Promoter: Promotes and gains publicity for the game ● Technical Writer: Writes the technical documentation Recommended Education and Skills ● Recommended for all roles: ○ Game design ○ Humanities courses (history, literature, writing, mythology, etc) ○ Writing and communication ○ Basic math skills ● Specific roles: ○ Programmer: Computer science, programming languages, basic physics, at least some algebra ○
    [Show full text]
  • 6.2 Using Game Development to Engage Students in Science And
    6.2 Using Game Development to Engage Students in Science and Technology Using Game Development to Engage Students in Science and Technology John Wiacek ECPI College of Technology [email protected] Abstract. Game design wor1<shops, camps and acl iv~i es engage K-12 students In STEM disciplines that use game engine and development tools. Game development Will have students create games and Simulations that Will inspire tnem to love technOlogy while learning ma th , physics, and,logic. By using lools such as Gamemaker, Alice, Unity, Gamesalad and others, students will get a sense of confidence and accomplishment creating games and simulations. 1.0 NOMENCLATURE technological society, all students need STEM : Science, Technology, Engineering, to develop their capabilities in STEM to and Math levels much beyond what was NPC : Non-Player Character, computer considered acceptable in the past .... controlled character Strengthening STEM education across GUI ; Graphical User Interface the nation is critical to maintaining a high STEP : Science and Technology quality of life for our citizens and Enrichment Program. ensuring that Americans remain competitive in international science and 2.0 WHAT'S THE PROBLEM? technology. Public awareness and action In this day and age of science and are critical to addressing this crisis." [1) technology, students are struggling more than ever with math, science, and To respond to this many schools have taken technology. There are several countries a look at their curriculum and teaching across the world that have noticed a decline methods and modified their methods to in their math and science scores over the focus on test questions more than the last couple of decades.
    [Show full text]
  • Resources for Jammers
    RESOURCES FOR JAMMERS NB:文件由 Ciro Continisio(GGJ Rome)创建并所有,如果你有其他好的链接推荐,请申请在 Google Drive 的编辑权限。这里的大多资源都是免费的, 有些需要付费去获取额外的功能 (请注意此文件已经持续几年,可能有部分资源失效或者过气) 目录 工具 矢量/标量图形 & 2D 图形 源代码管理 集成开发环境 引擎 音乐音效 HTML5 / Javascript Frameworks 资源集成 3D 模型 材质 / 2D 美术 音乐音效 字体 SDKs 桌游工具 进度管理工具 图形版 文字版 其他 Documents from Global Game Jam, translated and published by CiGA 工具 Modeling - http://blender.org Open Source Tool for Storytelling - http://twinery.org/ Openframeworks - C++ toolkit - http://www.openframeworks.cc/ Color Scheme Designer - http://colorschemedesigner.com/ Sound editing - http://audacity.sf.net/ Music - http://lmms.sf.net/ 矢量/标量图形 & 2D 图形 GIMP / FOSS Photoshop - http://gimp.org , Get Paint : http://www.getpaint.net/ 2D Tile Map Editor - http://www.mapeditor.org/ Texture Packer - http://www.codeandweb.com/texturepacker Color Oracle - Color blindness testing - http://colororacle.org Inkscape - SVG Vector drawing tool- http://inkscape.org/ Aseprite - http://www.aseprite.org/ Pixlr - http://pixlr.com/editor/ 源代码管理 Mercurial SCM (software only) - http://mercurial.selenic.com Git (software only) - http://git-scm.com GitHub (software and hosting) - https://github.com Bitbucket (mercurial and git, hosting only) - https://bitbucket.org Sourcetree (nice visual gui software for git and mercurial): http://www.sourcetreeapp.com/ GitExtensions (similar to Sourcetree, but all FOSS): https://code.google.com/p/gitextensions/ 集成开发环境 Eclipse - http://www.eclipse.org/ Visual Studio Express - http://www.visualstudio.com/products/visual-studio-express-vs Monodevelop
    [Show full text]