Project rapport Team Flying Frogs Version 1.0 Table of Contents 1 Introduction (group) ............................................................................................................................. 3 2 Reading instructions (group)................................................................................................................. 3 3 Organization structure (Tim)................................................................................................................. 3 3.1 Rolls ............................................................................................................................................. 3 3.2 Information handling ................................................................................................................... 4 3.3 Pipeline ........................................................................................................................................ 4 4 Choice of method (Tim) ........................................................................................................................ 5 5 Phase 1: pre-production ....................................................................................................................... 7 5.1 Developing the game idea (Lau) .................................................................................................. 7 5.2 Creating a design document (Lau) ............................................................................................... 8 5.3 Use cases/game mechanics (Lau/Tim) ........................................................................................ 8 5.4 Risk assessment (Tim/Per)........................................................................................................... 9 5.5 Making a plan (Tim) ................................................................................................................... 10 6 Phase 2: prototyping and testing of concept ...................................................................................... 10 6.1 making a visual theme (Julie) .................................................................................................... 10 6.2 Making sound (Mads) ................................................................................................................ 10 6.3 Main technical challenge (Per/Christian) .................................................................................. 10 6.4 Critical stage analysis (Hvem vil?).............................................................................................. 10 7 Phase 3: production/construction ...................................................................................................... 10 7.1 Plan A or plan B? (Lau)............................................................................................................... 10 7.2 Testing (Lau/Mads) .................................................................................................................... 11 8 Future perspective (to be discussed) .................................................................................................. 11 9 Evaluation (group)............................................................................................................................... 11 10 Appendix ........................................................................................................................................ 12 10.1 Use cases ................................................................................................................................... 12 10.1.1 Use cases developed in pre-production ........................................................................... 12 10.1.2 Use cases developed and changed in prototyping ........................................................... 12 1 Introduction (group) 2 Reading instructions (group) 3 Organization structure (Tim) 3.1 Rolls To mimic real life situation as much as possible we have chosen to give each group member rolls. The team consists of six members and therefore some members must take on more than one roll. Tim Nielsen: Project manager, half programmer and content pipeline manager As project manager it is Tim responiblity to have the overall view of the project and making schedules. Furthermore Tim has participated in programming when he had the time. Tim has been the main resource in trying to figure out the content pipeline of Source. Per Lohmann: Lead programmer Per has function as lead programmer and as such had the responsibility for estimating time spent on each programming assignment. Furthermore Per did the technical risk assement of the use cases1. Christian Wolfgang: Programmer, CVS manager and wki manager The job of Christian has been to support our Lead programmer and do a lot of programming. It has also been Christian’s assignment to manage our CVS and help the other team members use CVS. Christian has also been the manager of our wiki. Julie Houlberg: Lead visual designer and game designer I conjunction with the other team members Julie main responsibility has been to take everyone ideas and combine them into stunning visuals and maintain the overall visual representation of the game. Julie has also taken a part in the design of the gameplay. Mads Lyngvig: Lead Animator, sound artist and game designer 1 See BLA A major part of Mads’ work has been to bring life into the models of the game by animation. Furthermore Mads has worked with implementing sound into the game. Mads has also helped in designing the game. Lau Korsgaard: Lead game designer, level designer and playtest manager Lau had the noble job of being Lead game design and therefore had the overall responsibility of our gameplay. In conjuction with his job as Lead game designer Lau has also being doing most of the job sitting up our level. Lau has also being managing our playtest throughout the project. 3.2 Information handling In large groups information is crucial. In an effort to communicate efficient between members we have used several different methods. 3.2.1 CVS In sharing and version of code, text files, graphic, animation and sounds we have used CVS. CVS has several features helping controlling files, like merging files, version control, fallback features. This has helped us greatly in not override important files and always ensures that everyone had the latest version of our files. 3.2.2 Wiki The Wiki has been used to shared information regarding source, both technical and non-technical stuff. We have also got several tutorials covering different subjects like creating mods in steam, using CVS. The Wiki has helped us share information in a simple and clearly manner. 3.2.3 Governator For the more important files like design document, process document and plans we have used Governator. Governator is a multipurpose webpage which can handle document version, simple Gantt charts and message boards. But Governator has mostly been used to easily access important documents from everywhere. 3.3 Pipeline Pipeline is used as a technical term and represents the work needed to be done to get a model into source. In general a model has been constructed in max, animated in max, then coveret into .SMD files. This then is “complied” into several files understood by Hammer and Source. When the files are “compiled” it is a simple task using the files. The tricky part of the pipeline is to learn the way it works and then ensure that no part of the pipeline is ever waiting for work or is idle. Basically if member A has the job of “compiling” files, the .SMD files must be ready or member A will be idle and waste valuable time. To avoid the case above we fairly early in the process tried to identify any problems the pipeline could contain by making a simple model and import it into Source. This is not a easy process if you haven’t work with Source before and it took us a couple of days to get working. From there it was simple planning, the visual artist made the models, the animatator animated and converted and “compiled”. From there the programmers of the level designer took the files, depending on who needed it. In a effort to minimize idle time for pipeline members, each member had other responsibilities and could always work on other assignments. But we also tried to keep the number of people involved in the pipeline to a minimum for easier coordination. Therefore at any given time only 2 members where working with the pipeline. Sound on the other hand is an entirely different story. Only one member work with sound in the entire project. As a result no coordination between members were needed. 4 Choice of method (Tim) Developing games can be a changeling job at best. Therefore the choice of development method must reflex this. In our chase we have choosen to look at sereval different methods in a effort to find the most suiddet method: 4.1 Unified Process Unified process (UP) offers a large number of tool for developing software in general, but one of the most important parts of UP is that it is iterative development2. Iterations in UP can be considered as mini-projects ranging from a couple of weeks to a maxium of 8 weeks. Another important concept of UP is that it is risk-driven, meaning UP uses Use-cases and rank these in an effort to minimizes risks for the entire project3. UP is divided into four phases4: 4.1.1 Phase 1: Inception This can be considered as the phase where the initially analyse of the project happens. Work done is this phase is approximate vision, business case, scope, vague estimates. 4.1.2 Phase 2: Elaboration Identify and resolution of high risk, refined vision, implementation of core architecture, more realistic estimates 4.1.3 Phase 3: Construction Iterative implementation of the remaining lower risk. Prepare for deployment 2 [Larman ??] page 14 3 [Larman ??] page 17 4 [Larman ??] page 19 4.1.4 Phase 4: transition Beta tests and deployment 4.2 Pre-production/production/post-production We have chosen to name this method after its three phases. Pre-production/pro-duction/postproduction (PPP) is the first method mention her that focus on game development. 4.2.1 Phase 1: Pre-production In the first phase of PPP it the concept of the game is difined, the time it take to produce the game, manpower and a budget5. In the end of the pre-production a roadmap for the rest of the project should have been developed. 4.2.2 Phase 2: Production In this phase the production of game assets and code starts. At the end of the phase the game should be finish, approved by QA and ready for release6. 4.2.3 Phase 3: Post-production This phase is about closing up the project, learning from the experience of the project. Look at the pros and cons of the project7. 4.3 Choice Each method has its strengthens and weakness, and as result we try to take the best of each method and combine them into a useful method for this project. PPP should be a obvious choice as it focus on game development, but the fact that most details of the game and development process need to be disied8 at the end of pre-production make it look a lot like the water-fall model9. From our point of view the PPP is not espially open experimentation or prototyping, and that is considered that games often requires the last in technology and the development team often have low or no knowledge of the technology used. This is exactly the case with this production, none of the team has worked before and therefore we have to see at the possibility that we don’t know what we are doing. Therefore is it important that we choose a method which allows us to prototype and even focus at the risk that we are facing. As a result we have chosen to take advantage of some of the tools provided by UP. This includes the opportunity to 5 [????] page 5 6 [????] 7 [????] 8 [????] page 10 9 Not discut here prototype and the risk-driven. In an effort to have some similarity to PPP we have chosen to use some of the phases provided by PPP. 4.3.1 Game-prototype method We have chosen to split our development process into three phases: 4.3.1.1 Phase 1: Pre-production In this phase we will developed the initially idea of the game, write up a draft of the game design document. Developed Use-cases and rank those regarding risks. Furthermore we will developed a plan for the rest of the project. 4.3.1.2 Phase 2: Prototyping New technologies introduce new uncerteties and in this phase we try to establish an understanding of the source engine while trying to develop the most risky parts of our game. Further development of the game concept will occur. 4.3.1.3 Production When we have establish a knowledge and know-how of Source as well as developed the most risky parts of our game we will enter the 3 phase – production. In this phase there shouldn’t be any surprises. This phase is about wrapping up the game and documents and get ready for release. 5 Phase 1: pre-production 5.1 Developing the game idea (Lau) We used the first two sessions together to come up with a game concept. To agree on one single idea in a group of six creative people with only the technical limitations of source as constraint is a very challenging task. Our process stated as a normal brainstorming session. The group members came up with ideas in a lot of different directions. After a few ours of constantly bringing up new game ideas the group felt a desire of closing, not opening up, more possibilities. A quick analysis of the ideas so far showed that a good deal of the concepts regarded the universe; snow fighting, frogs and fairytales, …, ect., fewer ideas described game mechanics; turning and twisting camera, not killing but stunning people, ect. but almost no ideas concerned the end goal of the game. Without a goal, mechanics and world couldn’t be rooted in anything which gave us a hard time selecting the right ideas. Further energy was put into that area and a goal came up, everybody agreed on were unique and challenging. The idea was that every player was a part of both a normal team and a secret team. The player has the opportunity to either win with her normal team or backstab the team and score a point with the secret team. This goal made it possibly to be a lot more focused in the development of game mechanics. Our initial idea, after settling for the goal, was a capture the flag game were the conflict were over possession of an item, this idea got further iterated due to the wish of making a more experimental gameplay. In stead of moving a flag between different goals the idea developed into moving the entire playing field towards different goals. This idea evolved into a concept about moving a ball indirect by moving the entire playing field by gravity, still containing the original goal of players playing on two different teams. To the brainstorming sessions, each team member had brought a toy to help generate ideas and to visualize concepts. The idea was to let toys help us think outside conventional genres and foster more creative solutions. Instead of people saying “I want to make a squat based FPS like Counterstrike but with the communication rose from Battlefield 2” the toys should help us propose concepts like “Players should build castles with modular components like LEGO bricks but with the tactile feeling if Slime”. Some of the toys also helped the group test concepts and reach a common understanding quickly. A big pile of different coloured dices were used test the dualteam system, each player were assigned both a number and a colour and after a few minutes the overall concept of the teams could be playtested and understood. 5.2 Creating a design document (Lau) What kind of template an how were it used -also the technical 5.3 Use cases/game mechanics (Lau/Tim) In trying to understand the requirements of our game we chose to divide the game mechanics into use cases10. Use cases are functional way of describing player behavior avablie for the player. This chapter contains the use case which is part of our game. Through out the development other use cases have been discussing, but didn’t become part of this game. These use case can be found in our appendix11 User case diagram The use case dia Use-case 1: Move sphere Use-case 2: Through object Use-case 3: movement 10 USE CASE MY ASS 11 Yeerhaaaaa Use-case 4: Shoot enemy Use-case 5: pick up object Use-case 6: Score point Use-case 7: roll ball Use-case 8: spawn powerups How did we use them 5.4 Risk assessment (Tim/Per) One of the fundamental issues in development in general is to know what to develop next. In determing which order the use case has to be developed in, we made use of a method known as risk assessment12 More bullshit about what risk assessment is Risk assessment 12 See Larman LGJSDLF Use-case TD GR Total 1 5 5 25 7 4 5 23 3 1 5 17 2 3 3 15 8 3 3 15 4 2 3 13 6 2 3 13 5 1 3 11 TD = Techical difficulties * 2 GR = Game relevans * 3 5.5 Making a plan (Tim) Show how to incorporate the risk assessment in the plan 6 Phase 2: prototyping and testing of concept 6.1 making a visual theme (Julie) How was the concept development of the visual theme? 6.2 Making sound (Mads) How and why did we make the sound as it came out? 6.3 Main technical challenge (Per/Christian) A description of how we planned to make the sphere roll and what kind of problems it gave. 6.4 Critical stage analysis (Hvem vil?) The discussions and results of the critical stage analysis 7 Phase 3: production/construction 7.1 Plan A or plan B? (Lau) From the beginning of the project the entire team had high ambitions. We wanted to challenge the possibilities in the source engine and the hammer tools in design, arts and programming. To succeed in this project the group found it necessary to use a tight risk assessment and start with the most unknown variables. If some of the highest risk areas got delayed, we still had a change to adjust design and planning according to the unforeseen events. The project got delayed. After moth of developing a satisfying solutions to the main technical troubles weren’t yet found. Programming worked really hard but problems with tilt of camera, bounding boxes, figuring out the coordinate system of source and many other kept popping up. The team didn’t doubted that the primary usecases could be done, but how many days or weeks it would take and how many other features we would have time to do were still unknown. A crisis meeting were held to discuss the future of the project. The possibilities seemed to be either giving up the idea of making the players roll the entire playing field and develop a plan B instead or the team could continue working towards the original idea but cutting of almost every other than the basic rolling of environment. The outcome of the meeting was a compromise: Programming was given a week more to show results, meanwhile design started to develop a plan B if it should be necessary. Luckily a week was enough for programming to make some results. Plan B got cancelled and the team kept working on the original concept. -we picked plan a, but moved to other use cases than the most critical ones, why? 7.2 Testing (Lau/Mads) A plan for testing from the beginning Physical prototype with dices (to understand the concept) 2d digital prototype (to explore flaws in the design) Internal gameplay prototype (to test balance and flow) External prototype (do they get it? Theme, gameplay, interface) 8 Future perspective (to be discussed) To do list Considerations of sales and so on 9 Evaluation (group) We need some kind of evaluation or conclusion 10 Appendix 10.1 Use cases This section contains the use cases original indented for our game: 10.1.1 Use cases developed in pre-production This section shows the initially use cases developed in the pre-production Use-case 1: Move sphere Use-case 2: Through object Use-case 3: movement Use-case 4: Shoot enemy Use-case 5: pick up object Use-case 6: Score point Use-case 7: roll ball Use-case 8: spawn powerups 10.1.2 Use cases developed and changed in prototyping