Bringing Large Scale Console Game to iOS


Y8ObbsOsNQEhMCEhMCEt


The Bard's Tale

Why?


Device are fast enough
Market segment is not as crowded
Hugh potential user base
Rich back data log of content
Potentially very low cost






Session1: port process
- application framework
 - development workflow
Session 2 port-port
- performance/memory opt.

OpenGL Cocoa Touch App

Bring it all together

Workflow: Data deployment

OpenAL
limit 32 active sources, DirectSound 256 channels on XBOX

-Sluggish
-5.8G -> 2Glimited on iOS

60Hz?
   - terriable for battery life
30 Hz
  - Game may depend on 60Hz

Hybrid
   -   60hz, functionsliity intact
  - 30hz : low GPU/ save energy
   -60hz, at 5th device is optional




VFP??

Candidate for NEON SIMD

SGX GPUs: a few stats

Render opt.
-minimal vertex format size
-texture size and mipmapping

Alpha test and SGX
- Fragment discard expensive
-huge impact on fill rate
-use alpha blend at all costs

Eliminating Alpha blending
-sorting issue
-automatic material separation
- evaluate polygon pixel coverage
-separate into: opaque/transparent

load time sorting
-resort all base on alpha
-sort alpha and write depth

per device opt.
-less effect, less polygon
-reduce RT
-shader LOD on low end
  - rigid/smooth skinning
  - less lights
-half native resolution


downsampling  and non power to texture


Bundle size
-OGG compression
-texture compression and reduction
-mipmap chain removal
-remove DVD-ROM redundant data

Adding iOS features:
- ObjC
-Require calls to be made on main thread

iCloud
- File system directly
 - new complications
-hybrid solution to iCloud client
 - use iCloud as a dropbox
 - game save data
- culled at high level


Comments

  1. Excellent post, I agree with you 100%! I’m always scouring the Internet for new information and learning whatever I can, and in doing so I sometimes leave comments on blogs. daftar dewapoker 2018

    ReplyDelete

Post a Comment

Popular posts from this blog

Drawing textured cube with Vulkan on Android

glTF loader for Android Vulkan

C++ unit testing & CI integration in GitHub (I/2)