2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
-
Upload
murat-guerel -
Category
Software
-
view
692 -
download
7
Transcript of 2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
About Me• Software Engineer, iOS - Peak Games
• Native iOS development for 3 years - 2 years professionally.
• 4 games with Unity
Why am I here?
• Evliya Çelebi experiences
• Insufficient resources on the internet
• Project management from scratch
• Tips, tricks & time-savers
Evliya Çelebi
• Started in June 2014
• 1 month research prior
• 4 sceneries with 5 different sprite sets (20 total)
• More than 40 levels with various difficulties
Agenda• Components
• Colliders & Layers
• Tags & Camera
• State Machine
• Animations
• Level Editor & Level Design
• Performance
• Development Environment
Tags• Use tags for higher level stuff
• Enemy, Player, Obstacle etc. (Not LongObstacle)
PlayerObstacle Collectible
Collectible
State Machine
• We have a state machine for our main character
• Listen for events & let state decide what to transition into
• Character listens to state changes
• Other scripts can also hook into changes
Level Design
• We have separate level slices
• We append them together
• Random enough
• Easier on development & design
• Random enough to be fun
• Predictable enough to control economy
• Fully random is extremely hard & not good for game
Unity Editor• Do not use editor to set variables excessively
• Only expose variables a level designer should use
• Validate if needed
• Do it inside scripts for other stuff
Level Editor
• If you can, separate level design from coding
• Unity editor is highly extendible
• Can make a level editor inside Unity
Level Editor
• Sharing workload
• Faster level design
• Fewer bugs if done correctly
• Shorter overall project time
• Editor itself can have bugs
• Teaching designers
• Cannot prevent default unity actions
ADVANTAGES DISADVANTAGES
Level Editor
• Designers place placeholders
• Have convenience methods
• Can validate & test level individually
• Send us the final level
Cross-Platform
• 1 image set with resolution 1280x800
• Show more game area
• Use percentage for resolution dependant stuff
• Preprocessor macros or conditionals
• uGUI for UI
Performance• Use texture atlases
• Unity sprite packer is not good, we used TexturePacker
• Better packing algorithm
• Exports for Unity
• 54 MB to 37 Mb memory gain