Home

Crazy Racing

image

Contents

1. 7 S6 Team 7 TERTI 10 3 2 11 T
2. lA at 2 S6 Team 95 K 100 100 100 3 1 2 4 1 2 4 4 4 1
3. 4 T TEA has 5 To 6 Team 0 ERCI 3 3 1
4. 1 PlayCarController OnTriggerEnter Collider c Source Code void OnTriggerEnter Collider c if c tag Contains Coin coinControl coinScript c gameObject GetComponent lt coinControl gt as coinControl coinScript moveToPlayer true Destroy c GamePlayController collectedCoinsCounts S6 Team if flag_doubleCoins GamePlayController collectedCoinsCounts Pre value variable Case 1 Case 2 Case 3 Case 4 c tag Contains Coin true true false false flag_doubleCoin true false true false collectedCoinsCount 4 4 4 4 c gameObject null null null null Post value variable coinScript moveToPlayer true true false false collectedCoinsCount 6 5 4 4 c gameObject null null Iznull null Passed Failed Passed Passed Passed Passed Source Code void OnTriggerEnter Collider c else if c collider name Contains Magnet SoundController Static playmagnetHit Destroy c gameObject gameObject transform Find particleMagnet gameObject SetActive true coinControl isONMagetPower true if switchOnMagnetPower null switchOnMagnetPower null null Invoke EndMagnetPowe
5. Figure 6 6 Choose map 1 4 S6 Team N Figure 6 7 Game screen 14 RM gt x Figure 6 8 Pause game screen XX RESUME MAINMENU S6 Team 2 2 1 Figure 6 9 In game screen Figure 6 10 In accident screen 2 2 S6 Team Figure 6 12 Helicopter s fight area
6. u 32 5 Te RNA 7 33 Bi A R 7 47 7 S6 Team 9 6 34 35 10
7. S6 Team S 5 AN HIGH SCORE QUIT Figure 6 28 Quit button 7 J Wc QUT S6 Team
8. S6 Team 18 To 19 20 9 Rod 9 1 S6 Team 21
9. 2 9 2 3 4 5 PR LTLATIE jo Os 3
10. 4 S6 Team S 23 FACEBOOK FACEBOOK 209 24 FACEBOOK FACEBOOK irh LE LIT Ae Oe 5 HIGHSCORE
11. S6 Team 10 11 CCS CES 12 6 13
12. 6 S6 Team 7 4 8 9 5
13. 36 FACEBOOK FACEBOOK ja 5 37 FACEBOOK FACEBOOK S6 Team Le YA TORT Oo 11 HIGHSCORE 38 O O
14. 3 5 Lf S6 Team 18 Te 7 19 7 o o 20 3 6 W lEg r KL F 21 BRL KL F
15. 7 12 7 13 3 3 S6 Team BAT AF LE 125 T MAT AT AR 7 MAT AF LX 7 3 4
16. Description Parameter s name Type Description N A 1 6 FreeCoinsADpromotionSound Properties Name Type Visibility Description showCointainer GameObject public notAvailContainer GameObject public soundSelectionMenu GameObject public Sound selection menu uiCamera Camera public User interface camera alreadyGiveFreeCoins bool public static Operations S6 Team Signature void Update Description update mouse position Parameter s name Type Description N A Signature void MouseUp Description mouse position control Parameter s name Type Description a Vector3 Signature void PlayClickSound Description Parameter s name Type Description N A Signature void SetActive Description Activates Deactivates the GameObject Parameter s name Type Description bool 1 7 GameCenterUI Properties Name Type Visibility Description N A S6 Team Operations Signature void Start Description Initialize game center Parameter s name Type Description N A Signature void Update Description Parameter s name Type Description N A 1 8 HighScoreMenu Properties Name Type Visibility Description uiCamera Camera public Use
17. loadingLevelObj GameObject public Level load object menuObj GameObject public Menu IAP GameObject public carIndex int public Car s index static carMeshObjs GameObjectl public carSpeedDisplayText TextMesh public Display car s speed carPriceDisplayText TextMesh public Display car s price headingText TextMesh public Heading text Operations Signature void Start Description Parameter s name Type Description N A Signature void Update Description Parameter s name Type Description N A Signature void MouseUp Vector3 position Description mouse position control Parameter s name Type Description position Vector3 Get user s touch position S6 Team Signature void MouseDown Vector3 position Description mouse position control Parameter s name Type Description position Vector3 Get user s touch position Signature void ShowNextcar Description show next car Parameter s name Type Description N A Signature void ShowPreviouscar Description show previous car Parameter s name Type Description N A Signature void ShowCar Description show car Parameter s name Type Description N A Signature void OnEnable Description Register event for playing or buying car Parameter s
18. 10 0 15 550 155 6 50 155 S6 Team RR iPhone 5 iOS v8 2 Samsung Galaxy S3 Android v4 4 Windows Unity 27 26 1 4 6 1 Unity 4 6 1 98 98 0 N A N A N A N A 165 162 3 S6 Team Chapter 6 IL e Android n 12MB a 100MB n OS Android 2 3 o IPhone Ipad Ipod touch n 100MB OS ijOS 7 apk ipa CD JW apk 7 ipa 7 iFunBox iPhone IL Figure 6 1 Main menu 6 Team JAN MM UES HIGH SCORE N M M9 N FR O OHIT Figure 6 2 Singleplay button
19. Properties Name Type Visibility Description totalCoinsHS int public Total high score coins static count variable maxCoinsHS int public Max coins high score static count variable coinsTxt TextMesh public Display number of coins maxcoinsTxt TextMesh public Display number of max coins staticInstance TotalCoinsHighscore public Static instance of this static class Operations Signature void Start Description Create static instance of this class Parameter s name Type Description N A Signature void UpdateCoins Description Update coins and highest coins S6 Team Parameter s name Type Description N A Signature void ClearTotalCoinsHighscore int coins Description Clear and update total and highest coins Parameter s name Type Description coins int Signature void ClearAll Description Clear all and update number of highest coins Parameter s name Type Description N A 1 14 TotalDistanceHighScore Properties Name Type Visibility Description totalDistanceHS int public Total high score static distance count variable maxDistanceHS int public Max high score static coins count variable distanceTxt TextMesh public Display number of distance maxdistanceTxt TextMesh public Display number of max distance staticInstance TotalDistanceHighscore public static
20. lt gt lt TA gt lt gt 4 6 san em ae 5 5 1 TrieuTTH S6 Team CuongNC 3 3 UTT v4 6 DMS v8 3 1 III 1 S6 Team 1
21. Fsoft m EAST ES DS i NENNEN BE TP Im EC EE 3 4 5 6 N A 7 N A S6 Team NS 8 IL TX RER 1
22. 46 14 6 Team 7 T 3 E 117 385 Ta 8
23. e 4 2 S6 Team BETS UTT 8 ONT S6 Team 4 5
24. headingText TextMesh public Heading text Operations Signature void Start Description Parameter s name Type Description N A Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void MouseUp Vector3 position Description mouse position control Parameter s name Type Description position Vector3 User s touch position Signature void ScreenPointToRay Vector3 position Description Returns a ray going from camera through a screen point Parameter s name Type Description position Vector3 User s touch position S6 Team Signature void ShowPreviousSoundtrack Description Parameter s name Type Description N A Signature void PurchaseSoundtrack Description Parameter s name Type Description N A Signature void MouseDown Vector3 position Description mouse position control Parameter s name Type Description position Vector3 User s touch position Signature void ShowSoundTrack Description Show soundtrack Parameter s name Type Description N A Signature void ShowNextSoundtrack Description Show next soundtrack Parameter s name Type Description S6 Team N A Signature void ShowPreviousSoundtrack Descriptio
25. ki 1 1 Figure 6 3 Select car S6 Team lt lt gt gt IT SELECT CAR Figure 6 4 Buy car 12 I SELECT MUSIC Figure 6 4 Select soundtrack lt lt gt gt S6 Team
26. Signature void OnGameEnd Object object EventArgs args Description Stop renderer button stop racing scence Parameter s name Type Description Obj Object arsg EventArgs Signature void DownState Vector3 position Description Handler when user s control Parameter s name Type Description ostion Vector3 Catch the postion that user P p touch or click Signature void UpState Vector3 position Description Handler when user s control Parameter s name Type Description ostion Vector3 Catch the postion that user p p touch or click 3 Utilities 3 1 Game Data Properties Name Type Visibility Description CurrentLevel int public Current game s level static PercenLevel float public When percent become static 100 user will go to next level ExperientOnRun float public Distance that user gets S6 Team static ExperientOnLevelBegin float public static Default experience Operations Signature void Save Description Save data to player s preference Parameter s name Type Description N A 3 2 Destroyer Properties N A Operations Signature void OnBecamelnvisible Description Destroy object when it s invisible No longer exsited in screen Parameter s name Type Description N A
27. Team member No Student Full name Phone E mail Role code Group 1 01743 Hie Ngoc 01649589787 sondn01743 fpteduvn PM S6 Team Tr n Qu c Duy Nguy n Cao Cu ng 4 01513 L Vi t Anh 01658642297 anhlv01513 fpt edu vn Tester 2 SE60643 0906577104 duytqse60643 Q fpt edu vn Developer 3 60114 0985 456 222 cuongnc60114 Gfpt edu vn Developer 5 01938 Im 01652583353 manhdt01938 fpt edu vn Developer T n Th t 6 SE60603 Hoang Trieu 01676578910 trieutthse60603 fpt edu vn Developer IV Background Nowadays game is one of important fields in entertainment area Moreover smartphone is growing up promptly almost of people also have a personal smartphone Because of that game mobile development is very necessary In fact there were a lot of successful products that had gotten high profit such as Flappy bird angry bird ninja fruits Indeed Viet Nam s game development field is still in growing process and not really have games that satisfy the market Consequently we ve decided to develop a game for people s relaxing in their free time on iOS and Android V Overview of existing product Some mobile games are already released on market 1 Racing moto S6 Team Figure 1 1 Racing Moto gt Highlights The road in this game contains two partitioning line dividing it into three lanes which is
28. Signature void Destroy GameObject obj Description Destroy object when it s invisible No longer exsited in screen Parameter s name Type Description obj GameObject 3 3 GameCenterSingleton Properties S6 Team Name Type Visibility Description instance GameCenterSingleton public Instance of static GameCenterSingleton class achievements IAchievement private Achievement collection Operations Signature void Initialize Description Initialize user information Parameter s name Type Description N A Signature bool IsUserAuthenticated Description check user authentication Parameter s name Type Description N A Signature void ShowAchievementUI Description show user s achievement Parameter s name Type Description N A Signature void ShowLeaderboardUI Description show leader board Parameter s name Type Description N A S6 Team Signature void ReportScore long score String leaderBoardUI Description Report player s score on leaderboard Parameter s name Type Description score long Score leaderBoardID string ID of leander board Signature bool AddAchievementProgress String achivementID foat percentageToAdd Description check achievement progress adding Parameter s name Type D
29. 6 Team Figure 6 13 Eplosion when player s car s going into fight area 23 Figure 6 14 Coins and distance index 2 4 S6 Team T Figure 6 16 In acceleration 1374172 251 7 S6 Team Figure 6 16 Double coin Power up 2 52 Figure 6 17 Ghost Power up S6 Team Figure 6 18 Going through effect 2 5 3 Figure
30. S6 Team Operations Signature void Start Description Create static instance of this class Parameter s name Type Description N A Signature void UpdateDistance Description Update and display highest distance Parameter s name Type Description N A Signature void ClearTotalDistanceHighscore int coins Description Clear and update highest distance Parameter s name Type Description coins int Signature void ClearAIl Description Delete all data Parameter s name Type Description N A S6 Team GamePlayScene MonoBehaviour transform Transform tag String OnEnable void OnDisable void Start void Stop void gt Awake void FE OnTriggerEnter Collider voii OnCollisionEnter Collision Update void LateUpdate void FixedUpdate void MouseDown void MouseUp void OnGUI void Initialize void BazookaMissle RoundController roadBlockCount Integer otherRoadBlock GameObject SwitchRoadBock void F1 override OnEnable void override OnDisable void override Start void override OnTriggerEnter void playCarController PlayCarController gamePlayController GamePlayController instance BazookaMissle
31. coinScript coinScript c gameObject c gameObject Toe coy GetComponen GetComponen t lt coinControl t lt coinControl gt as as coinControl coinControl coinScript mo coinScript mo veToPlayer veToPlayer true true Destroy c Destroy c GamePlayCon GamePlayCon troller collecte troller collecte dCoinsCounts dCoinsCounts 118 c tag Contains coin coinControl coinControl Nothing Nothing coinScript coinScript happens Cis happens C is S6 Team c tag ccccoin c gameObject c gameObject not destroyed not destroyed GetComponen GetComponen t lt coinControl t coinControl gt as gt as coinControl coinControl coinScript mo coinScript mo veToPlayer veToPlayer true true Destroy c Destroy c GamePlayCon GamePlayCon troller collecte troller collecte dCoinsCounts dCoinsCounts 118 c tag Contains coin Nothing Nothing happens Cis happens C is not destroyed not destroyed c tag cooin 118 c tag Contains coin Nothing Nothing happens Cis happens C is not destroyed not destroyed c tag coun 118 c tag Contains coin Nothing Nothing happens C is happens C is N not destroyed not destroyed c tag coolin 118 c tag Contains coin Nothing Nothing happens C is hap
32. 1 Network problem condition Display message No network connected Relationships N A Business Rules N A 3 2 13 View Driven Distance 3 2 14 View High Score VIEW DRIVEN DISTANCE SPECIFICATION Use case No UCO013 Use case Version 0 1 Use case Name View Driven Distance Author T n Th t Ho ng Tri u Date 28 01 2015 Priority Normal Actor Player Summary This use case allows user to view the distance his her have been driven Goal Display the driven distance Triggers Overgame the game is stopped hit other car Preconditions User play game and the game is over Post Conditions On success Display the distance that means travelled distance unit is m meters On failure N A Main Success Scenario Step User Action System Response 1 Let the game over Display the driven distance Alternative Scenario N A Exceptions N A Relationships N A Business Rules N A S6 Team View Achievements t N ys tends View Picked E s see Up Coin d extend 77 View E Information K ____ Player Sa vais 777 View Driven ELA Distance Highscore lt Lj 0 VIEW HIGHSCORE SPECIFICATION Use case No UCO014 Use case Version 0 1 Use case Name View highscore Author T n Th t Ho ng Tri u Date 29 01 2015 Priority Normal Actor
33. 0 0 O O 0 0 HIGHSCORE 39 550 550 155 155 5 5 0 550 HIGHSCORE 155 155 S6 Team 55 0 4155 40 6 50 F 2 VIEBBE 6 5 O qe ut pee pen uti 1 7 0 1 7 0 Os 550 650 HIGHSCORE 155 1 155 10 0 15 X
34. Signature void MouseDown Vector 3 position Description Mouse position control Parameter s name Type Description position Vector3 User s touch position 1 10 MainMenu Properties Name Type Visibility Description gameCenter GameObject public Game center object uiCamera Camera public User interface camera menuButtonRenders Renderer public Menu button renders buttonTexture Texture public Button texture hit RaycastHit public Raycast hit storeObject GameObject public Store object carSelection GameObject public Car selection object highScore GameObject public High Score reviewUrls string public Web address to review game website MoreUrls string public Some useful web address isDrag bool Operations Signature void Start Description Parameter s name Type Description N A S6 Team Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void OnGUI Description OnGUI is called for rendering and handling GUI events Parameter s name Type Description N A Signature void MouseDown Vector3 positon Description mouse position control Parameter s name Type Description position Vector3 User s touch event Signature void ScreenPointToRay Vector3 position Description Re
35. Signature void PlayPowerPickUp Description Play when the car hit power pick up item Parameter s name Type Description N A Signature void PlaySlider Description Play when the car slide on street Parameter s name Type Description N A Signature void PlayDoubleHit Description Play when the car hit the double coin item Parameter s name Type Description N A S6 Team Signature void PlayNitrousHit Description Play when the car use nitro Parameter s name Type Description N A Signature void PlayClick Description Play when user touch screen or click mouse Parameter s name Type Description N A 1 20 GamelnformationController Properties Name Type Visibility Description pause UIState enum public User s pause game state resume UlState enum public User s resume game state game is playing gameOver UlState enum public Game over state empty UlState enum public Initilizing state ShieldTime float public Shield s time static MagnetTime float public Time of magnet effect static pauseMenu GameObject public Displayed menu when user pause gameOverMenu GameObject public Displayed menu when game over coinImageContainer GameObject public Sound source S6 Team
36. d 2 user must input a generated code from 1 user Let users play game in multiplayer mode Alternative Sc enario N A Step User Action System Response 1 Choose multiplayer mode in main menu Generate a code to send to another player 2 user inputs a generated code different from 1 user code Show popup to notice to user wrong code See Exceptions 1 Step User Action System Response S6 Team Choose multiplayer mode in main menu Generate a code to send to another player 2 2 user inputs a generated code from 1 user code Let users play game in multiplayer mode See Exceptions 2 Exceptions No User Action System Response 1 Enter wrong code Display message Wrong code Please check carefully 2 Play game in network problem Display message Sorry no network conditions connecting Please check your network Relationships N A Business Rules N A S6 Team 3 3 Software system attributes Performance Requirements relating to Performance Requirement 1 Android version 2 3 or higher chipset 0 4GHz or higher RAM 256 MB or higher phone memory SDD card wifi connection Response time for CR system should meet following For the first time to open app it take no longer than 5 seconds For all validation data logic
37. Parameter s name Type Description new Value float Signature void ShowButtons Description show button after racing Parameter s name Type Description N A Signature PlaySlider Description S6 Team Parameter s name Type Description N A 1 5 freeCoinsADPromotion Properties Name Type Visibility Description showCointainer GameObject public Show container that should be displayed notAvailContainer GameObject public Hide container carSelectionMenu GameObject public Car selection menu uiCamera Camera public User interface camera alreadyGiveFreeCoins bool public static Operations Signature void OnEnable Description Initize variable Parameter s name Type Description N A Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void MouseUp Vector3 position S6 Team Description mouse position control Parameter s name Type Description position Vector3 User s touch position Signature void ScreenPointToRay Vector3 position Description Returns a ray going from camera through a screen point Parameter s name Type Description position Vector3 User s touch position Signature void PlayClickSound
38. collision Collision Signature void Destroy Description Removes a gameObject Parameter s name Type Description gameObject GameObject Signature void CancelFire Description Cancel fire Parameter s name Type Description N A 1 23 HelicopterController Properties Name Type Visibility Description Instance HelicopterController public Instance of static HelicopterController Class followTransform Transform private Follow player car transform offset Vector3 public Current coordinate moveSpeed float public Number of move speed variable rotationspeed float public Rotation speed variable playercarcontrol PlayerCarControl private Player car control gameplaycontrol GamePlayController private Game play control goalPos Vector3 public Goal Position S6 Team distance int public The distance of helicopter and player s car xAxisDis int public Operations Signature void Awake Description Call HelicopterController instance Parameter s name Type Description N A Signature void Start Description Give default value for Helicopter and player control s properties Parameter s name Type Description N A Signature void OnCollisionEnter Collision incomingCollision Description On collision helicopter Parameter s name Type
39. 6 Team 7 26 T 7 27 9 3 MAT AF DE 2 o 28 T 7 29 pm BET AF LK 7 S6 Team 9 4 30 95 ASN 31
40. tains DoubleCoins happens happens S6 Team c collider name DoubbleCoins 151 c collider name Con Nothing Nothing tains DoubleCoins happens happens c collider name DoublleCoins 160 c collider name Con SoundControl SoundControl tains InstantNitrous ler Static playi ler Static playi nstantNitrous nstantNitrous Hit Hit 00 name Destroy c ga Destroy c ga InstantNitrous meObject meObject NitrousIndicat NitrousIndicat or NitrousCou or NitrousCou nt 100 nt 100 NitrousIndicat NitrousIndicat or Static Upda or Static Upda teNitrousDisp teNitrousDisp lay lay 160 c collider name Con SoundControl SoundControl tains InstantNitrous ler Static playi ler Static playi nstantNitrous nstantNitrous Hit Hit o Destroy c ga Destroy c ga InstantNitrouss meObject meObject NitrousIndicat NitrousIndicat or NitrousCou or NitrousCou nt 100 nt 100 NitrousIndicat NitrousIndicat or Static Upda or Static Upda teNitrousDisp teNitrousDisp layQ layO 160 c collider name Con SoundControl SoundControl tains InstantNitrous ler Static playi ler Static playi nstantNitrous nstantNitrous Hit Hit c collider name Destroy c ga Destroy c ga S6 Team IInstantNitrous meObject meObject NitrousI
41. distanceImageContainer GameObject public Run while user playing game pauseButton GameObject public Pause button nitrousUIParent GameObject public Using nitro button loading Admob GameObject public Load admob raycastHit RaycastHit public Raycast hit buttonTex Texture public Button texture pauseButtonTex Texture public Pause button texture brakeButtonTex Texture public Brake button texture nitroButtonTex Texture public Nitro button texture pauseButtonRenderer Renderer public Pause button texture renderer nitrousButtonRenderer Renderer public Nitro button texture reanderer buttonRenderers Renderer public Collection of button renderer nitrousTransform Transform public Nitro transform Operation Signature void OnEnable Description Register event Parameter s name Type Description N A Signature void OnDisable Description Unregister event S6 Team Parameter s name Type Description N A Signature void Start Description Detech device setup class s properties Parameter s name Type Description N A Signature void Update Description Listen user s event touch click update value image after each frame Parameter s name Type Description N A Signature void OnEnable Description Register event Parameter s name Type Description N A Signature void OnGameEnd Object object
42. Description Reset user s achievement Parameter s name Type Description status bool Signature void ReportAchievementProgress String achivementID float percentageToAdd Description Reports the progress of an achievement Parameter s name Type Description achievementID string ID of Achivement percentageToAdd float S6 Team n I Chapter 5 1 XI 2 3 UI 4 5 6 2 DMS
43. a Vector3 User s touch position Signature void OnEnable Description Give value class s properties Parameter s name Type Description N A 1 9 LevelSelection Properties Name Type Visibility Description hit RaycastHit public Raycast hit uiCamera Camera public User interface camera levelName string public Name of level static soundTrackSelection GameObject public Select soundtrack LadingSpin GameObject public buttonRenders Renderer public Button render ButtonTexture Texture public Button textture Operations S6 Team Signature void Start Description Parameter s name Type Description N A Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void MouseUp Vector 3 position Description Mouse position control Parameter s name Type Description position Vector3 User s touch position Signature void ScreenPointToRay Vector 3 position Description Returns a ray going from camera through a screen point Parameter s name Type Description position Vector3 User s touch position Signature void MouseUp Vector 3 position Description Mouse position control Parameter s name Type Description position Vector3 User s touch position S6 Team
44. isGameEnded coinsText text coinsText text distanceTrave distanceTrave 0 z distanceT distanceT lled lled ext text ga ext text ga Mathf Round Mathf Round meOverTxt te meOverTxt te ToInt ToInt xt GAME xt GAME playerCarC playerCarC OVER OVER ontrol thisPosi ontrol thisPosi tion z tion z 1104 015f 1104 015f 10 10 2 103 isDoubleSpeed hideNitrousPa hideNitrousPa showNitrousP showNitrousP 1 1 rticle rticle article article 2 109 PercentSpeed carSpeed carSpeed 2 MaxPercentSpeed OriginalCarSp OriginalCarSp eed PercentS eed PercentS peed 100 peed 100 S6 Team 109 PercentSpeed carSpeed carSpeed MaxPercentSpeed OriginalCarSp OriginalCarSp eed eed 109 PercentSpeed carSpeed carSpeed gt MaxPercentSpeed OriginalCarSp OriginalCarSp eed eed 118 c tag Contains coin coinControl coinControl coinScript coinScript c gameObject c gameObject D De GetComponen GetComponen t lt coinControl t lt coinControl gt as gt as coinControl coinControl coinScript mo coinScript mo veToPlayer veToPlayer true true Destroy c Destroy c GamePlayCon GamePlayCon troller collecte troller collecte dCoinsCounts dCoinsCounts 118 c tag Contains coin coinControl coinControl
45. Description incomingCollision Collision Signature void CancelFire Description Cancel fire Parameter s name Type Description N A S6 Team Signature void Destroy Description Removes a gameObject Parameter s name Type Description gameObject GameObject Signature void Update Description Update position of player s car and helicopter each frame Parameter s name Type Description N A 2 MultiPlayer 2 1 ConnectionScene transform Transform tag String OnConnectedToServer void OnServerlnitialized void OnFailedToConnect NetworkConnectionError void OnGUI void NetworkLevelLoader instance NetworkLevelLoader LoadLevel String int void DoLoadLevel String int IEnumaration ip String port Integer override OnConnectedToServer void override OnServerInitialized void override OnFailedToConnect NetworkConnectionError void override OnGUI void Figure 4 21 ConnectionScene 2 1 1 Connector Properties Name Type Visibility Description S6 Team ip String public Ip of server that make a host port int public Port of server isConnected boolean public Flag to check whether server and client have already connected Operations S
46. N A Signature void OnGameEnd Object object EventArsg event Description Destroy no longer unneeded game object Parameter s name Type Description object Object event EventArgs Signature void Update Description updade value of class s properties after each frame Parameter s name Type Description N A S6 Team Signature void OnEnable Description Set value of class s properties Parameter s name Type Description N A Signature void OnDisable Description Repaint Parameter s name Type Description N A Signature void GeneratePowerUpltem Description Create power up item in game Parameter s name Type Description N A Signature void GenerateTrees Description Create trees in street of game Parameter s name Type Description N A Signature void GenerateRoad Description Create road of game Parameter s name Type Description N A Signature void GenerateTrafficCar Description Create traffic car of game Parameter s name Type Description N A Signature void GenerateBazooka Description Create bazooka weapon of game Parameter s name Type Description N A Signature void GenerateBazooka Description Create bazooka weapon of game Parameter s name Type Descr
47. gameOverMenu GameObject public Displayed menu when game over coinImageContainer GameObject public Sound source distanceImageContainer GameObject public Run while user playing game pauseButton GameObject public Pause button nitrousUIParent GameObject public Using nitro button loading Admob GameObject public Load admob raycastHit RaycastHit public Raycast hit buttonText Texture public Button texture pauseButtonText Texture public Pause button texture nitroButtonText Texture public Nitro button texture pauseButtonRenderer Renderer public Pause button texture renderer nitrousButtonRenderer Renderer public Nitro button texture reanderer buttonRenderers Renderer public Collection of button renderer nitrousTransform Transform public Nitro transform Operation Signature void OnEnable Description Register event S6 Team Parameter s name Type Description N A Signature void OnDisable Description Unregister event Parameter s name Type Description N A Signature void Start Description Detech device setup class s properties Parameter s name Type Description N A Signature void Update Description Listen user s event touch click update value image after each frame Parameter s name Type Description N A Signature void OnEnable Description Register event Parameter s name Type Description N A
48. mxm Mk DAI HOC FPT MINISTRY OF EDUCATION AND TRAINING H N i January 2015 Crazy Racing Capstone Project Tr n Binh Duong Dinh Ngoc Son Dinh Tu n Manh L Vi t Anh Tr n Qu c Duy T n Th t Ho ng Tri u Nguy n Cao Cudng CRI S6 Team S6 Team Chapter 1 Introduction This document presents an overview of the project include the reality of the game market the purpose of this project the project participants some same existing game proposal applied technology and some core function I Project Information CRI is 3D RPG game Player is in role as a driver running fast in the freeway that have to find out way to evade the obstacles CR1 create by Unity3D tool and C Net Project Name Crazy Racing Project Code CRI Product Type Mobile Application Timeline From Jan 2015 to Apr 2015 II Purposes This project is registered and implemented as a capstone project for all team members apply knowledge that studied at FPT University to complete well Furthermore we want to create a complete product for going live Complete this project will be a good change for all team members can learn some new technologies Unity3D develop in iOS amp Android platform and some others soft skills working in group Communication skill etc III People Supervisor Full name Phone E mail Role in Group Tr n Binh Duong 0936168165 duongtb O fpt edu vn Supervisor
49. sion collider g sion collider g ameObject ameObject trafficCar Sen trafficCar Sen dMessage St dMessage St opCar Send opCar Send MessageOptio MessageOptio ns DontRequi ns DontRequi reReceiver reReceiver S6 Team iTween Rotat eTo trafficCar new Vector3 0 Uni tyEngine Ran dom Range 1 2 25 0 1 0 f iTween Rotat eTo trafficCar new Vector3 0 Uni tyEngine Ran dom Range 1 2 25 0 1 0 f 231 incTag Contains Nothing Nothing trafficCar happen when happen when OnCollisionE OnCollisionE incTag traffficCar nter nter 231 incTag Contains Nothing Nothing trafficCar happen when happen when W OnCollisionE OnCollisionE incTag traffiicCar nter nter 231 incTag Contains Nothing Nothing trafficCar happen when happen when OnCollisionE OnCollisionE incTag trafficcCar nter nter 231 incTag Contains Nothing Nothing trafficCar happen when happen when OnCollisionE OnCollisionE incTag trafficCCar nter nter 25 incTag Contains GameObject GameObject missile MissileDes MissileDes GameObject GameObject incTag missle FindGameObj FindGameObj ectWithTag ectWithTag MissileDes as GameObject Destroy Missi leDes Instantiate ex pos gameObje ct transform p osition MissileDes as GameObject Destroy Missi leDes Instantiate ex pos
50. void kuran PlayCoinHit void di ovan instance HelicopterController PlayMagnetHit void coinTrans Transform i i E offset Vector3 PlayNitroInstant void coinTurn Integer Hn NewAttribute4 movespeed float PlayDoubleCoinHit void a playCarController PlayCarController PLayGhostHit void box BoxColiider z nue LH SOR MS SPON Er Boolean gamePlayController GamePlayController PlaySlider void goalPosition Vector3 PlayClick void OnMagenetPower void followTransform Transform ResetSize override OnEnable void m CCS WaKAIO yor dede override Start void override OnDisable void ovaridex Update vold override Start void ne de COCHE ERE S veld override Update void Ove ia Ba ORG er ntar CJ 1 15 CoinController Propertites Name Type Visibility Description coinSpeed float public Coin s speed S6 Team coinTrans Transform public Coin s transform TurnCount int public Coin s Y axis degree static moveToPlayer bool public Flag that detech coin and player impact event thisTransform Transform public Current coin s transform originalScale Vector3 public Original scale of coin box BoxCollider public Coins component BoxCollider IsOnMagnetPower bool public Flag to check Is Magnet
51. Player Summary This use case allows user to view the highest score of himself herself Goal Display the highest score which includes earned coin driven distance Triggers User presses High score button on main menu Preconditions User opened app pressed High score button on main menu Post Conditions On success Display the highest score On failure N A Main Success Scenario Step User Action System Response 1 User press High score button 2 Display the best record of user Alternative Scenario N A Exceptions N A Relationships N A Business Rules N A S6 Team 3 2 15 Purchase Game Coins Purchase Game Coins Player PURCHASE GAME COINS SPECIFICATION Use case No UCOI5 Use case Version 0 1 Use case Name Purchase Game Coins Author T6n That Ho ng Trieu Date 29 01 2015 Priority Normal Actor Player Summary This use case allows user to buy coin via apple store or google store account We have 3 packages of coin to let user purchase 2 000 coins 0 99 10 000 coins 2 99 50 000 coins 9 99 Goal Let user change money in account to coins in game Triggers User chooses one of 3 packages Preconditions User must login to apple google account to purchase Post Conditions On success User change money to coins successfully On failure N A Main Success Scenario Step User Action S
52. Refers to coding convention of C Net For more information please go to link http msdn microsoft com codingconvention VI Quality Control 1 A quality demand and desired value 1 1 External quality characteristic The quality demand managed in this project is as follows Quality characteristic Quality demand Functionality a All the functions defined in are realized a Finality b All the test cases of each test specification of a unit test b Accuracy an integration test and a system test are carried out c Standard c Ensure C coding convention Visual Studio d Follow security privacy in Apple document all features access to user information are allowed by user conformity d Security Reliability Alllocation information had been checked before a Maturity nature providing to user to ensure high reliability b Recoverability The system will work back within 2 days after occurring Usability All design amp features based on user experience due to application is suitable with everyone uses iPhone and S6 Team Android mobile Efficiency The performance is high because optimizing code focus to user demand Maintainability Easy to maintain and extend in the future Schedule Complete tasks on time 1 2 Desired value The desired value in this project is set up as follows High performance application is not shock when loading game data 2 Quality review plan Document quality rev
53. carSpeed 0 0 20 20 wheelSpeed 0 0 20 20 rigidbody velocity Vector3 zer Vector3 Zero Iz Vector3 zero o Vector3 zero MissileDes null null null null isGameEnded true true false false gameEnded null null null null Passed Failed Passed Passed Passed Passed 3 RoadController OnTriggerEnter Collider c Source Code if c tag Contains Player amp amp justOnce false GameObject newBlock otherRoadBlock newBlock name road roadBlockCount roadBlockCount otherRoadBlock transform Translate 0 0 2782 907f 2 justOnce true Destroy this gameObject 20 Invoke SwitchRoadBlocks 4 Pre value variable Case 1 Case 2 Case 3 Case 4 c tag Contains Player true false true false justOnce false false true true S6 Team newBlock name road0 road0 road0 road0 otherRoadBlock transform 1 1 1000 1 1 1000 1 1 1000 1 1 1000 position Post value variable justOnce true false false false newBlock name road1 road0 road0 road0 otherRoadBlock transform 1 1 6565 814 1 1 1000 1 1 1000 1 1 1000 position Passed Failed Passed Passed Passed Passed 4 HelicopterController OnTriggerEnter Collider c Source Code void OnCollisionEnter Collision c if c gameObject tag BazookaMissile gameplaycontrol CancelFire Destroy this gameObject Pre value variable
54. missleDestination Transform de override Start void override Update void override OnColliderEnter void override Awake void PlayCarController GamePlayController maxPercentSpeed float percentSpeed float 1 carSpeed float turnSpeed float distanceLevelUp Integer limit float carBody Transform wheelObj Transform instance GamePlayController trafficCars GameObject roadBlocks GameObject powerUpItem GameObject sounds GameObject speedText coinText distanceText TextMesh GamernformationController pauseMenu GameObject gameOverMenu GameObject nitroButton GameObject renderer Renderer Camera Unity originalSpeed float helicopterTransform Transform Upstate 0 bazookaMissle GameObject playerCar GameObject DownState transform Transform helicopterMissle GameObject coinsParent GameObject override OnEnable void GetComponent lt Class gt Component gt hitCount Integer isGameEnd Boolean override OnDisable void 1 upainCamere Camera GenerateBazooKa void override Start void EndMagnetPower void GenerateCoin void override Update void EndGhostPower void GenerateRoad void OnGameEnd Object EventAr
55. nt 1 0f 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 99 or NitrousCou or NitrousCou nt 1 0f nt 1 0f 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 101 or NitrousCou or NitrousCou n n NitrousIndicat NitrousIndicat or NitrousCou or NitrousCou n n 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 0 or NitrousCou or NitrousCou nt 1 0f nt 1 0f 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 999 or NitrousCou or NitrousCou n n NitrousIndicat NitrousIndicat or NitrousCou or NitrousCou n n 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 9999 or NitrousCou or NitrousCou n n NitrousIndicat NitrousIndicat or NitrousCou or NitrousCou n n 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 99999 or NitrousCou n NitrousIndicat or NitrousCou n or NitrousCou n NitrousIndicat or NitrousCou n S6 Team 6 GamePlayController CS 79 DroneChase null InvokeRepeati InvokeRepeati Generate Generate ng generateB ng generateB nothing nothing azooka 13 10 azooka 13 10 InvokeRepeati InvokeRepeati ng ng generateFig generateFig htArea2 13 htArea2 13 4 4 97 camScript null camScript camScript Camera main Camer
56. static effect activated Operation Signature void Start Description Give default value for coin s properties Parameter s name Type Description N A Signature void Update Description Set value of class s properties after each frame Parameter s name Type Description N A Signature void OnEnable Description Findout coin s component and register event Parameter s name Type Description N A S6 Team Signature void OnDisable Description Remove event Parameter s name Type Description N A Signature void OnGameEnd Description Destroy Object Parameter s name Type Description N A Signature void OnMagnetPower Description Active magnet effect Parameter s name Type Description obj Object args EventArgs Signature void OffMagnetPower Description Stop magnet effect Parameter s name Type Description N A Signature void ResetSize Description Set coin s size to original size Parameter s name Type Description S6 Team N A 1 16 GamePlayController Properties Name Type Visibility Description Instance GamePlayController public Instance of static GamePlayControllerClass CollectionsCoin int public Coin s collection Coun
57. void OnCollisionEnter Collision incomingCollision string inc Tag incomingCollision collider tag S6 Team if incTag Contains missile ll incTag Contains DeadZone carSpeed 0 wheelSpeed 0 isDoubleSpeed 0 turnSpeed 0 rigidbody velocity Vector3 zero isDoubleSpeed 1 GamePlayController isGameEnded true if gameEnded null gameEnded null null iTween ShakePosition Camera main gameObject new Vector3 1 1 1 0 6f rigidbody constraints RigidbodyConstraints FreezeAll GameObject trafficCar incomingCollision collider gameObject trafficCar SendMessage StopCar SendMessageOptions DontRequireReceiver l iTween RotateTo trafficCar new Vector3 0 UnityEngine Random Range 1 2 25 0 1 0f GameObject MissileDes GameObject FindGameObjectWithTag MissileDes as GameObject Destroy MissileDes Instantiate expos gameObject transform position Quaternion identity Destroy gameObject Pre value variable Case 1 Case 2 Case 3 Case 4 incTag Contains Tr true true false false afficCar carSpeed 20 20 20 20 wheelSpeed 20 20 20 20 S6 Team rigidbody velocity IzVector3 z Vector3 zero Vector3 zero Iz Vector3 zero ero MissileDes null null null null isGameEnded false false false false gameEnded null null null null Post value variable
58. wi Standard Assets bb Image Effects Pro Onl bis Particles gt E Projectors View Scripts S Camera Scripts m General Scripts IS Utility Scripts Pi Skyboxes Pia Terrain Assets PES stons fbx S Textures P UI gt Rally 4 Cars Pack HQ DES D alls arD ael Figure 4 8 Game play view in Unity tools SoundController Transform Manage all of sounds in this scene SoundController Script Audio Source Take Screen Shot Script GameController Transform Manage all flows actions in this scene GameController Script MainCamera Transform Main view to this scene Camera GUILayer S6 Team FlareLayer AudioListener Road block 1 Transform Cube Mesh Filter Box Collider RoadGenerator Script First road block street Road block 2 Transform Second road block this street will be pawned after Cube Mesh Filter the 1 road block is travelled Box Collider RoadGenerator Script Car Transform Player s car Rigidbody Box Collider Mesh Renderer PlayerCarControl Script Network View technology Network Views are the gateway to creating networked 1 4 Network View technology multiplayer games in Unity are then shared to the other clients on the network to ensure the change of state is noted by all of them To help developer create a game that is able to multi play Unity introduce to Network Views keep watch on
59. 1 ModernGunEffects Collision Detection Discrete ro Aer D Constraints e n Sa Pluain gt W V Box Collider E There are all of objects of W P ii Manh Bandarar Be s gt c M Player Car Control Script G Add Component highWayGameplay scene Surface Free cars gt prefabs GG racersCars v Scene cityGameplay m gamePlay highWayGamepla b Standard Assets b stons_fbx G Textures Figure 4 3 Game objects of a scene So what is game objects in Unity3d 1 2 Game Object Any active object in the currently open scene is called a Game Object Certain assets taken from the Project panel such as models and prefabs become game objects when placed or instantiated into the current scene Other objects such as particle systems and primitives can be placed into the scene by using the Create button on the Hierarchy or by using the GameObjects menu at the top of the interface AII GameObjects contain at least one component to begin with that is the Transform component Transform simply tells the Unity engine the position rotation and scale of an object all described in X Y Z coordinate or in the case of scale dimensional order In turn the component can then be addressed in scripting in order to set an object s position rotation or scale From this initial component you will build upon GameObjects with further components adding required functionality to build
60. 25 O 0 O O 0 O S6 Team HIGHSCORE 0 0 26 550 550 155 155 D 550 5 50 HIGHSCORE 155 155 55 0 155 27 650 5 O 170 170 Os HIGHSCORE
61. Case 1 Case 2 c tag Contains BazookaMissile true false gameObject null null Post value variable gameObject null null Passed Failed Passed Passed S6 Team 5 CoinController CS 27 iIsONMagetPower onMagetPowe onMagetPowe onMagetPowe onMagetPowe r true r true r false r false 47 box null box size box size box size box size new Vector3 new Vector3 new Vector3 new Vector3 0 99 9 99 ELD ERD 72 moveToPlayer thisTrans posi thisTrans posi thisTrans posi thisTrans posi tion tion tion tion Vector3 Move Vector3 Move transform transform Towards Towards thisTrans pos thisTrans pos ition ition playerCarCon playerCarCon trol thisPositi trol thisPositi on on 2 0f playerCa 2 0f playerCa rControl isDo rControl isDo ubleSpeed ubleSpeed 74 thisTrans position z moveToPlaye moveToPlaye lt r false r false playerCarControl this Position z 74 thisTrans position z moveToPlaye moveToPlaye r true r true playerCarControl this Position z 74 thisTrans position z moveToPlaye moveToPlaye gt r true r true playerCarControl this S6 Team Position z 76 NitrousIndicator Nitr NitrousIndicat NitrousIndicat ousCount 90 or NitrousCou or NitrousCou nt 1 0f
62. EventArgs args Description Stop renderer button stop racing scence Parameter s name Type Description Obj Object arsg EventArgs S6 Team Signature void DownState Vector3 position Description Handler when user s control Parameter s name Type Description postion Vector3 Catch the postion that user touch or click Signature void UpState Vector3 position Description Handler when user s control Parameter s name Type Description postion Vector3 Catch the postion that user touch or click 1 21 HelicopterMissle Properties Name Type Visibility Description Instance HelicopterMissle public Instance of this class static playercarcontrol PlayerCarControl private Control car s player FightArea GameObject private Area of Fight missileDestination Transform private Destination of Missile expos GameObject public Operations Signature void Awake Description Call Dronefight instance Parameter s name Type Description N A S6 Team Signature void Start Description Give default value for Drone s properties Parameter s name Type Description N A Signature void Update Description Update value of class s properties after each frame Parameter s name Type Description N A Signature void OnTriggerEnter Collider collid
63. MUSIC Figure 4 13 Select maps S6 Team Figure 4 14 Highscore 2 1 2 GamePlayScene The reposibility of this scene is Displays object in game such as Car Roadm Building Power up item Tree Particle Object Smoke Fire Power up item amination Helicopter allows user controls the car manage power up item helicopter road camera building S6 Team MAIN MENU Figure 4 17 Gameover S6 Team 2 2 MultiPlayer 2 2 1 ConnectionScene The reposibility of this scene is displays available player who want to play game in multiplayer mode allows user choice competitor ect Host Figure 4 18 Multiplayer connect 2 2 2 GamePlayScene The reposibility of this scene is allow two users play together synchronously displays object in game such as Car Roadm Building Power up item Tree Particle Object Smoke Fire Power up item amination Helicopter allows user controls the car manage power up item helicopter road camera building S6 Team 5 Rally Snow Racer Pro exten eee Figure 4 19 Game play multiplayer 2 2 3 How Multiplayer works in our game Crazy Racing game use peer to peer protocol with supported Unity Network View to imlelents multiplayer game mode S6 Team Jas D999UU0 J996U0 jana7pe0 wag 9U99169 J9DPO 9091 0MM9N IL Jdd TF JopeonjoAeuoM ay jana7pe0 19 85 3995
64. N A Signature void OnGameEnd Object object EventArgs event Description Destroy no longer unneeded game object Parameter s name Type Description object Object S6 Team event EventArgs 1 17 PlayerCarController Properties Name Type Visibility Description Instance PlayerCarControl public Instance of static PlayerCarControl class turnSpeed float public Speed of car that follow Y axis carSpeed float public Car s speed maxPercentSpeed float public Max car s speed distanceLevelUp int public Distance that car is running tilt float public Car s tilt limits float public Car s limits gameEnded EventHandler public Game end event handler switchOnMagnetPower EventHandler public Active magnet effect event handler swtichOffMagnetPower EventHandler public Stoop magnet effect event handler magnetPowerTime float public Magnet s effect time doublePowerTime float public Double Coin effect time ghostPowerTime float public Ghost efffect time isDoubleCoin bool public Flag nextFire bool public Flag S6 Team isDoubleSpeed bool public Flag thisTrans Transform public Car s transform particleParent GameObject Particle items that have child thisPosition Vector3 public Car s position carMaterial GameObject public To build car originalCarSpeed
65. N A Exceptions N A Relationships View Maps use case Business Rules User can only select available maps 3 2 3 Unlock Map View Maps ENNO Player UNLOCK MAP SPECIFICATION Use case No UC003 Use case Version 0 1 Use case Name Unlock Map Author Tran Qu c Duy Date 30 01 2015 Priority Low Actor Player Summary This use case allows user to unlock a map by coins make a map available to select to use in the race Goal The unlocked map become available map S6 Team Triggers User select the unlock icon of locked map to unlock it Preconditions All maps display correctly Post Conditions On success The unlocked map become available map with bold color On failure N A Main Success Scenario Step User Action System Response 1 Touch the unlock icon of unavailable map image Display message that ask user pay corresponding coin for unlocking this map 3 User select OK 4 The map is unlocked Alternative Scenario Step User Action System Response 1 Touch the unlock icon of unavailable map image but the coin is not enough Show message that notify user is not enough coins 3 User select OK 4 Message hide The chosen map still locked Exceptions N A Relationships View Maps use case Business Rules User can only unlock the locked map To unlock
66. Pre value variable Case 1 Case 2 c tag Contains DoubleCoins true false gameObject transform Find particleDouble false false gameObject Active flag doubleCoins false false c gameObject null null Post value variable gameObject transform Find particleDouble true false gameObject Active S6 Team flag doubleCoins true false c gameObject null null Passed Failed Passed Passed Source Code void OnTriggerEnter Collider c else if c collider name Contains InstantNitrous SoundController Static playinstantNitrousHit Destroy c gameObject NitrousIndicator NitrousCount 100 NitrousIndicator Static UpdateNitrousDisplay Pre value variable Case 1 Case 2 Case 3 c tag Contains InstantNitrous true true false NitrousIndicator NitrousCount 0 100 0 c gameObject null Iznull null Post value variable NitrousIndicator NitrousCount 100 100 0 c gameObject null null null Passed Failed Passed Passed Passed Source Code void OnTriggerEnter Collider c S6 Team else if c collider name Contains Bazooka Instantiate missileFighBack gameObject transform position Quaternion identity Destroy c gameObject hitcount 1 Pre value variable Case 1 Case 2 c tag Contains Bazooka true false hitCount 0 0 c gameObject Iznull
67. coin Instant nitrous energy for boost car s speed can full immediately if user pick it up Figure 3 24 Instant nitrous S6 Team Figure 3 25 Maps Map 1 City Map 2 Country Map 3 Desert 4 1 4 Helicopter Helicopter will attack player car by missle This process provides player car attack point on the street user have to control the car without run on attack point if user hits this point the car will be destroyed S6 Team Figure 3 26 Helicopter Attack point Figure 3 27 Attack point S6 Team Chapter 4 Software Design Description I Introduction This document describes the architecture design the detail design and the class design The architecture design contains the overall architecture design of the system and its subs system The detail design represents the structure and the behaviors of the component The class design describes detail design of class and relationship of them Each of the following sections are summarized below Software architecture design Details description of components II Software architecture Design 1 Unity engine First we should follow some components of Unity3d structure Scene Other Game Figure 4 1 Game object s component 1 1 Scene In Unity you should think of scenes as individual levels or areas of game content though some developers create entire games in a single scene such as puzzle games by dynamically loading
68. distanceLevelUp Integer limit float carBody Transform wheelObj Transform originalSpeed float bazookaMissle GameObject helicopterMissle GameObject hitCount Integer mainCamera Camera carMaterial Material ni EndMagnetPower void EndGhostPower void EndDoubleCoin void SwitchMagnetPower void SwitchGhostPower void ShowNitroParticle HideNitroParticle void override OnEnable void override OnDisable void override Update void override Start void override FixedUpdate void override OnTriggerEnter void override OnColliderEnter void Camera Unity transform Transform CoinController coinSpeed float coinTrans Transform coinTurn Integer NewAttribute4 box BoxColiider isOnMagnetPower Boolean OnMagenetPower void ResetSize override OnEnable void override OnDisable void override Start void override Update void 1 1 GetComponent Class Component MonoBehaviour transform Transform tag String OnEnable void OnDisable void Start void Stop void Awake void OnTriggerEnter Collider void OnCollisionEnter Collision void Update void LateUpdate void FixedUpdate void MouseDow
69. earlier it is possible to assign a simpler mesh than that which is rendered in order to create simpler and more efficient mesh colliders 1 3 3 Mesh Renderer Meshes imported from 3D packages can use multiple Materials All the materials used by a Mesh Renderer are held in the Materials list Each submesh will use one material from the materials list If there are more materials assigned to the Mesh Renderer than there are submeshes in the mesh the first submesh will be rendered with each of the remaining materials one on top of the next At a cost of performance this will let you set up multi pass rendering on that submesh Fully opaque materials however will simply overwrite the previous layers costing performance for no advantage S6 Team 1 3 4 Scripting Scripting is an essential ingredient in all games Even the simplest game will need scripts to respond to input from the player and arrange for events in the gameplay to happen when they should Beyond that scripts can be used to create graphical effects control the physical behavior of objects or even implement a custom AI system for characters in the game Scripting is a skill that takes some time and effort to learn the intention of this section is not to teach you how to write script code from scratch but rather to explain the main concepts that apply to scripting in Unity 1 3 5 Materials textures shaders Materials are a common concept to all 3D applications as they
70. functions of the application and important success factors CRI will be developed to provide some main feature to user View change game settings View maps choose unlock maps View cars choose unlock cars Choose music Pause game Drive car Control car Turn Use Boost Energy Pick up items View information View Achievements View Pick up coins View Driven distance View high scores Share facebook Purchase game coins Play with the other by Multiplayer The priority of development Play game single or multiplayer Show details of game played Share achievements with the other over facebook share S6 Team II System Requirement Specification 1 External interface requirements 1 1 User interfaces G3 1234 CRAZY RACING QUIT Figure 3 1 Main menu screen 1234 MODEL BULLET 350 TOP SPEED 180KM PRICE FREE Figure 3 2 Main menu screen S6 Team Figure 3 3 Game play screen SEFEZ HIGH SCORE TOTAL Cons EARNED 234 TOTAL DISTANCE TRAVELLED MAX COINS EARNED IN 1 RUN MAX DISTAN TRAVELLED IN 1 RUN 12345 BACK Figure 3 4 Highscore screen 1 2 Hardware interfaces Android device 2 3 10S device 6 1 or higher Both of types must support wifi connection S6 Team 2 Main flow overviews Start Reach speed up level Display speed coin score E Player hit object Power up item
71. gear and race in different locations amp cities gt Limitation Players can use bikes like the Super Bike and Ultimate Bike in competitive mode These bikes require no skill and completely takes away the fun for players I totally get being able to use them in single player but for competitive multiplayer it s just ridiculous Additionally I m constantly being bombarded with please to buy new bikes from a game that I already purchased There s a free version for a reason and these ads should stay in the free version and be taken out of the pad version VI Proposal The idea about motor racing game is not new even though there are many product with the same format But we expect that our game will bring to players satiation by integrating multiple features Crazy Racing will provide to players the following features gt Interesting game play gt In app purchase providing S6 Team gt Facebook sharing Share achievement by game center VII Product The main product of this project is a game as mentioned above This is a running game with the following function e View change game settings View maps choose unlock maps View cars choose unlock cars Choose music Pause game e Drive car Control car Turn Brake Use Boost Energy Pick up items e View information View Achievements View Pick up coins View Driven distance View high scores e Share facebook e Purchase game
72. int public Default car speed missleFighBack HelicopterController public Helicopter s missle droneFight HelicopterController public Drone enemy hitCount HelicopterController public The number of helicopter hitted mainCamera Camera pubic Third s party and normal camera Operations Signature void OnEnable Description Initilize audio item effect car Parameter s name Type Description N A Signature void Start Description Generate enemy such as traffic cars helicopter and create road power items Parameter s name Type Description N A Signature void Update S6 Team Description Update class s properties after each frame Parameter s name Type Description N A Signature void OnGameEnd Description Unregister event set level car to database Parameter s name Type Description N A Signature void FixedUpdate Description Update s physics of game object Parameter s name Type Description N A Signature void OnTriggerEnter Collider collider Description Detech event when the car player hit the power up item Parameter s name Type Description collider Collider This is the component of game object that make collision when two collider overlap Signature void OnCollisionEnter Collision incomingCollision Descripti
73. name Type Description N A S6 Team Signature void ShowcarINFO Description show car information Parameter s name Type Description N A Signature void Purchasecars Description purchase car selected Parameter s name Type Description N A 1 4 EndScoreDisplayer Properties Name Type Visibility Description distancetext TextMesh public Display player s distance coinsText TextMesh public Display coin that player gained playAgainButton GameObject public Play again button mainMenuButton GameObject public Back main menu button facebookShare GameObject public Facebook share button originalPositions Vector3 public Original Position showFullScreenAd event public Advertising screen static Operations Signature void Start Description Give value of score after gaming S6 Team Parameter s name Type Description N A Signature ReportScore Description Report a score to a specific leaderboard Parameter s name Type Description distanceTravelled long string DistanceID collectedCoinsCounts long string CoinsID Signature void OnEnable Description Register event Parameter s name Type Description N A Signature void SetInt Description Sets the value of the preferenc
74. provide the means to set the visual appearance of a 3D model From basic colors to reflective image based surfaces materials handle everything Let s start with a simple color and the option of using one or more images known as textures In a single material the material works with the shader which is a script in charge of the style of rendering For example in a reflective shader the material will render reflections of surrounding objects but maintain its color or the look of the image applied as its texture In Unity the use of materials is easy Any materials created in your 3D modeling package will be imported and recreated automatically by the engine and created as assets that are reusable You can also create your own materials from scratch assigning images as textures and selecting a shader from a large library that comes built in You may also write your own shader scripts or copy paste those written by fellow developers in the Unity community giving you more freedom for expansion beyond the included set When creating textures for a game in a graphics package such as Photoshop or GIMP you must be aware of the resolution Larger textures will give you the chance to add more detail to your textured models but be more intensive to render Game textures imported into Unity will be scaled to a power of 2 resolution For example 64px x 64px 128px x 128px 256px x 256px 512px x 512px S6 Team LoadingScreen Trans
75. the response time shouldn t take than 2 seconds 2 With mentioned server above CR system should work smoothly in low RAM memory condition Scalability Requirements relating to Scalability It must scale to the expected to run in 2 mobile device at same time to play multiplayer mode Security Requirements relating to Security Just use standard authentication and authorization mechanism of apple store and google store Portability Requirements relating to Portability 2 3 or higher iOS version 6 1 or higher For the up coming release the CR is expected to work with Android OS version Error Handling S6 Team Requirements relating to Error Handling Proactive notification of problems System must provide sufficient context in the notification to assist in the diagnosis and repair of the problem Varying levels of notification will be needed for different classes of error instances logging errors to log files logging errors to event viewer sending messages Infrastructure Requirements relating to Infrastructure All services inside CR are expected to work with local database Support amp Supportability Requirements relating to Support Still maintain and update new version into store Reliability Requirements relating to Reliability Availability The CR server is expected to run all the time 24 hours a day and 7 day a week without crash Design Constraints Require
76. used by the vehicles to switch their sides in the game All you have to do is to drive your vehicle on one of the two lines where there is no obstacle But you need to be careful because the vehicles coming into your way often change their direction which can crash you down if you hit any of them while in full speed So again you will need to have a good hold on the controls of the game to keep your vehicle on the right track without any accident or chance of crashing The store of the Racing moto offers you two more amazing bike to ride on them These two bikes are slimmer than the default bike and help you to escape even the narrower spaces between the two vehicles and hence increasing your chancing to creating a big score The bikes can be unlocked by reaching a score of 30000 and 70000 in a single game of more than one game The traffic gets denser as we cross the score of 50 000 You will also notice that it is a great fun to drive through heavy traffic and after playing the game for about 10 15 days you will feel like an expert gt Limitation No in app purchase no multiplayer no Facebook share 2 Bike racing 2014 S6 Team Figure 1 2 The Racing 2014 gt Highlights A new bike drag racing game with exciting levels and amazing HD graphics with smooth physics control If you are crazy about racing game and crazy about bikes then try this game to enjoy Buy amp upgrade new sports bikes to boost your power Shift your
77. 2 Software environment Operating system Mac OS Windows IDE XCode Unity3D 3D Max Blender Source control SVN S6 Team II Software Organization 1 Process Model N Regirement Gathering Objectives Function amp Performance requirement E Figure 2 1 Prototype model A Production The Prototyping Model is a systems development method in which a prototype prototype is an early approximation of a final system or product is built tested and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed This model works best in scenarios where not all of the project reguirements are known in detail ahead of time It is an iterative trial and error process that takes place between the developers and the users Pros Cons Increased user involvement in the product even before implementation Risk of insufficient reguirement analysis owing to too much dependency on prototype Since a working model of the system is Users may get confused in the prototypes S6 Team displayed the users get a better understanding of the system being developed and actual systems Reduces time and cost as the defects can be detected much earlier Practically this methodology may increase the complexity of the system as scope of the system may expand beyond original plans Quicke
78. 29 c collider name Con Nothing Nothing tains Magnet happens happens c collider name Magnnet 129 c collider name Con Nothing Nothing tains Magnet happens happens c collider name Magneet 139 c collider name Con Destroy c ga Destroy c ga tains Ghost meObject meObject c collider name foreach Mater foreach Mater Ghost ial ial carMaterial in carMaterial in carMaterials carMaterials carMaterial sh carMaterial sh ader ader Shader Find Shader Find Particles Addi Particles Addi tive tive transform coll transform coll iderisTrigger ider isTrigger true true Invoke chan Invoke chan geShaderl g geShaderl g hostPowerTi hostPowerTi me me 139 c collider name Con Destroy c ga Destroy c ga tains Ghost meObject meObject c collider name foreach Mater foreach Mater Ghostt ial ial carMaterial in carMaterial in carMaterials carMaterials carMaterial sh carMaterial sh S6 Team ader Shader Find Particles Addi tive transform coll ider 1s Trigger true Invoke chan geShader1 g ader Shader Find Particles Addi tive transform coll ider isTrigger true Invoke chan geShader1 g hostPowerTi hostPowerTi me me 139 c collider name Con Destroy c ga Destroy c ga tains Ghost meObject meOb
79. 3 count_shader count_shader count shader 999 231 incTag Contains GameObject GameObject trafficCar trafficCar trafficCar incomingColli incomingColli incTag trafficCar i sion collider g sion collider g ameObject ameObject trafficCar Sen dMessage St opCar Send MessageOptio trafficCar Sen dMessage St opCar Send MessageOptio S6 Team ns DontRequi reReceiver iTween Rotat eTo trafficCar new Vector3 0 Uni tyEngine Ran dom Range 1 2 25 0 1 0 f ns DontRequi reReceiver iTween Rotat eTo trafficCar new Vector3 0 Uni tyEngine Ran dom Range 1 2 25 0 1 0 f 231 incTag Contains GameObject GameObject trafficCar trafficCar trafficCar incomingColli incomingColli incTag trafficCarr sion collider g sion collider g ameObject ameObject trafficCar Sen trafficCar Sen dMessage St dMessage St opCar Send opCar Send MessageOptio MessageOptio ns DontRequi ns DontRequi reReceiver reReceiver iTween Rotat iTween Rotat eTo trafficCar eTo trafficCar new new Vector3 0 Uni Vector3 0 Uni tyEngine Ran tyEngine Ran dom Range dom Range 1 2 25 0 1 0 1 2 25 0 1 0 f D 231 incTag Contains GameObject GameObject trafficCar trafficCar trafficCar incomingColli incomingColli incTag ttrafficCar
80. 3 15 Fri 2 13 15 SonDN Test 0 5 days Sat 2 14 15 Sat 2 14 15 AnhLV prototype 2 1 day Sat 2 14 15 Sat 2 14 15 5 4 Multiplayer 14 days Mon 2 16 15 Thu 3 5 15 22 5 4 Create Server 7 days Mon 2 16 15 Tue2 24 15 22 Coding 7 days Mon 2 16 15 Tue 2 24 15 SonDN 5 4 Create Client 4 days Tue 2 24 15 Fri 2 27 15 28 Coding 4 days Tue 2 24 15 Fri 2 27 15 DuyTQ 5 4 Connect Client and Server over 4 days Sat 2 28 15 Thu 3 5 15 30 Master Server Coding 5 days Sat 2 28 15 Thu 3 5 15 TrieuTTH prototype 3 1 day Thu 3 5 15 Thu 3 5 15 Test 6 days Thu 3 5 15 Thu3 12 15 AnhLV 5 4 Create helicopter 3 5 days Fri 3 13 15 Wed 3 18 15 32 s 4 Create helicopter 2 days Fri 3 13 15 Mon 3 16 15 32 Graphic design 1day Fri 3 13 15 Fri3 13 15 ManhDT Coding 2 days Sat 3 14 15 Mon 3 16 15 SonDN 5 4 Create target rocketshoton 0 5 days Tue 3 17 15 Tue 3 17 15 37 the ground Coding 0 5 days Tue 3 17 15 Tue 3 17 15 CuongNC s 4 Createrocket shot player 0 5 days Tue 3 17 15 Tue3 17 15 40 S6 Team Task Mode v Task Name w Duration w Start w Finish Predecessors v Resource Names 5 4 Create rocket shot player 0 5 days Tue 3 17 15 Tue 3 17 15 40 Coding 0 5 days Tue 3 17 15 Tue 3 17 15 TrieuTTH 5 4 Create Power Up Player shot 0 5 days Wed 3 18 15 Wed 3 18 15 42 shot against helicopter Coding 0 5 days Wed 3 18 15 Wed3 18 15 DuyTQ prototype 4 1 day Wed 3 18 15 Wed 3 18 15 5 4 Create End Game Screen display 3 5 days Thu 3 19 1
81. 31231 lpazijenutenasuo Jas 2 3 Utilities This package is written for managing database in game share achivement and support for game objecs of scene We will descripts more in III Detais Description S6 Team III Details Description of Components 1 SinglePlayer MenuScene MonoBehaviour transform Transform tag String OnEnable void OnDisable void Start void Stop void Awake void BazookaMissle playCarController PlayCarController gamePlayController GamePlayController instance BazookaMissle missleDestination Transform override Update void override OnColliderEnter void override Start void override Awake void Camera Unity transform Transform GetComponent lt Class gt Component HelicopterMissle instance HelicopterController playCarControl PlayCarController 1 missleDestination Transform override Awake void override Update void OnTriggerEnter Collider void OnCollisionEnter Collision void Update void LateUpdate void FixedUpdate void MouseDown void MouseUp void OnGUI ji Initialize PlayCarController GamePlayController maxPercentSpeed float percentSpeed float carSpeed
82. 5 8 Unity scene file 1 203 KB 188 Computer highWayGameplay unity meta META File 1KB amp Local Disk C lt MainMenu unity Unity scene file 1 314 KB Local Disk D MainMenu unity meta META File 1 KB lt splashScreen unity Unity scene file 8 KB i Network splashScreen unity meta META File 1KB Figure 4 2 Hierarchy and Scene There was 5 main scenes of this project Then we open highWaysGamePlay scene by unity programmer tool S6 Team 3 Unity highWayGameplay unity Crazy racing Android v gt Pd File Edit Ass Component prime 31 Facebook Hard Surface Window Help Scene A T mes i amp Project Inspector N TE Textured 20 X 4 Effectsir Gizmos raAl 2 Create a a Mibluecar Static T Favorites a Assets RACER Scene Tag player Layer Defaut ightArea C AII Materials EZ uightmaprar o Prefab Select Revert Apply oadBlock2 C All Models lect bluewhiteCar O All Prefabs VA Transform os C All Scripts Position X 0 Yo Z 1104 Rotation X 0 ro zo pires Scale X 2 65117 Y 2 65117 Z 2 65117 bi 0000 terrain snow PE Block Building Pack Peer ii Classic Skybox a gt Editor DEAR 2 gt Ga Facebook Angular Drag 0 05 gt Ga FT_MagicEffects_volume02 Use Gravity M b GoogleMobileAds Is Kinematic Ll ss Holiday Interpolate None
83. 5 Priority Low Actor Player Summary This use case allows user to pause the game while playing Goal Keep status of game and resume correctly when user comeback the game Triggers User select Back or Menu button of device Preconditions User s is playing game Post Conditions On success All the status of object in game is keeping storing On failure N A Main Success Scenario Step User Action System Response 1 User select Back or Menu button of device Pause the game keep all status of the all game object Alternative Scenario N A Exceptions N A Relationships Business Rules N A 3 2 9 Turn Car Player TURN CAR SPECIFICATION Use case No UC009 Use case Version 0 1 S6 Team Use case Name Turn Car Author Nguy n Cao Cudng Date 29 01 2015 Priority High Actor Player Summary This function allow player to turn right or left Goal Turn car to evade the obstacles or get power up items Triggers Running screen Preconditions After choose options and go to game play screen in running Post Conditions On success Car turn right or left On failure N A Main Success Scenario Step User Action System Response 1 Skew the mobile to right or left 2 Car turn right or left Alternative Scenario N A Exceptions N A Relationships N A B
84. 5 Tue3 24 15 1 Result 5 4 Display Driven distance 0 5 days Thu 3 19 15 Thu 3 19 15 1 Graphic design 0 5 days Thu 3 19 15 Thu 3 19 15 ManhDT Coding 0 5 days Thu 3 19 15 Thu 3 19 15 SonDN 5 4 Display total Coin player get 0 5 days Fri 3 20 15 Fri3 20 15 48 Graphic design 0 5 days Fri 3 20 15 Fri 3 20 15 AnhLV Coding 0 5 days Fri 3 20 15 Fri 3 20 15 TrieuTTH 5 4 Display Point 0 5 days Sat 3 21 15 Mon 3 23 15 51 Graphic design 0 5 days Sat 3 21 15 Sat 3 21 15 DuyTQ Coding 1 5 days Sat 3 21 15 Mon 3 23 15 CuongNC 5 4 Display Achievement 0 5 days Tue 3 24 15 Tue 3 24 15 54 Graphic design 0 5 days Tue 3 24 15 Tue 3 24 15 ManhDT Coding 0 5 days Tue 3 24 15 Tue 3 24 15 SonDN Test 1 5 days Wed 3 25 15 Thu 3 26 15 AnhLV 5 4 in app purchase 3 days Thu 3 26 15 Mon 3 30 15 47 5 4 Buy new car 2 days Thu3 26 15 Fri3 27 15 47 Task Mode v Task Name w Duration w Start w Finish Predecessors w Resource Names s 4 In app purchase 3 days Thu 3 26 15 Mon 3 30 15 47 5 4 Buy new car 2days Thu 3 26 15 Fri 3 27 15 47 Graphic design 1 day Thu 3 26 15 Thu 3 26 15 ManhDT Coding 1 day Fri 3 27 15 Fri 3 27 15 SonDN 5 4 Buy new map 1day Sat 3 28 15 Mon 3 30 15 62 Graphic design 1 day Sat 3 28 15 Sat 3 28 15 AnhLV Coding 1 day Mon 3 30 15 Mon3 30 15 TrieuTTH Test 1 5 days Tue 3 31 15 Wed4 1 15 65 AnhLV s 4 Game Center 3 days Tue 3 31 15 Thu 4 2 15 61 Coding 1day Tue 3 31 15 Tue 3 31 15 DuyTQ Test 2 days Wed4 1 15 Thu4 2 15 An
85. 6 19 Nitrous Power up S6 Team Figure 6 20 Magnetic Power up Figure 6 21 In Magnetic effect S6 Team Figure 6 22 Bazooka Figure 6 23 Fighting back 2 6 S6 Team ACMIBVEMERTS Ss S MAIN MENY Figure 6 24 Achivement board FACEBOOK 3 HIGHSCORE 72 JA 0 W 629 aI Figure 6 25 High score button 6 Team Total coin earned Total distance travelled Max coins earned in 1 run Max distance travelled in 1 run 1 4 IEF TST VA T Figure 6 26 High score board t c p MultiPlay RA xf IS mn 53 OMIT Figure 6 27 Multiplay button
86. Disable void override Start void override Update void OnGameEnd void 1 coinSpeed float coinTrans Transform coinTurn Integer NewAttribute4 box BoxColiider isOnMagnetPower Boolean OnMagenetPower void ResetSize override OnEnable void override OnDisable void override Start void override Update void HelicopterController instance HelicopterController offset Vector3 movespeed float playCarController PlayCarController gamePlayController GamePlayController goalPosition Vector3 followTransform Transform override Awake void override Start void override Update void override OnColliderEnter void RoundController roadBlockCount Integer otherRoadBlock GameObject SwitchRoadBock void override OnEnable void override OnDisable void override Start void override OnTriggerEnter void GamelInformationController pauseMenu GameObject gameOverMenu GameObject nitroButton GameObject renderer Renderer UpState DownState override OnEnable void override OnDisable void override Start void override Update void SoundController sliderSound AudioCl
87. FX P Figure 4 7 Main menu view in Unity tools Quad Mesh Filter Mesh Renderer Shader Loading picture S6 Team SoundController Transform SoundController script Audio TakeScreen Shot script Manage all of sounds in this scene UIContainer Transform Manage all of UI Texts Labels MainCamera Transform Camera GUILayer FlareLayer AudioListener MouseOrbit Main view to this scene ShowCase Transform Cycle Mesh Filter Mesh Renderer Animator Shader Under the car it will be used to show car scene AdMod Google Mobile Ads Script Ads banner Script Ad Mod Interitial Script Used to add advertisements Game play S6 Team Unity highWayGameplay unity Crazy racing Android gt File Edit Assets GameObject Component prime 31 Facebook Hard Surface Window Help pum center Local ues wm Inspector j 16 10 Landscape 16 10 Maximize on Play Stats Gizmos n Hl E ate amp DOLEAN MU lumegz Assets gt RACER Magi _volume DIEN EE Bi Far 0 Gai GoogleMobileAds manae Pi Holiday ModernGunEffects G ParticleProFX s Plugins VER RACER gt im Editor gt Ga FbxMesh Sa font coin 2 jard Surface Free Distance 2 ons G Plugins GT prefabs bis racersCars cityGameplay
88. Find particleMagn particleMagn et gameObje et gameObje ct SetActive t ct SetActive t rue rue coinControl is coinControl is ONMagetPow ONMagetPow er true er true if switchOnM if switchOnM agnetPower agnetPower null null S6 Team switchOnMag switchOnMag netPower null netPower null null null Invoke End Invoke End MagnetPower MagnetPower magnetPowe magnetPowe rTime rTime 129 c collider name Con SoundControl SoundControl tains Magnet ler Static play ler Static play magnetHit magnetHit PRO Destroy c ga Destroy c ga MMagnet meObject meObject gameObject tr gameObject tr ansform Find ansform Find particleMagn particleMagn et gameObje et gameObje ct SetActive t ct SetActive t rue rue coinControl is coinControl is ONMagetPow ONMagetPow er true er true if switchOnM if switchOnM agnetPower agnetPower null null switchOnMag switchOnMag netPower null netPower null null null Invoke End Invoke End MagnetPower MagnetPower magnetPowe magnetPowe rTime rTime 129 c collider name Con Nothing Nothing tains Magnet happens happens c collider name Maagnet 129 c collider name Con Nothing Nothing tains Magnet happens happens c collider name S6 Team Maggnet 1
89. Fo 22 7 PLA 23 T 7 92 24 de 25 AUGER 2 pP
90. Game Over e Improve car ability Car Bomb No Save Score New hig to game data score Figure 3 5 Mainflow 6 Team 3 System Features 3 1 Overall use case diagram System Player Choose Map extend View Maps i i i extension point H 22077 SW 4 extends sindude i ee eee C Op Gameplay View Cars extend extension point extend Control Car Pickup Items extend extend 77 sextend View Picked Up Coin View Drived Distance View highscore Share Achievements extend Purchase Game Coins Multiplayer Figure 3 6 Usecase diagram S6 Team 3 2 Function definition No 10 11 12 13 14 15 16 The game focus on the iOS and Android operating system that will interact directly with user by operation of user Function name View Maps Choose Map Unlock Map View Cars Choose Car Unlock Car Choose music Pause Turn Car Use Boost Energy Pickup Items Share Achievements Share Pictures View Achievements View Picked Up Coin View Driven Distance Description Display all maps to user User can choose a map for racing User can unlock a new map by coins Display all cars to user User can choose a car for racing In this version of game only support to change skin of car does not include engine tir
91. Lu li 1 I 1 I a i 1 1 1 E TI 1 f i 1 1 i bg 11 Range i 1 a Li 1 i 1 E 1 1 j Li 1 I Lu i 1 i 1 1 1 1 Et K i I Fa 1 i i 1 ii 1 1 Lea PI 1 f DA 1 1 i 1 b 1 1 a I1 i 1 La i 1 i 1 3 1 E 1 1 Game Object 1 E I Hae 1 1 i i 1 Ld 1 1 L3 1 I 4 1 I i 1 e 1 1 ra FE 1 1 ra 1 1 i 1 E 3 1 1 IE Li 1 I yd 1 1 i 1 ia 1 i a e 1 f i 1 1 1 1 1 H 1 LE 1 1 E 1 i i i 1 a 1 rt Center i 1 13 M i 1 LA Vi H 1 E Li 1 1 LA Lu I 1 15 1 I 1 E Li 1 1 ies Vi I 1 A Vi H 1 I L4 i E 11 1 1 li Fog i i ay Ix i N N r Ke Le v d Figure 4 6 Hierarchy of a game object In real game object may contain more than 3 components above and each component contains less or more than 2 variables like that Firstly we should take a look to some popular component 1 3 1 Rigidbody In game engines there is no assumption that an object should be affected by physics firstly because it requires a lot of processing power and secondly because there is simply no need to do so For example in a 3D driving game it makes sense for the cars to be under the influence of the physics engine but not the track or surrounding objects such as trees walls and so on they will remain static for the S6 Team duration of the game For this reason when making games in Unity a Rigidbody physics component is given to any object that you wish to be under the control of the physics engin
92. a main GetComponen GetComponen t lt carCamera gt t lt carCamera gt 0 0 111 isGameEnded coinsText text coinsText text distanceTrave distanceTrave distanceT distanceT lled lled ext text ga ext text ga Mathf Round Mathf Round meOverTxt te meOverTxt te Tolnt ToInt xt GAME xt GAME playerCarC playerCarC OVER OVER ontrol thisPosi ontrol thisPosi tion z tion z 1104 01Sf 1104 015f 10 10 200 GameData Experient GameData Pe GameData Pe GameData Cu GameData Cu OnRun lt rcentLevel 2 rcentLevel rrentLevel rrentLevel GameData CurrentLe GameData Pe GameData Pe 1 1 vel rcentLevel rcentLevel GameData Pe GameData Pe GameData Experient float Game float Game rcentLevel rcentLevel LevelBegin 1 Data Experien Data Experien 0 0 GameData PercentLe tOnRun tOnRun vel float Game float Game S6 Team Data CurrentL evel GameData Ex perientLevelB egin Data CurrentL evel GameData Ex perientLevelB egin 7 PlayerCarController CS 1 63 if tilt tilt 2 tilt tilt 2 tilt tilt tilt tilt 8 UNITY WEBPLAY ER II UNITY EDITOR 1 70 tname Contains Ef particleParent particleParent 9 fect t gameObject t gameObject 2 111
93. ate Description Update s physics of game object Parameter s name Type Description N A Signature void OnTriggerEnter Collider collider Description Detech event when the car player hit the power up item S6 Team Parameter s name Type Description collider Collider This is the component of game object that make collision when two collider overlap Signature void OnCollisionEnter Collision incomingCollision Description Handler when the car hit some object that have collider such as traffic ar Parameter s name Type Description incomingCollision Collision That happen when two collider impact each other Signature void ChangeShader2 Collision incomingCollision Description Create new effect for car Parameter s name Type Description N A 2 2 3 GameInformationControllerMultiplayer Properties Name Type Visibility Description pause UIState enum public User s pause game state resume UlState enum public User s resume game state game is playing gameOver UlState enum public Game over state empty UlState enum public Initilizing state S6 Team ShieldTime float public Shield s time static MagnetTime float public Time of magnet effect static pauseMenu GameObject public Displayed menu when user pause
94. coins e Play with the other by Multiplayer VII Technology To develop this project some technical need to use Unity 3D C Net S6 Team Qunity Figure 1 3 Unity3D Unity is a game development ecosystem a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content easy multiplatform publishing thousands of quality ready made assets in the Asset Store and a knowledge sharing community For independent developers and studios Unity s democratizing ecosystem smashes the time and cost barriers to creating uniquely beautiful games They are using Unity to build a livelihood doing what they love creating games that hook and delight players on any platform S6 Team Chapter 2 Project management plan I Problem Definition 1 Name of this Capstone Project The official and formal Capstone project name is Crazy Racing a mobile game for iOS and Android operating system This game provides an interesting and funny challenging for user s relaxing time 2 Problem abstract Nowadays game is one of important fields in entertainment area Moreover smartphone is growing up promptly almost of people also have a personal smartphone Because of that game mobile development is very necessary In fact there were a lot of successful products that had gotten high profit such as Flappy bird angry bird ninja fruits Indeed VN s game d
95. collider name Cont Instantiate mi Instantiate mi ains bazoka ssileFighBack ssileFighBack gameObject t gameObject t 010 MSS ransform posit ransform posit bazokaa ion ion Quaternion id Quaternion id entity entity Destroy Destroy c gameObjec c gameObjec t t hitcount 1 hitcount 1 174 c collider name Cont Nothing Nothing ains bazoka happens happens c collider name baazoka 174 c collider name Cont Nothing Nothing ains bazoka happens happens c collider name bazzoka 174 c collider name Cont Nothing Nothing ains bazoka happens happens S6 Team c collider name bazooka 174 c collider name Cont Nothing Nothing ains bazoka happens happens c collider name bazokka 219 count shader lt 3 Invoke Invoke changeShad changeShad count shader 3 erl 0 2f erl 0 2f 219 count_shader lt 3 Invoke Invoke changeShad changeShad count shader 2 orit 020 etl 0 20 219 count_shader lt 3 count_shader count_shader count shader 4 219 count_shader lt 3 count shader count shader count shader 5 219 count shader lt 3 count shader count shader O 0 count_shader 9 219 count_shader lt 3 count_shader count_shader count_shader 99 219 count_shader lt
96. content through code By constructing your game with many scenes you ll be able to distribute loading times and test different S6 Team parts of your game individually New scenes are often used separately to a game scene you may be working on in order to prototype or test a piece of potential gameplay A scene is created by one more many game objects A game object is created by components such as collider rigridbody audio scripts particle object mesh render and script Game objects communicate by event Any currently open scene is what you are working on as no two scenes can be worked on simultaneously Scenes can be manipulated and constructed by using the Hierarchy and Scene views ii N gt Crazy racing Assets RACER Scene Organize w Include in library Share with w Burn New folder numm Name i Date modified Type Size RE Desktop cityGameplay 2015 9 05 PM File folder lij Downloads Ji gamePlay 14837PM File folder Recent Places d highWayGameplay 15 9 05 PM File folder L_ cityGameplay meta META File 1KB 3 Libraries lt cityGameplay unity Unity scene file 160 KB amp Apps cityGameplay unity meta META File 1KB E Documents 4 coinEdit unity Unity scene file 72 KB d Music _ coinEdit unity meta 12 8 2014 8 37 META File 1KB Pictures LJ gamePlay meta 12 8 2014 8 37 PM META File 1KB E Videos highWayGameplay meta 12 8 2014 8 37 PW META File 1KB lt highWayGameplay unity 3 31 201
97. e 1 Touch the unlock icon of unavailable car image but the coin is not enough Show message that notify user is not enough coins 3 User select OK 4 Message hide The chosen car still locked Exceptions N A Relationships View Cars use case Business Rules User can only unlock the locked car To unlock user s coins must be equal or higher than necessary coins 3 2 7 Choose Music Choose Music Player CHOOSE MUSIC SPECIFICATION Use case No UC007 Use case Version 0 1 Use case Name Choose Music Author Tr n Qu c Duy S6 Team Date 30 01 2015 Priority Low Actor Player Summary This use case allows user to select a song that playing in the race Goal The chosen music must be play while user playing game Triggers User select a song in the list Preconditions List of music display correctly Post Conditions On success Navigate user to choose music screen On failure N A Main Success Scenario Step User Action System Response 1 Select a cars 2 Navigate user to Music screen Alternative Scenario N A Exceptions N A Relationships Business Rules N A 3 2 8 Pause Pause Player PAUSE SPECIFICATION Use case No UCO008 Use case Version 0 1 Use case Name Pause S6 Team Author Tr n Qu c Duy Date 30 01 201
98. e doublePowe rTime rTime 151 c collider name Con SoundControl SoundControl tains DoubleCoins ler Static play ler Static play doubleHit doubleHit Destroy c ga Destroy c ga 1000 meObject meObject DoubleCoinss gameObject tr gameObject tr ansform Find ansform Find particleDoub particleDoub le gameObje ct SetActive t rue le gameObje ct SetActive t rue S6 Team flag_doubleC flag doubleC oins true oins true Invoke End Invoke End DoublePower DoublePower doublePowe doublePowe rTime rTime 151 c collider name Con SoundControl SoundControl tains DoubleCoins ler Static play ler Static play doubleHit doubleHit Destroy c ga Destroy c ga san meObject meObject DDoubleCoins gameObject tr gameObject tr ansform Find ansform Find particleDoub particleDoub le gameObje le gameObje ct SetActive t ct SetActive t rue rue flag_doubleC flag_doubleC oins true oins true Invoke End Invoke End DoublePower DoublePower doublePowe doublePowe rTime rTime 151 c collider name Con Nothing Nothing tains DoubleCoins happens happens c collider name DooubleCoins 151 c collider name Con Nothing Nothing tains DoubleCoins happens happens c collider name DouubleCoins 151 c collider name Con Nothing Nothing
99. e View Maps Screen displays Preconditions User opened application successfully chosen car and music Post Conditions On success Display all maps that include available maps and unlock maps On failure N A S6 Team Main Success Scenario Step User Action System Response 1 Choose a song 2 Navigate to View maps screen that displays all the map that include available and unavailable maps Alternative Scenario N A Exceptions N A Relationships N A Business Rules Available maps have the bold color opposite the unlock maps have light color with the lock icon on the top 3 2 2 Choose Map View Maps Sextenge Choose Map Player CHOOSE MAP SPECIFICATION Use case No UC002 Use case Version 0 1 Use case Name Choose Map Author Tr n Qu c Duy Date 30 01 2015 Priority Normal Actor Player Summary This use case allows user to select a map only available car to use in the race Goal The chosen map must be display correctly in the race Triggers User select the wanted map image Preconditions S6 Team All maps display correctly Post Conditions On success Navigate user to choose music screen On failure N A Main Success Scenario Step User Action System Response 1 Touch the map image 2 Navigate user to Starting race screen Alternative Scenario
100. e and ideally any moving object so that the physics engine is aware of the moving object to save on performance Physics engines for games use the Rigidbody dynamics system of creating realistic motion This simply means that instead of objects being static in the 3D world they can have properties such as mass gravity velocity and friction 1 3 2 Collision detection More crucial in game engines than in 3D animation collision detection 1s the way we analyze our 3D world for inter object collisions By giving an object a Collider component we are effectively placing an invisible net around it This net usually mimics its shape and is in charge of reporting any collisions with other colliders making the game engine respond accordingly There are two main types of Collider in Unity Primitives and Meshes Primitive shapes in 3D terms are simple geometric objects such as Boxes Spheres and Capsules Therefore a primitive collider such as a Box collider in Unity has that shape regardless of the visual shape of the 3D object it is applied to Often Primitive colliders are used because they are computationally cheaper or because there is no need for precision A Mesh collider is more expensive as it can be based upon the shape of the 3D mesh it is applied to therefore the more complex the mesh the more detailed and precise the collider will be and more computationally expensive it will become However as shown in the Car tutorial example
101. e etc User can unlock a new car by coins User can choose name of song which is played in game Pause the game Control car to turn right left Control car to move with the highest speed Control car to pick up items on the street These items may be nvisible boost can run through another car Double coins Magnet which automatic gets coins from the street Bazooka hit helicopter by missile Supper hit all traffic cars with affects Instant nitrous full energy for boost speed User can share achievements in game distance coins User can share pictures in game After playing game user can see all of information of this game which includes Achievements S6 Team Coins Distance 17 View High Score In main menu user can see the highest score of himself herself 18 Purchase Game Coins User can buy one of three packages of coins by purchase via apple google store 19 Connect to another Player User can play in multiplayer mode with another Multiplayer 3 2 1 View Maps View Maps Player VIEW MAPS SPECIFICATION Use case No UCO001 Use case Version 0 1 Use case Name View Maps Author Tr n Ou c Duy Date 30 01 2015 Priority Normal Actor Player Summary This use case allows user to see all maps that include available maps and unlock maps Goal Display all maps correctly Triggers After user have chosen music th
102. e identified by key Parameter s name Type Description TotalCoins string int collectedCoinsCounts TotalCoinsHighscore string int collectedCoinsCounts MaxCoins string int collectedCoinsCounts TotalDistanceHighscore string int distanceTravelled MaxDistance string int distanceTravelled S6 Team Signature GetInt Description get number of total hight score and max coins Parameter s name Type Description TotalCoins int Total coin TotalCoinsHighscore int Totai coin in highscore data MaxCoins int Max coin TotalDistanceHighscore int Totai distance in highscore data MaxDistance int Max distance Signature void ChangeCoinText Description Display number of coins that player gained Parameter s name Type Description new Value float The current coin got Signature void StartDistanceCount Description Count distance and record Parameter s name Type Description N A Signature PlayCoinHit Description Parameter s name Type Description S6 Team N A Signature PlayCarCrashSound Description Parameter s name Type Description N A Signature PlayPowerPickUp Description Parameter s name Type Description N A Signature void ChangeDistanceText Description Display number of distance that player gained
103. er Description Fight area and Missile destination trigger Parameter s name Type Description collider Collider Signature void Destroy Description Removes a gameObject Parameter s name Type Description gameObject GameObject Signature void OnCollisionEnter Collision incomingCollision Description On collison event destroy traffic car or player s cars Parameter s name Type Description S6 Team incomingCollision Collision 1 22 BazookaMissle Properties Name Type Visibility Description Instance BazookaMissle public Instance of this class static playercarcontrol PlayerCarControl private Player car control gameplaycontrol GamePlayController private Game play control missileDestination Transform private Destination of Missile expos GameObject public Operations Signature void Awake Description Call Drone fight back instance Parameter s name Type Description N A Signature void Start Description Give default value for Drone and car s properties Parameter s name Type Description N A Signature void OnCollisionEnter Collision incomingCollision Description On collision event player s car fight back to drone Parameter s name Type Description S6 Team
104. escription achievementID string ID of Achivement percentageToAdd float Percentage of achivement Signature bool ReportAchievementProgress String achivementID foat progressCompleted Description check achievement progress reporting Parameter s name Type Description achievementID string ID of Achivement progressCompleted float Signature void ResetAchievements Description Reset user achievement Parameter s name Type Description N A S6 Team Signature void LoadAchievements Description Load user achievement Parameter s name Type Description N A Signature void ProcessAuthentication Boolean success Description Authentication Process Parameter s name Type Description success Boolean Signature void ProcessLoadedAchievements Description Update achievement process Parameter s name Type Description achievements IAchievement Signature bool IsAchievementComplete String achivementID Description check achievement completion Parameter s name Type Description achievementID string ID of achivement Signature IAchievement GetAchievement String achivementID Description Get achievement Parameter s name Type Description achievementID string S6 Team Signature void ResetAchievementsHandler Boolean status
105. evelopment field is still in growing process and not really have games that satisfy the market Consequently we ve decided to develop a game for people s relaxing in their free time on iOS and Android There are some other products providing gameplay and graphic but all are not good enough The purpose of this project is to create a product that overcomes all current products 3 Project overview 3 The current system After researched from existing games almost from Play store we found out that have many games those similar to our game style Racing car motorbike running 3 2 The Proposed System From all the limitation of existing applications we are going to produce an application that could be run in two popular platforms iOS amp android Basic Functions Racing control the car by sensor multi touch Let users get power up items coins special abilities Share achievement by game center Multiplayer connect two players via internet connection In app purchase to buy Items Friendly graphic S6 Team 3 3 Boundaries of the System The Software under development of this Capstone project will include the complete of iOS and Android mobile game with all functions defined in the requirements 3 4 Development Environment 3 4 1 Hardware environment Personal computers for developing with the minimum configuration 2 GB of RAM 50 GB of hard disk Pentium dual core 2 0 GHz iPhone Android mobile 3 4
106. every part of any game scenario you can imagine In the following image you can see the most basic form of a Game Object as shown in the Inspector panel S6 Team O Inspector Q M GCamedbject Jstatic Tag Untagged Layer Default Y Transform Position X 0 Y Ko ZI0 Rotation xo JY o Z0 Scale xh wh hn J Figure 4 4 Transform Game Objects can also be nested in the Hierarchy in order to create the parent child relationships mentioned previously Next we go to game object s component 1 3 Component 3 Unity highWayGameplay unity Crazy racing Android a a 3 ssets GameObject C ne 31 Facebook Hard Surface Window Help Layers lt ravot J 3E Scene 3 Project N create TKYE3 gt FightArea roadBlock2 gt bluewhiteCar Greencar gt Carl SoundController gt camera bRedCar gt GameController 1 gt roadBlock There are all of components Favorites Ci AI Materials C All Models C All Prefabs GLAll Scripts ES Assets bb 0000 terrain snow gt iii Block Building Pack gt Classic Skybox bis Editor bb Facebook G GoogleMobileAds gt G Holid gi YES RACER gt Editor gt im FbxMesh aw font bi Hard Surface Free gs icon of object blueCar nignwWaySamepray gt 5 Scripts Sounds G Standard Assets gt stons fbx Inspector E
107. float turnSpeed float distanceLevelUp Integer limit float carBody Transform wheelObj Transform originalSpeed float bazookaMissle GameObject helicopterMissle GameObject hitCount Integer mainCamera Camera fightArea GameObject EndMagnetPower void EndGhostPower void EndDoubleCoin void SwitchMagnetPower void SwitchGhostPower void ShowNitroParticle HideNitroParticle void override OnEnable void override OnDisable void override Update void override Start void override FixedUpdate void override OnTriggerEnter void override OnColliderEnter void override OnTriggerEnter void a override Start void override OnColliderEnter void CoinController instance GamePlayController trafficCars GameObject roadBlocks GameObject powerUpItem GameObject sounds GameObject speedText TextMesh coinText TextMesh distanceText TextMesh helicopterTransform Transform playerCar GameObject coinsParent GameObject isGameEnd Boolean GenerateBazooKa void GenerateCoin void GenerateRoad void GenerateFightArea void GeneratePowerUp void GenerateTrafficCar void override OnEnable void override On
108. form In coming scene of this app 1024px x 1024px Creating textures of these sizes with content that matches at the edges will mean that they can be tiled successfully by Unity You may also use textures scaled to values that are not powers of two but mostly these are used for GUI elements So we will take a look to our project The CR project is a game as user view each device run this game as a client server to play with the others There are 2 main scenes in CR project main menu and game play Main menu 3 Unity MainMenu unity Crazy racing Android am W o x File Edit Assets GameObject Component prime 31 Facebook HardSurface Window Help LO KM S X Bj center 8 Loca amp Project Inspector re n Create amp amp eg O Loadingscreen OStatic v me Assets RACER 7 Tag Untagged Layer Defaut All Materi i Can Models Hluohtmaptar0 L Transform G4 C All Prefabs Quad Mesh Filter EN All Scripts gt M Mesh Renderer i L2 Vida Assets Loading i ga iS 0000 terrai Shader Sprites Default deed Sprite Texture ig Classic Sk mis ONE z ng a E aton o gt ii FT Magicf GR GoogleMob Tint gt Holiday Pixel snap Moderne Pi ParticlePro Add Component i Plugins HigH score AzZY N gt RACER J km Gi Rally 4 Ca Racing gt RallyCarP Store gt E Standard A 1 55 Water
109. gameObje ct transform p osition S6 Team Quaternion id Quaternion id entity entity Destroy game Destroy game Object Object 251 incTag Contains GameObject GameObject missile MissileDes MissileDes GameObject GameObject HET mussiee FindGameObj FindGameObj ectWithTag ectWithTag MissileDes MissileDes as as GameObject GameObject Destroy Missi Destroy Missi leDes leDes Instantiate ex Instantiate ex pos gameObje pos gameObje ct transform p ct transform p osition osition Quaternion id Quaternion id entity entity Destroy game Destroy game Object Object 251 incTag Contains GameObject GameObject missile MissileDes MissileDes GameObject GameObject incTag mmissl FindGameObj FindGameObj ectWithTag ectWithTag MissileDes as GameObject Destroy Missi leDes Instantiate ex pos gameObje ct transform p osition Quaternion id entity Destroy game MissileDes as GameObject Destroy Missi leDes Instantiate ex pos gameObje ct transform p osition Quaternion id entity Destroy game S6 Team Object Object 251 incTag Contains Nothing Nothing missile happen when happen when OnCollisionE OnCollisionE incTag miissle ter ater 251 incTag Contains Nothing Nothing missile happen w
110. gs void EndDoubleCoin void SwitchMagnetPower void SwitchGhostPower void ShowNitroParticle GenerateFightArea void HideNitroParticle void GeneratePowerUp void GenerateTrafficCar void override OnEnable void override OnDisable void override Start void override Update void OnGameEnd Object EventArgs void SoundController override OnEnable void override OnDisable void override Update void override Start void override FixedUpdate void override OnTriggerEnter void sliderSound AudioClip carCrashSound AudioClip clickSound AudioClip coinHitSound AudioClip magnetSound AudioClip doubleCoinSound AudioClip HelicopterMissle instance HelicopterController playCarControl PlayCarController 1 fightArea GameObject missleDestination Transform 4 override OnColliderEnter void ghostSound AudioClip E TORE instantNitroSound AudioClip override Awake 0 oid audioSource audioSource override Start void soundController SoundController override Update void 1 bgSound GameObject 5 1 d override OnTriggerEnter void override OnColliderEnter void CoinController HelicopterController SwitchAudioSource AudioClip
111. hLV 5 4 Credit menu 2 days Fri 4 3 15 Mon 4 6 15 69 Graphic design 0 5 days Fri 4 3 15 Fri 4 3 15 ManhDT Coding 0 5 days Fri 4 3 15 Fri 4 3 15 SonDN Test 2 days Sat 4 4 15 Mon 4 6 15 AnhLV s 4 Facebook share 1 day Mon 4 6 15 Mon4 6 15 72 Coding 1day Mon 4 6 15 Mon 4 6 15 DuyTQ prototype 5 1 day Mon 4 6 15 Mon 4 6 15 Figure 2 2 Microsoft Project Plan S6 Team IV Risk Management DNE DO Hanti ms t MN EE Team member is not Moderate Significant Daily report hard working do not Pair review follow deadline Project manager should follow plan to remind Team member are sick Low Significant Increase project team s they cannot complete working effort in peace task under deadline period Allow all team members clear about what others do so that they can cover the tasks when necessary Poor experience makes Moderate Not relevant List tasks and check plan late Study new continuously Evaluate technologies have quality and progress many difficult to apply wacky Send email to other VEDEN member to ask for help Bad communication Moderate Tolerable We need using words breakdown can make more clearly talk with changing time work each other more note and and delay plan send email to confirm information Tane 3 Conflictions between High Not relevant Setup an open talk team members environment in project team Do not criticize is set as a rule O
112. hen happen when OnCollisionE OnCollisionE incTag misssle ie iter 251 incTag Contains Nothing Nothing missile happen when happen when OnCollisionE OnCollisionE incTag misslle der nter 251 incTag Contains Nothing Nothing missile happen when happen when OnCollisionE OnCollisionE incTag missslle jiter ater RT 1 1 37 EO 6 Team 2 T 3 2
113. iew 1 Report Reports are satisfactory as High supervisor asked iOS Application User Interface UI in iOS application and High Android application looks like Design in psd file Features All features must work High well high performance 3 Test strategy The test strategy of this project is shown below 3 The kind of test The unit test for every program module mainly enforcement of CR1 The integration test between program modules mainly enforcement of CRI System test mainly enforcement of CR1 Validation as the whole system 3 2 Details of a test plan About each test will conduct after completing a feature The developer will build application to device and tester will test and log bug if have Each time detect bugs develop has to fix by requirement S6 Team The bug will be closed after considering by team and supervisor 3 3 Test environment 100 test on device GOS 7 amp Android 2 3 or higher S6 Team Chapter 3 Software Requirement Specification I User Requirement Specification 1 The purpose of systematization CRI provide a mobile game application for consumer with purpose user can play a game for relaxing and share glory moment with the other Furthermore CR1 is needed to provide the service is developed and maintained and then CRI can provide some new things update maps cars and update function in expand project if project succeeded 2 The mandatory
114. ignature void OnGUI Description Make the connection scene and connect to server Parameter s name Type Description N A Signature void OnConnectedToServer Description Create NetworkLevelLoader Parameter s name Type Description N A Signature void OnServerlnitialized Description Create scene game Parameter s name Type Description N A Signature OnFailedToConnect NetworkConnectionError error Description Create NetworkLevelLoader Parameter s name Type Description S6 Team error NetworkConnectionError Description of network error 2 1 2 NetworkLevelLoader Properties Name Type Visibility Description instance NetworkLevelLoader public Ip of server that make a host Operations Signature void LoadLevel String levelName int prefix Description Start coroutine Parameter s name Type Description levelName String Level s name int prefix Signature IEnumerator DoLoadLevel String levelName int prefix Description Setup network s properties to prepare connect Parameter s name Type Description levelName String Level s name int prefix 2 2 GamePlayScene S6 Team PlayCarController maxPercentSpeed float percentSpeed float carSpeed float turnSpeed float
115. ip carCrashSound AudioClip clickSound AudioClip coinHitSound AudioClip magnetSound AudioClip doubleCoinSound AudioClip ghostSound AudioClip instantNitroSound AudioClip audioSource audioSource soundController SoundController bgSound GameObject SwitchAudioSource AudioClip void PlayCoinHit void PlayMagnetHit void PlayNitroInstant void PlayDoubleCoinHit void PLayGhostHit void PlaySlider void Figure 4 20 Menuscreen 1 1 BuyPopUP S6 Team Properties Name Type Visibility Description costText TextMesh public Display Car s Cost carSelectionMenu GameObject public Car selection menu uiCamera Camera public User interface camera carCost int public Cost of car static Operations Signature void OnEnable Description Register event Parameter s name Type Description N A Signature void Start Description Parameter s name Type Description N A Signature void SetInt Description Sets the value of the preference identified by key Parameter s name Type Description carIndex Signature void Update S6 Team Description Update mouse position Parameter s name Type Description N A Signature void M
116. iption N A Signature void GenerateFighArea Description Create area where the helicopter enemy attack Parameter s name Type Description N A Signature void OnConnectedPlayer NetworkPlayer player Description Call function to connected player by RPC Parameter s name Type Description player NetworkPlayer S6 Team Signature void OnDisconnectedPlayer NetworkPlayer player Description Destroy connected player object Parameter s name Type Description player NetworkPlayer Signature void OnDisconnectedFromServer Description Return to main menu Parameter s name Type Description N A 2 2 2 PlayerCarControllerMultiplayer Properties Name Type Visibility Description Instance PlayerCarControl public Instance of static PlayerCarControl class turnSpeed float public Speed of car that follow Y axis carSpeed float public Car s speed maxPercentSpeed float public Max car s speed distanceLevelUp int public Distance that car is running tilt float public Car s tilt limits float public Car s limits gameEnded EventHandler public Game end event handler S6 Team switchOnMagnetPower EventHandler public Active magnet effect event handler swtichOffMagnetPower EventHandle
117. ject c collider name foreach Mater foreach Mater GGhost ial ial carMaterial in carMaterial in carMaterials carMaterials carMaterial sh carMaterial sh ader ader Shader Find Shader Find Particles Addi Particles Addi tive tive transform coll transform coll iderisTrigger ider isTrigger true true Invoke chan Invoke chan geShaderl g geShaderl g hostPowerTi hostPowerTi me me 139 c collider name Con Nothing Nothing tains Ghost happens happens c collider name Ghhost 139 c collider name Con Nothing Nothing tains Ghost happens happens c collider name S6 Team Ghoost 139 c collider name Con Nothing Nothing tains Ghost happens happens c collider name Ghosst 139 c collider name Con Nothing Nothing tains Ghost happens happens c collider name GGhhost 151 c collider name Con SoundControl SoundControl tains DoubleCoins ler Static play ler Static play doubleHit doubleHit Destroy c ga Destroy c ga Coa meObject meObject PSE onis gameObject tr gameObject tr ansform Find ansform Find particleDoub particleDoub le gameObje le gameObje ct SetActive t ct SetActive t rue rue flag_doubleC flag_doubleC oins true oins true Invoke End Invoke End DoublePower DoublePower doublePow
118. k power up items Goal Pick items up and get effect Triggers Running screen Preconditions After choose options and go to game play screen in running Post Conditions On success Get effect On failure N A Main Success Scenario Step User Action System Response 1 Player skew the screen to pick up items 2 Car will have the effect corresponding to item that picked up Alternative Scenario N A Exceptions N A Relationships N A Business Rules N A 3 2 12 Share Achievements S6 Team Facebook Sharing Player FACEBOOK SHARING SPECIFICATION Use case No UC012 Use case Version 0 1 Use case Name Facebook sharing Author Nguy n Cao Cuong Date 29 01 2015 Priority Normal Actor Player Summary This function allow player to share achievement Goal Share high achievement on Facebook Triggers Score Board after game over Preconditions Play game running until game over Post Conditions On success Share achievement on Facebook On failure Do nothing show message See in Exception Main Success Scenario Step User Action System Response 1 Player tap on Facebook Share button on Scored Board screen 2 Call API of Facebook post achievement on the FB wall if player logged in Alternative Scenario N A Exceptions Step User Action System Response S6 Team
119. lect the wanted car image Preconditions All cars display correctly Post Conditions On success Navigate user to choose music screen On failure N A Main Success Scenario Step User Action System Response 1 Touch the car image Navigate user to choose music screen Alternative Scenario N A Exceptions N A Relationships View Cars use case Business Rules S6 Team User can only select available car 3 2 6 Unlock Car _ extend Player UNLOCK CAR SPECIFICATION Use case No UC006 Use case Version 0 1 Use case Name Unlock Car Author Tr n Ou c Duy Date 30 01 2015 Priority Low Actor Player Summary This use case allows user to unlock a car by coins make a car available to select to play in the race Goal The unlocked car become available car Triggers User select the unlock icon of locked car to unlock it Preconditions All cars display correctly Post Conditions On success The unlocked car become available car with bold color On failure N A Main Success Scenario Step User Action System Response 1 Touch the unlock icon of unavailable car image Display message that ask user pay corresponding coin for unlocking this car S6 Team 3 User select OK 4 The car is unlocked Alternative Scenario Step User Action System Respons
120. lic Play when the car turns clickSound AudioClip public Play when user touch or click carCrashSound AudioClip public Play when the car crash countHitSound AudioClip public Play when the car hit coin magnetHitSound AudioClip public Play when the car hit the magnet item doubleCoinHitSound AudioClip public Play when the car hit S6 Team the double coin item instantNitrousHitSound AudioClip public Play when the car hit the nitrous item Static SoundController public Control the sound of static game instance of this class audioSource AudioSource public Sound source bgSound GameObject public Run while user playing game Signature void Start Description Check level to decide background music will be activated or not Parameter s name Type Description N A Signature void SwitchAudioSource Description Switchs audio Parameter s name Type Description audio AudioClip Sound file Signature void PlayCrashSound Description Play when the car crash Parameter s name Type Description N A Signature void PlayMagnetHit S6 Team Description Play when the car crash Parameter s name Type Description N A Signature void PlayCoinHit Description Play when the car hit the coin item Parameter s name Type Description N A
121. ments relating to Design system may do and how this could be supported The design must take this requirement into consideration for everything that the S6 Team 4 Game Description 4 1 Game objects 4 1 1 Cars Player s car Default Figure 3 7 Default car Blue car Figure 3 8 Blue car Green car S6 Team Figure 3 9 Green car Red car Figure 3 10 Red car S6 Team 800 800 800 7 7 8 7 7 8 7 7 8 Traffic cars Ambulance Figure 3 11 Ambulance Bus Figure 3 12 Bus Empty truck S6 Team Figure 3 13 Empty truck Jeep Figure 3 14 Jeep Mini truck Figure 3 15 Mini truck Oil tanker S6 Team Figure 3 16 Oil tanker Small truck Figure 3 17 Small truck Xmas car Figure 3 18 Xmas car S6 Team 4 1 2 Items Coin player can get coins on street which are used to boosting car s speed up Figure 3 19 Coins Bazooka pick it on street and missile will hit helicopter automatically Figure 3 20 Bazooka S6 Team Ghost if player pick it on street player s car can go through traffic cars in a moment Figure 3 21 Ghost Magnet player s car can automatic pick coin on street without approaching coins Figure 3 22 Magnet S6 Team Double coin double the number of picked up coins Figure 3 23 Double
122. n void MouseUp void OnGUI void Initialize void OnPlayerConnected NetworkPlayer void OnDisconnectedPlayer NetworkPlayer void OnServerDiscontected void A GamePlayController instance GamePlayController trafficCars GameObject roadBlocks GameObject powerUpItem GameObject sounds GameObject speedText TextMesh coinText TextMesh distanceText TextMesh helicopterTransform Transform playerCar GameObject coinsParent GameObject mainCamera Camera isGameOn Boolean playeri GameObject player2 GameObject spwani Transform spawn2 Transform GenerateBazooKa void GenerateCoin void GenerateRoad void GenerateFightArea void GeneratePowerUp void GenerateTrafficCar void override OnEnable void override OnDisable void override Start void override Update void OnGameEnd Object EventArgs void OnConnectedPlayer NetworkPlayer void OnDisconnectedPlayer NetowokPlayer void RoundController roadBlockCount Integer otherRoadBlock GameObject SwitchRoadBock void override OnEnable void override OnDisable void override Start void override OnTriggerEnter void OnGameEnd Object EventArgs void GamelnformationController pauseMenu GameObjec
123. n Show previous soundtrack Parameter s name Type Description N A Signature void OnEnable Description Parameter s name Type Description N A Signature void ShowSoundTrackINFO Description Show soundtrack information Parameter s name Type Description N A 1 12 TotalCoins Properties Name Type Visibility Description totalCoins int public Count total coins variable coinsTxt TextMesh public Display number of coins staticInstance TotalCoins public static Operations S6 Team Signature void Start Description Parameter s name Type Description N A Signature void UpdateCoins Description Update and display total coins Parameter s name Type Description N A Signature void AddCoins int coins Description Add and update coins Parameter s name Type Description coins int Signature void DeductCoins int coins Description Deduct and update coins Parameter s name Type Description coins int Signature void ClearCoins Description Clear and update number of coins Parameter s name Type Description N A Signature void ClearAll Description Clear all and update number of highest coins Parameter s name Type Description N A 1 13 TotalCoinsHighScore
124. ndicat NitrousIndicat or NitrousCou or NitrousCou nt 100 nt 100 NitrousIndicat NitrousIndicat or Static Upda or Static Upda teNitrousDisp teNitrousDisp layO layO 160 c collider name Con Nothing Nothing tains InstantNitrous happens happens c collider name InstantNNitrous 160 c collider name Con Nothing Nothing tains InstantNitrous happens happens c collider name IInstantNitrous 160 c collider name Con Nothing Nothing tains InstantNitrous happens happens c collider name InstanttNitrous 160 c collider name Con Nothing Nothing tains InstantNitrous happens happens c collider name InstanntNitrous 174 c collider name Cont Instantiate mi Instantiate mi ains bazoka ssileFighBack ssileFighBack gameObject t gameObject t c collider name bazoka ransform posit ion Quaternion id entity ransform posit ion Quaternion id entity S6 Team Destroy Destroy c gameObjec c gameObjec t t hitcount 1 hitcount 1 174 c collider name Cont Instantiate mi Instantiate mi ains bazoka ssileFighBack ssileFighBack gameObject t gameObject t 0100005 ransform posit ransform posit bbazoka ion ion Quaternion id Quaternion id entity entity Destroy Destroy c gameObjec c gameObjec t t hitcount 1 hitcount 1 174 c
125. nstraints SRS document and supervisor Risk Weak software structure hard to predict problem of requirement 2 3 Graphic Design Description Create graphics of game S6 Team Output all image that used in game 3d extension file Deliverables April 10 2015 Resources needed 2 people for 2 months Dependencies and Constraints Other game graphics SRS SDD Risk Image is not good as expected 2 4 Coding Description Create code that make game play Output Source code Deliverables April 15 2015 Resources needed 2 people for 2 months Dependencies and Constraints SDD Risk Lack of game coding skill lack experience with Unity 2 5 Create Test Plan Description Schedule of testing Output Test plan document Deliverables February 15 2015 Resources needed 1 people for 3 days Dependencies and Constraints SDD Risk Under or overestimate works 2 6 Testing Description Test game Output Testing report Deliverables 20 April 2015 Resources needed 2 people for 2 months Dependencies and Constraints Source code SDD Risk Lack of experience Japanese 2 7 Create User Manual Description Create user manual Output User guide Deliverables 20 April 2015 Resources needed 1 person for 3 days Dependencies and Constraints SDD and release product Risk Japanese S6 Team 3 Assignment and Timetable Task Mode v Task Name Duration w Start w Finish w Predecesso
126. null Post value variable hitCount 1 0 c gameObject null null Passed Failed Passed Passed 2 PlayCarController OnCollisionEnter Collision incomingCollision Source Code void OnCollisionEnter Collision incomingCollision string incTag incomingCollision collider tag if incTag Contains TrafficCar carSpeed 0 wheelSpeed 0 turnSpeed 0 rigidbody velocity Vector3 zero GamePlayController isGameEnded true if gameEnded null gameEnded null null iTween ShakePosition Camera main gameObject new Vector3 1 1 1 0 6f S6 Team rigidbody constraints RigidbodyConstraints FreezeAll GameObject trafficCar incomingCollision collider gameObject iTween RotateTo trafficCar new Vector3 0 UnityEngine Random Range 1 2 25 0 1 0f Pre value variable Case 1 Case 2 Case 3 Case 4 incTag Contains Tr true true false false afficCar carSpeed 20 20 20 20 wheelSpeed 20 20 20 20 rigidbody velocity Vector3 z Vector3 zero Vector3 zero Vector3 zero ero isGameEnded false false false false gameEnded null null null null Post value variable carSpeed 0 0 gt 0 gt 0 wheelSpeed 0 0 gt 0 gt 0 rigidbody velocity Vector3 zer Vector3 Zero Iz Vector3 zero o Vector3 zero isGameEnded true true false false gameEnded null null null null Passed Failed Passed Passed Passed Passed Source Code
127. on Handler when the car hit some object that have collider such as traffic ar Parameter s name Type Description S6 Team incomingCollision Collision That happen when two collider impact each other Signature void ChangeShader1 Collision incomingCollision Description Create new effect for car Parameter s name Type Description N A Signature void ChangeShader2 Collision incomingCollision Description Create new effect for car Parameter s name Type Description N A 1 18 RoadController Properties Name Type Visibility Description justOnce bool public A flag to check whether intance is generated or not RoadBlockCount int public To make next road static block otherRoadBlock GameObject public Other road block Operations Signature void OnEnable Description RegisterEvent for instance RoadGenarator Parameter s name Type Description S6 Team N A Signature void Start Description Parameter s name Type Description N A Signature void OnTriggerEvent Collider Collider Description Detech car object in road and generate new road block Parameter s name Type Description N A 1 19 SoundController Properties Name Type Visibility Description slider AudioClip pub
128. ouseUp Description Car selection and purchase Parameter s name Type Description a Vector3 1 2 BuyPopUPSound Properties Name Type Visibility Description costText TextMesh public Display Car s Cost soundTrackMenu GameObject public Sound uiCamera Camera public User interface camera soundTrackCost int public Cost of sound track static Operations Signature void OnEnable Description Register event Parameter s name Type Description N A Signature void Start Description S6 Team Parameter s name Type Description N A Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void MouseUp Vector3 position Description Soundtrack selection and purchase Parameter s name Type Description position Vector3 User s touch position 1 3 CarSelection Properties Name Type Visibility Description uiCamera Camera public User interface camera buttonRenders Renderer public Collection of button renderer buttonTexture Texture public Texture button hit RaycastHit public Raycast hit buyButton GameObject public Buy button playButton GameObject public Play button buyPopUp GameObject public Buy popup InAPPMenu GameObject public In app purchase menu InAPPMenuAndroid GameObject public Android in app purchase menu S6 Team
129. particular objects to detect changes These changes There are the main component involved in sharing data across the network They allow two kinds of network communication State Synchronization and Remote Procedure Calls Remote Procedure Calls RPC Remote Procedure Calls RPCs let you call functions on a remote machine Invoking an RPC is similar to calling a normal S6 Team function and almost as easy but there are some important differences to understand State Synchronization It s reponsibility is synchronize Transform Animation Rigidbody and MonoBehaviour components NetworkView NetworkView State Synchonozation Figure 4 9 Overall multiplayer S6 Team 2 Crazy Racing s structure CrazyRacing Game MultiPlayer SinglePlayer lt lt uses gt gt lt lt uses gt gt sre lt lt uses gt gt LI LI LI Figure 4 10 Crazy Racing s structure Crazy Racing game provides two mode Single Player and Multiplayer Each mode have two scene as you can see in diagram above Beside utilities package is used to help some common game s function 2 1 SinglePlayer 2 1 1 MenuScene The reposibility of this scene is Displays four main options when game start Play MultiPlayer HighScore Quit Allows user choice Map car sound Allows user unlock and buy item such as Map Car Sound S6 Team K 4 EC 2 EINCERPLAY N lt e p MULTIPLAY TEN HIGH SCORE 7
130. pens C is E not destroyed not destroyed c tag ccoolinn 124 flag_doubleCoins GamePlayCon GamePlayCon GamePlayCon GamePlayCon troller collecte troller collecte troller collecte troller collecte dCoinsCounts dCoinsCounts dCoinsCounts dCoinsCounts GamePlayCon GamePlayCon troller collecte troller collecte dCoinsCounts dCoinsCounts 129 c collider name Con SoundControl SoundControl Nothing Nothing S6 Team tains Magnet c collider name Magnet ler Static play magnetHit Destroy c ga meObject gameObject tr ansform Find particleMagn et gameObje ct SetActive t ler Static play magnetHit Destroy c ga meObject gameObject tr ansform Find particleMagn et gameObje ct SetActive t happens happens rue rue coinControl is coinControl is ONMagetPow ONMagetPow er true er true if switchOnM if switchOnM agnetPower agnetPower null null switchOnMag switchOnMag netPower null netPower null null null Invoke End Invoke End MagnetPower MagnetPower magnetPowe magnetPowe rTime rTime 129 c collider name Con SoundControl SoundControl tains Magnet ler Static play ler Static play magnetHit magnetHit came Destroy c ga Destroy c ga Maney meObject meObject gameObject tr gameObject tr ansform Find ansform
131. r magnetPowerTime S6 Team Pre value variable Case 1 Case 2 c tag Contains Magnet true false isONMagnetPower false false c gameObject null null Post value variable isONMagnetPower true false c gameObject null null Passed Failed Passed Passed Source Code void OnTriggerEnter Collider c else if c collider name Contains Ghost Destroy c gameObject foreach Material carMaterial in carMaterials carMaterial shader Shader Find Particles Additive transform collider is Trigger true Invoke changeShaderl ghostPowerTime Pre value variable Case 1 Case 2 c tag Contains Ghost true false carMaterial shader l Particles A dditive l Particles Additive transform collider isTrigger false false c gameObject Iznull null S6 Team Post value variable carMaterial shader Particles Additive Particles Additive transform collider isTrigger true false c gameObject null null Passed Failed Passed Passed Source Code void OnTriggerEnter Collider c else if c collider name Contains DoubleCoins SoundController Static playdoubleHit Destroy c gameObject gameObject transform Find particleDouble gameObject SetActive true flag doubleCoins true Invoke EndDoublePower doublePowerTime
132. r interface camera coinsText TextMesh public Displays coins that player gain distancetext TextMesh public Display player s distance maxCoinsText TextMesh public Display record of coins maxDistanceText TextMesh public Display record of distance coins float private Count coins variable distance float private Count distance variable maxCoins float private Max coins variable maxDistance float private Max distance variable mainMenuButton GameObject public Back to main menu button S6 Team menuButtonRenders Renderer public Collection of menu button renderer buttonTexture Texture public buttonTexture hit RaycastHit public Raycast hit isDrag bool Operations Signature void Update Description Update mouse position Parameter s name Type Description N A Signature void OnGUI Description Parameter s name Type Description N A Signature void MouseUp Description Mouse position control Parameter s name Type Description position Vector3 User s touch position Signature void ScreenPointToRay Vector3 position Description Returns a ray going from camera through a screen point Parameter s name Type Description S6 Team position Vector3 User s touch position Signature void MouseDown Description Mouse position control Parameter s name Type Description
133. r public Stoop magnet effect event handler magnetPowerTime float public Magnet s effect time doublePowerTime float public Double Coin effect time ghostPowerTime float public Ghost efffect time isDoubleCoin bool public Flag nextFire bool public Flag isDoubleSpeed bool public Flag thisTrans Transform public Car s transform particleParent GameObject Particle items that have child thisPosition Vector3 public Car s position carMaterial GameObject public To build car originalCarSpeed int public Default car speed missleFighBack HelicopterController public Helicopter s missle droneFight HelicopterController public Drone enemy hitCount HelicopterController public The number of helicopter hitted mainCamera Camera pubic Third s party and normal camera Operations Signature void OnEnable Description Initilize audio item effect car Parameter s name Type Description S6 Team N A Signature void Start Description Generate enemy such as traffic cars helicopter and create road power items Parameter s name Type Description N A Signature void Update Description Update class s properties after each frame Parameter s name Type Description N A Signature void OnGameEnd Description Unregister event set level car to database Parameter s name Type Description N A Signature void FixedUpd
134. r user feedback is available to better solutions leading Developers may try to reuse the existing prototypes to build the actual system even when its not technically feasible Missing functionality can be identified easily The effort invested in building prototypes may be too much if not monitored properly Confusing or difficult functions can be identified Risk of insufficient requirement analysis owing to too much dependency on prototype S6 Team 2 Roles and Responsibilities Figure 2 1 Roles amp responsibility Dinh Ngoc Son Managing process Clarifying requirements Training Coding Dinh Tu n Manh Developer GUI design Designer Coding Managing configuration S6 Team a m L Viet Anh Developer Coding OA Testing Ouality control GUI design Nguyen Cao Cudng Developer Testing Tester Coding Verifying reguirement Creating system test case Tr n Qu c Duy Test Leader Creating test case Tester Creating test plan Clarifying requirements Coding T n Th t Ho ng Tri u Developer Quality control QA Coding Testing Managing document 3 Tools and techniques Microsoft excel 2013 5 7 Unity3D IDE for coding Visual Studio IDE for C Net coding xCode IDE for build iOS 10 Blender 3D Max PS IDE for design graphic e Software moduler For creating UML items S6 Team III Project Management Plan 1 Project Miles
135. rameter s name Type Description N A Signature void Update Description updade value of class s properties after each frame Parameter s name Type Description N A S6 Team Signature void OnEnable Description Set value of class s properties Parameter s name Type Description N A Signature void OnDisable Description Repaint Parameter s name Type Description N A Signature void GeneratePowerUpltem Description Create power up item in game Parameter s name Type Description N A Signature void GenerateTrees Description Create trees in street of game Parameter s name Type Description N A Signature void GenerateRoad Description Create road of game Parameter s name Type Description N A Signature void GenerateTrafficCar Description Create traffic car of game Parameter s name Type Description N A Signature void GenerateBazooka Description Create bazooka weapon of game Parameter s name Type Description N A Signature void GenerateBazooka Description Create bazooka weapon of game Parameter s name Type Description N A Signature void GenerateFighArea Description Create area where the helicopter enemy attack Parameter s name Type Description
136. rganize teambuilding more often In some cases manager must use his power to make decisions S6 Team We have not much Very high Occurred Divided into technology knowledge in the research groups framework and Exchange information s Theref and problem PR A ERE Send technical issues to we have to study all of i supervisor who has these things from the E 2 experience to get support beginning This work may take a lot of times or team may not resolve some technical problems Structure Process Risk Underestimate project Serious Estimate project scope scope tasks difficulty with supervisor and level and risks experience persons effectiveness Assign task weight value to make task evaluation easier Discuss in group about tasks difficulty level Involve all team members in risk management process and reference to instructor s opinions W Requirement Rk 0 Not understanding the Low Potential Receive advice from system s process so we experts can make mistakes in Develop prototypes and describing the essential aH review prototypes with functions experts and supervisor S6 Team Poor experience of Serious Team leader will tightly co operate with team members when planning Project team gets advice from supervisor about the management so that team makes plan unrealistically planning and the plan need to be reviewed by supervisor V Coding convention
137. rs w Resource Names ad 4 Ingame 38 days Mon 1 26 15 Wed 3 18 15 5 4 Create way for car run on 6 days Mon 1 26 15 Mon 2 2 15 Graphic design 5 days Mon 1 26 15 Fri 1 30 15 ManhDT Coding 2 days Sat1 31 15 Mon 2 2 15 SonDN 5 4 Create car rule of control car 2 days Tue 2 3 15 Wed 2 4 15 2 Graphic design 2 days Tue 2 3 15 Wed 2 4 15 AnhLV Coding 1 day Tue 2 3 15 Tue 2 3 15 SonDN prototype 1 1 day Thu 2 5 15 Thu2 5 15 5 4 Create Power Up 7 days Wed 2 4 15 Thu 2 12 15 5 4 Power Up Coin Magnet 2 days Wed 2 4 15 Thu2 5 15 Graphic design 0 5 days Wed 2 4 15 Wed 2 4 15 ManhDT Coding 2 days Wed 2 4 15 Thu 2 5 15 DuyTQ 5 4 Power Up Shield 1day Fri 2 6 15 Sat 2 7 15 10 Graphic design 0 5 days Fri 2 6 15 Fri 2 6 15 AnhLV Coding 2 days Fri 2 6 15 Sat 2 7 15 TrieuTTH 5 4 Power Up Invi 2 days Mon 2 9 15 Tue 2 10 15 13 Graphic design 0 5 days Mon 2 9 15 Mon 2 9 15 ManhDT Coding 2 days Mon 2 9 15 Tue 2 10 15 CuongNC 5 4 Power Up X2 Coin 2 days Wed2 11 15 Thu2 12 15 16 Graphic design 0 5 days Wed 2 11 15 Wed 2 11 15 AnhLV Coding 2 days Wed 2 11 15 Thu 2 12 15 SonDN 5 4 Create Title menu 1day Fri 2 13 15 Sat 2 14 15 19 Graphic design 0 5 days Fri 2 13 15 Fri 2 13 15 ManhDT Task Mode v Task Name w Duration w Start w Finish Predecessors Resource Names 4 Create Title menu 1 day Fri 2 13 15 Sat2 14 15 19 Graphic design 0 5 days Fri 2 13 15 Fri 2 13 15 ManhDT Coding 0 5 days Fri 2 1
138. t gameOverMenu GameObject nitroButton GameObject renderer Renderer UpState DownState override OnEnable void override OnDisable void override Start void override Update void SoundController sliderSound AudioClip carCrashSound AudioClip clickSound AudioClip coinHitSound AudioClip magnetSound AudioClip doubleCoinSound AudioClip ghostSound AudioClip instantNitroSound AudioClip audioSource audioSource soundController SoundController bgSound GameObject SwitchAudioSource AudioClip void PlayCoinHit void PlayMagnetHit void PlayNitroInstant void PlayDoubleCoinHit void PLayGhostHit void PlaySlider void PlayClick void We reuse three class CoinController RoadController SoundController III Detail Description of Compomnent SinglePlayer GamePlayScene 2 2 GamePlayControllerMultiplayer Properties Name Type Visibility Description Instance GamePlayController public Instance of static GamePlayControllerClass CollectionsCoin int public Coin s collection Count static DistanceTravelled int public Distance that user have S6 Team static been geeting trafficCars GameObject public Enemy cars in street roadBlock GameObject public To build road
139. t static DistanceTravelled int public Distance that user have static been geeting trafficCars GameObject public Enemy cars in street roadBlock GameObject public To build road vlcCan GameObject public To build rocks sideTree GameObject public Current coin s transform coinParent GameObject public Previous appearing coin on street powerPickUps GameObject public PickUp Items playerCars GameObject public Player s cars playerSoundTrack GameObject public Sound is playing while game on missleArea GameObject public Missle Area playerObj GameObject public Player s object soundTrackObject GameObject public Sound gameEndMenu GameObject public The menu that display when user want to stop playing game or lose game S6 Team bazooka GameObject public Special s item of car coinsText TextMesh public Displays coins that player gain distanceText TextMesh public Displays distance that player run gameOverText TextMesh public Gameover message mainCamera Camera public Move to car carmera droneChase GameObject public Enemy drone distanceDrone int private Distance between Drone and player distanceMissle int private Distance between Missle and Drone helicopterController HelicopterController public Helicopter s Transform isGameEnd boolean public flag to detech game end Operation Signature void Start Description Set speed for car Pa
140. tones and Deliverable No Date Milestone name Comment 1 Febuary 5 Prototype 1 0 1 This prototype prodives basic control car funtions 2015 such as turn left and right and camera movement Images is simple they are just cubic or sphere 2 Febuary 14 Prototype 2 0 2 In this prototype the car can hit the power up item 2015 and traffic car 3 March5 Prototype 3 0 3 In this prototype the game have new design and 2 2015 new functions highscore share achivement 4 March 20 Prototype 4 0 4 IIn this prototype the game show first look about 2015 multiplayer How to to client connect to gether how to sovle synchronous problem 5 IApril 1 Prototype 5 0 5 n this protype fix some bugs and view that is 2015 collected by testing process 6 April 10 Beta 1 0 6 Full functions with final design 2015 7 April 20 Release 1 0 7 This version is on market 2015 2 Tasks 2 Create Software Requirement Specification Description Create software requirement specification Output SRS document Deliverables January 14 2015 Resources needed 6 people for 2 weeks Dependencies and Constraints None Risk lack of game analysis skill requirements may not clear 2 2 Create Software Design Description Description Create software design description Output SDD document Deliverables January 25 2015 Resources needed 6 people for 10 days Dependencies and Co
141. turns a ray going from camera through a screen point Parameter s name Type Description position Vector3 User s touch event Signature void MouseUp Vector position Description mouse position control Parameter s name Type Description S6 Team position Vector3 User s touch event 1 11 SoundTrackSelection Properties Name Type Visibility Description uiCamera Camera public User interface camera buttonRenders Renderer public Collection of button renders buttonTexture Texture public Collection of button Texture hit RaycastHit public Raycast hit buyButton GameObject public Buy button object playButton GameObject public Play button object buyPopUpST GameObject public InAPPMenu GameObject public In app menu 1OS InAPPMenuAndroid GameObject public In app menu android backButton GameObject public Back button object loadingLevelObj GameObject public Loading level Object menuObj GameObject public Menu object IAP GameObject public loadingscenes GameObject public Loading scenes object soundTrackIndex int public Soundtrack index static soundTracksObjs GameObject public Soundtracks Object soundTrackDisplayText TextMesh public Display soundtrack text soundTrackPriceDisplayText TextMesh public Display soundtrack S6 Team price text
142. user s coins must be equal or higher than necessary coins S6 Team 3 2 4 View Cars Player VIEW CARS SPECIFICATION Use case No UCO04 Use case Version 0 1 Use case Name View Cars Author Tr n Qu c Duy Date 30 01 2015 Priority Normal Actor Player Summary This use case allows user to see all cars that include available cars and unlock cars Goal Display all cars correctly Triggers After user choose Start button the View Car Screen displays Preconditions User opened application successfully Post Conditions On success Display all cars that include available cars and unlock cars On failure N A Main Success Scenario Step User Action System Response 1 Press Start button 2 Display all cars Alternative Scenario N A Exceptions N A Relationships N A Business Rules Available cars have the bold color opposite the unlock car have light color with the lock S6 Team icon on the top 3 2 5 Choose Car p 6 Choose Car Player CHOOSE CAR SPECIFICATION Use case No UCO005 Use case Version 0 1 Use case Name Choose Car Author Tr n Ou c Duy Date 30 01 2015 Priority Normal Actor Player Summary This use case allows user to select a car only available car to play in the race Goal The chosen car must be display correctly in the race Triggers User se
143. usiness Rules N A 3 2 10 Use Boost Energy extend extend Player Use Boost Energy USE BOOST ENERGY SPECIFICATION Use case No UCO010 Use case Version 0 1 S6 Team Use case Name Use Boost Energy Author Nguy n Cao Cudng Date 29 01 2015 Priority Normal Actor Player Summary This function allow player to accelerate by using boost energy There s nitrogen pool on the screen player will fill up this pool by earning coin on the street When player use boost energy nitrogen gradually reduced over time using Goal Accelerate to get high speed Triggers Running screen Preconditions After choose options and go to game play screen in running Post Conditions On success Accelerate On failure Do nothing See in Exception Main Success Scenario Step User Action System Response 1 Player tap on Boost Energy button 2 Car get high speed Alternative Scenario N A Exceptions Step User Action System Response 1 No nitrogen in pool No accelerate Relationships N A Business Rules N A 3 2 11 Pickup Items S6 Team Player PICK UP ITEMS SPECIFICATION Use case No UCOI1 Use case Version 0 1 Use case Name Pick up Items Author Nguy n Cao Cudng Date 29 01 2015 Priority Normal Actor Player Summary This function allow player to pic
144. vlcCan GameObject public To build rocks sideTree GameObject public Current coin s transform coinParent GameObject public Previous appearing coin on street powerPickUps GameObject public PickUp Items playerCars GameObject public Player s cars playerSoundTrack GameObject public Sound is playing while game on missleArea GameObject public Missle Area playerObj GameObject public Player s object soundTrackObject GameObject public Sound gameEndMenu GameObject public The menu that display when user want to stop playing game or lose game bazooka GameObject public Special s item of car coinsText TextMesh public Displays coins that player gain distanceText TextMesh public Displays distance that player run gameOverText TextMesh public Gameover message mainCamera Camera public Move to car carmera droneChase GameObject public Enemy drone distanceDrone int private Distance between Drone and player distanceMissle int private Distance between Missle S6 Team and Drone helicopterController HelicopterController public Helicopter s Transform playerl GameObject public Instance of playerl game object player2 GameObject public Instance of player2 game object spawnl Transform public Spwan position spawn2 Transform public Spwan position Operation Signature void Start Description Set speed for car Parameter s name Type Description
145. ystem Response 1 Choose one package of coins Transfer user to apple google store page via browser 2 Confirm a changing of money to coins with apple google store S6 Team Receive response from store give user coins base on her his chosen package of coins Alternative Scenario N A Step User Action System Response 1 Choose one package of coins Transfer user to apple google store page via browser 2 Does not confirm a changing of money to coins with apple google store Receive response from store give user nothing Exceptions N A Relationships N A Business Rules N A 3 2 16 Multiplayer Multiplayer Player MULTIPLAYER SPECIFICATION Use case No UCO16 Use case Version 0 1 Use case Name Multiplayer Author T n Th t Ho ng Tri u Date 29 01 2015 Priority Normal S6 Team Actor Player Summary This use case allows user to connect to another player via wifi Then they will play in multiplayer mode Triggers Choose multiplayer mode option in main menu Preconditions User opened app went to main menu Post Conditions On success User connects successfully with the other On failure N A Main Success Scenario Step User Action System Response l Choose multiplayer mode in main menu Generate a code to send to another player
146. yy IM buecar OStatic Tag Player Layer Default bi FT_MagicEffects_volume02 l Assets RACER Scene Wl LightmapFar 0 Figure 4 5 Components of a object Scale YA Rigidbody Mass Drag Angular Drag Use Gravity Is Kinematic Interpolate Collision Detection gt Constraints gt ty M Box Collider _ M Mesh Renderer 6 MPlayer Car Control Script ij Add Component Asset Labels Components come in various forms They can be for creating behavior defining appearance and influencing other aspects of an object s function in the game By attaching components to an object you can immediately apply new parts of the game engine to your object Common components of game production come built in with Unity such as the Rigidbody component mentioned earlier down to simpler elements such as lights cameras particle emitters and more To build further interactive elements of the game you ll write scripts which are also treated as components in S6 Team NN Unity Try to think of a script as something that extends or modifies the existing functionality available in Unity or creates behavior with the Unity scripting classes provided Pi lt ameobject Jot Component Kasari qe Variable N ra A N o 4 N 1 s i i I Vr I 1 1 1 1 1 1 11 I 1 1 1 11 1 H L Intensit 1 11 1 1 ntensi i 1 1 1 y 1 i

Download Pdf Manuals

image

Related Search

Related Contents

Diclofenaco Gel Tópico Diclofenaco sódico Gel 1% Lea  USER`S MANUAL - Veterinary Technics  Manual de usuario  A - Relazione Tecnica - Provincia dell`Ogliastra  Conocer su tablet  K 熱電対センサー採用により、 幅広い温度測定が可能なデータ ロガー  取扱説明書 BCQ-SERIES BC  CASTEL Coralie - Journal de bord - Japon - Le pèlerinage –  Amada - scies à ruban manuelle et automatique    

Copyright © All rights reserved.
Failed to retrieve file