Game Development With Unity - Sanneblad

2y ago
17 Views
3 Downloads
7.41 MB
88 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Mara Blakely
Transcription

Game Developmentwith Unityfor iOS and Android devicesJohan Sanneblad, HiQ

This presentation can be found online, athttp://www.sanneblad.com/

Johan Sanneblad, Ph.DBusiness DeveloperHiQ Göteborg

2001 - 2005 : GapiDrawGame development tool, created by me forPalm, N-Gage, Symbian, Windows MobileSome of the 200 games developed with GapiDraw

2008: AirFight for iOSMultiplayer dogfight simulator for iOSProject Leader & Lead Developer

Most recent project:Project Leader for a large-scalegame production for Android & iOSLaunch date: 2012

Agenda1. Our recent Unity game project2. Engine choice - cost and startup time3. Creating a game with Unity in 9 steps

The game project

3D gameLarge levels split into numerous segmentsDetailed characters animated in MayaLook equal to or better than current top titles

Our Team Setup 1/2Project Leader (me)Responsible for delivering a finished game on timeCuts features to make the deadline and budgetCoordinates developer tasksCreative DirectorThe game designerGame design documents, copy textsEnsure that the game is fun to play, and balancedArt DirectorConcept and wireframe sketchesInterface designsCharacter drawings for the 3D modelers

Our Team Setup 2/2Two experienced game developersBoth have significant experience from the games industryTwo experienced 3D environment modellersConcept art complete realization of 3D environmentsAn experienced 3D character modeler animatorHas worked as animator on titles such as Assassins CreedA musician that can create STIM free musicA requirement for many clients is that they own the musicTotal team: 9 peopleNot including people involved at our customer

Engine Choice

#1 Unreal Development Kit

#2 Unity

“Half Life 2 Meets the Companion Cube”(random YouTube comment)

Rochard - made with UnityTo be launched for PS3 (PSN) in 2011Developed by Finnish Recoil GamesDefinitely looks good enough

UDK versus Unity 1/5Development start: January 3Narrowed choice to 2 toolsUDK - Unreal Development KitUnity - Game Development ToolTarget devicesUDK: Windows, iOS, consolesUnity: Mac, Win, Android, iOS, Web, consolesHost environmentUDK: Windows onlyUnity: Mac/Windows (Mac for iOS render & remote)Development languageUDK: UnrealScript (“the look and feel of C/C /Java code”)Unity: Boo, C# or Javascript

UDK versus Unity 2/5Learning time a factorUnity iPhone 1.0.1 : December 2008UDK for iOS: December 2010Game Center IntegrationYes, both platformsFacebook & TwitterUDK: No, native code not supportedUnity: Yes, requires native code integration (or plugins)Custom splash screenUDK: NoUnity: YesSupport for 2D apps and gamesUDK: No (Does not support orthogonal cameras)Unity: Yes, through plugins such as Sprite Manager 2

UDK versus Unity 3/5UDK: Visual Scripting with Kismet

UDK versus Unity 3/5Unity: Third party beta plugins Vizio or uScript

UDK versus Unity 4/5UDK: Advanced Material editor

UDK versus Unity 4/5Unity: Third party beta Strumpy Shader Editor

UDK versus Unity 5/5UDK: Scaleform GFx UI Support

UDK versus Unity 5/5Unity: Third party plugin EZ GUI

Unity: Be prepared to use (lots of) plugins

Similar FeaturesUDKUnityObject importObject importNVidia PhysX APEXNVidia PhysX“Unreal Lightmass”“Beast” lightmappingContent browserSearch for assetsAnimset editorManual setupPricePriceFBX ActorX exporterWith previewsMorph, sequence editing 99 licenseFree 50,000 income25% of income 50,000FBX (Maya, Max) nativeNo previewsNo morph supportFixed price per developerBasic and Pro editionsNo royalty fees

Key decision points for us:Android SupportOnly supported with UnityFacebook & Twitter integrationOnly supported with UnityReliabilityUDK: Only 1 game launched in December 2010Unity: 400 000 developers in December 2010

Platform choice: Unity

Unity VersionsUnity Standard EditionFree of charge, company may not earn 100,000Mobile Platforms for Standard Edit in Photoshop

Create a new document 1024 x 768 for iPadDraw a gradient backgroundCreate normal and touch down buttonsSave background as PNGSave each button as PNGNote: each button is saved as a 1024x768 imageSave image as PSD

Create a new document 1024 x 768 for iPadDraw a gradient backgroundCreate normal and touch down buttonsSave background as PNGSave each button as PNGNote: each button is saved as a 1024x768 imageSave image as PSD

Create game level and colliders in Modo

Zoom to right unit scaleUnity uses 1 unit 1 meterCreate game level objectsSet materialsCreate collidersPrefix with Cn (CX Box Collider, etc)Save as Modo objectUse Modo2Unity script to save FBXScript removes camera, light, etc

Zoom to right unit scaleUnity uses 1 unit 1 meterCreate game level objectsSet materialsCreate collidersPrefix with Cn (CX Box Collider, etc)Save as Modo objectUse Modo2Unity script to save FBXScript removes camera, light, etc

Set up level, lightning, colliders in Unity

Create new Unity projectCreate some standard foldersMaterials, Scripts, TexturesImport Level1.FBX, Menu graphics, Helper scriptsAssignMaterial.js, BuildColliders.jsDrag Level1.FBX to a new SceneSave Scene as Level1.unityChange Camera near / far distanceAdd a Directional LightCreate Colliders from meshes prefixed with CXCreate LightmapsAdd Rigidbody Sphere Collider to our BallChange Project Physics settings (precision)

Create new Unity projectCreate some standard foldersMaterials, Scripts, TexturesImport Level1.FBX, Menu graphics, Helper scriptsAssignMaterial.js, BuildColliders.jsDrag Level1.FBX to a new SceneSave Scene as Level1.unityChange Camera near / far distanceAdd a Directional LightCreate Colliders from meshes prefixed with CXCreate LightmapsAdd Rigidbody Sphere Collider to our BallChange Project Physics settings (precision)

Create a ball controller script

Create BallController.cs script# Get device Tilt values# Normalize Tilt values# Add Tilt force to the BallDrag BallController script to the Ball in Unity

Create BallController.cs script# Get device Tilt values# Normalize Tilt values# Add Tilt force to the BallDrag BallController script to the Ball in Unity

Check if the ball falls down

Open BallController.cs script# Store original Ball position# Store original Ball rotation# If Ball Y position 1.0 then reset values

Open BallController.cs script# Store original Ball position# Store original Ball rotation# If Ball Y position 1.0 then reset values

Create main menu with EZ GUI

Create a new Scene: MainMenu1024Set camera to OrthographicSize 384 (half height of 1024 x 768)Add EZ GUI: UI ManagerAdd EZ GUI: Simple Sprite for backgroundAdd EZ GUI: Load Scene Button for Play buttonSet it to load Level1.unityAdd a material for the backgroundShader Unlit / TextureAdd a material for all buttonsMaterial will be created by EZ GUI Build AtlasesShader Unlit / TransparentSize and position the Play ButtonUsing EZ GUI Size SpritesAdd Level1.unity to the Build settingsSo it can be loaded by the Play button

Create a new Scene: MainMenu1024Set camera to OrthographicSize 384 (half height of 1024 x 768)Add EZ GUI: UI ManagerAdd EZ GUI: Simple Sprite for backgroundAdd EZ GUI: Load Scene Button for Play buttonSet it to load Level1.unityAdd a material for the backgroundShader Unlit / TextureAdd a material for all buttonsMaterial will be created by EZ GUI Build AtlasesShader Unlit / TransparentSize and position the Play ButtonUsing EZ GUI Size SpritesAdd Level1.unity to the Build settingsSo it can be loaded by the Play button

Create end screen with EZ GUI

Disable PVRT compression on textures

Enable trigger action for the game end screen

Add a Trigger collider to our Goal objectAdd OnTriggerEnter() to BallController.csLoad the level “GameEnd1024” once the ball enterAdd the scene GameEnd1024 to Build settingsSwitch target platform to iOSPlay the game!

Add a Trigger collider to our Goal objectAdd OnTriggerEnter() to BallController.csLoad the level “GameEnd1024” once the ball enterAdd the scene GameEnd1024 to Build settingsSwitch target platform to iOSPlay the game!

Tips and tricks

First tip : Unity PlayMaker Add-on 99 from the Unity Asset Store

You can create a complete 2D or 3D game withUnity & PlayMaker - no coding required!

Performance BudgetFrom Unite 2010: “Unity 3 for Mobile”Available RAMiPhone 3GS / iPad: 120 MbiPhone 4G: 200 MbRAM is also used as Video RAMiPhone 3G7-10K vertices (for 30 FPS)5K skinned vertices40-100 objects on screeniPhone 4 & iPad30-40K vertices (for 30 FPS)15K skinned vertices70-200 objects on screeniPad 2 150K vertices (for 30 FPS)

Get Your Units Right“Unity's default unit scale is 1 unit 1 meter”Critical for physics calculations to work correctly“If you are modeling a human make sure he isaround 2 meters tall in Unity”Set your grid accordinglyModo default mMaya default cm (need to change to m)

From the Unity Script Reference:“An object falls at the same acceleration nomatter big or small, heavy or light.If your game world has a large scale, objects willstill fall at the same acceleration.But since everything is larger,objects will appear like they fall slower”

Screen SizesAndroid: High resolution phones800x480 (Nexus S, Galaxy S, .)854x480 (Sony Ericsson X10, .)1024x480 (Acer’s upcoming 4.8” smartphone, .)960x540 (Motorola Droid 3, .)Android: Low resolution phones320x240 (X10 Mini, .)432x240400x320 (Samsung Galaxy 3 i5800, .)480x320Android: Tablets1024x600 (Galaxy Tab 7”, .)1280x800 (Motorola Xoom, Galaxy Tab 8.9 & 10.1, .)iOS480x320, 960x640, 1024x768

Screen Sizes: What To DoFor games you can crop background imagesIf a few pixels are lost, it might not matter that muchTablets: 2 images1280x8001024x768 (cropped run-time to 1024x600)All Android & iOS tablets supportedHigh resolution phones: 2 images960x640 (cropped run-time to 960x540)854x480 (cropped run-time to 800x480)iPhone 4 & most Android phones supportedSource graphics always created as 2k pixel imagesSo we can easily move to future iPad retina displaysWe keep to try as much as possible as vector graphics

Miscellaneous TipsFor pixel perfect graphics with EZ GUIOrthagonal camera size screen height / 2Positioning UI elements with EZ GUIhttp://forum.anbsoft.com/viewtopic.php?f 9&t 228&p 1150#p1150Unity Pro Maya ExtensionsExporting morph targets to Unity and morehttp://adammechtley.com/Automatic collider generation from meshhttp://www.anicombo.com/blog/?p 404

To SummarizeIf you need Android, Facebook & Twitter supportYou have to choose Unity over UDKUDK is a complex beast, more so than UnityLearning time is longer with UDK than with UnityPlan time and budget for necessary purchases150 000 kr for two developers working with Unity320 hours for two developers learning UnityOnce you know Unity however, you can work fastYou can actually work really, really fastUnity is quickly becoming a “de facto standard”Everyone seems to be using itIf you want to create 2D apps and gamesThen you have to choose Unity over UDK

Thank You!johan.sanneblad@hiq.se

FBX ActorX exporter NVidia PhysX APEX “Unreal Lightmass” Content browser With previews Animset editor Morph, sequence editing Price 99 license Free 50,000 income 25% of income 50,000 Unity Object import FBX (Maya, Max) native NVidia PhysX “Beast” lightmapping Search for assets No previews Manual setup No morph support Price .

Related Documents:

new Unity Class to GameObject Edit Unity Class Add / Edit ChucK Code Add / Edit Unity Code Test in Play Mode Figure 2: Work ow: (1) Users make changes in the Unity Scene, (2) Unity C# code, and (3) ChucK code, then test their game to see how it currently looks and sounds (4, 5). x4.1 Runtime: (1) The Player object collides into another game object.

Unity and Coherence in Paragraphs Unity and coherence are essential components of a good paragraph. They help your writing make sense and flow smoothly. Unity One characteristic of good writing is unity. Each paragraph you write, whether it stands alone or is pal1 of a longer essay, should have unity. When a paragraph has unity, all of the .

SUPPORTING DETAILS: COHERENCE, UNITY, FACTS, STATISTICS AND QUOTATIONS UNITY Practice 1: Unity A. The three paragraphs that follow all discuss the same topic. Only one of them shows unity. First read the paragraphs. Then answer these questions. 1. Which paragraph has unity? 2. Which paragraph does not have unity because it discusses two .

Grow with Dell EMC Unity All-Flash More firepower Dell EMC Unity 350F Dell EMC Unity 450F Dell EMC Unity 550F Dell EMC Unity 650F DATA-IN PLACE UPGRADE PROCESSOR 6c / 1.7GHz 96 GB Memory 10c / 2.2GHz 128 GB Memory 14c / 2.0GHz 256 GB Memory 14c / 2.4GHz 512 GB Memory CAPACITY 150 Drives 2.4

Dell EMC Unity: Investment Protection Grow with Dell EMC Unity All-Flash Dell EMC Unity 350F Dell EMC Unity 450F Dell EMC Unity 550F Dell EMC Unity 650F ONLINE DATA-IN PLACE UPGRADE PROCESSOR 6c / 1.7GHz 96 GB Memory 10c / 2.2GHz 128 GB Memory 14c / 2.0GHz 256 GB Memory 14c / 2.4GHz 512 GB Memory CAPACITY 150 Drives 2.4 PB 250 Drives 4 PB 500 .

5.1 Unity 3D Unity 3D is a game engine used for developing games for multiplatform use. It is one of the best features of Unity to allow user to create a game able to run on multiple devices or systems. The coding is mostly in C# and the inbuilt assets are easier to access. Unity can handle and support several art assets and file formats from .

Unity is a cross-platform game engine initially released by Unity Technologies, in 2005. The focus of Unity lies in the development of both 2D and 3D games and interactive content. Unity now supports over 20 different target platforms for deploying, while its most popular platforms are the PC, Android and iOS systems.

Reading Practice Test, a practice opportunity for the Nebraska State Accountability (NeSA). Each question will ask you to select an answer from among four choices. For all questions: † Read each passage. Then answer each question carefully by choosing the best answer. † Mark your answers for ALL of the questions. Remember only one of the choices provided is the correct answer. SP10R08XP01 .