call girls in Vaishali (Ghaziabad) đ >ŕź8448380779 đ genuine Escort Service đâď¸âď¸
Â
The Difficulty of Going Mobile
1. 1
Quo Vadis 2013
The Difficulty of Going Mobile
Dietmar Hauser
Head of Console Technology
Sproing Interactive Media GmbH
2. Based in Vienna, Austria
Independent since 2001
Work for hire on all platforms
Recent success with F2P
Dozens of titles shipped...
... using our own technology
Some BackgroundâŚ
2
3. Premises
3
Multi Platform Codebase
⢠Consoles / PC
⢠C / C++
⢠Platform specifics abstracted
Multi Platform Build Pipeline
⢠Make, MsBuild, Scons,...
⢠IDE to edit, build & run
⢠Platform specific debugging & profiling
4. #1 Ease of Access
4
Consoles
⢠Lengthy and involved
⢠Many requirements
⢠A lot of secrecy
⢠No fees, free support
Mobiles
⢠Sign up with email
⢠Almost no requirements
⢠Less secrecy
⢠Fees for services
6. #2 Workstations
6
Just buy a few macs?
⢠Extra hardware costs (a lot)
⢠Extra training required
OS/X in Virtual Machine
⢠Complicated
⢠Legally gray area
In both cases
⢠Existing tools donât work anymore
⢠Doubled build configs
⢠Doubled build/test services
⢠Constant dev platform switching
7. #3 Tool Chain & Debugging
7
iOS toolchain is mostly FOSS
⢠Gcc, Clang, cc tools, gdb, lldb,âŚ
Some ports are available:
⢠DragonFire SDK
⢠saurikâs toolchain
⢠PM Batyâs toolchain
http://www.pmbaty.com/iosbuildenv/
Integrate into build pipeline
Deploy with SSH / SFTP
8. #3 Tool Chain & Debugging
8
Not everything can be done on Windows
Create tool to convert project configs to
xcodeproj file format
Debugging and profiling using XCode
âOfficialâ builds with Mac
⢠External testing
⢠Apple store approval
9. #4 Programming Language
9
iOS favours Objective-C
⢠Not very portable or useful
⢠Necessary to interface with some iOS APIs
⢠Great interoperatibility with C and C++
⢠So, we ignore it when possible
Objective-C
C / POSIX
10. #5 Memory
10
Memory
⢠Seems to be abundant
⢠Is shared by OS and all Apps
⢠âMemory Warningsâ
⢠More memory used == faster death
Some hints
⢠Donât hoard memory
⢠Use mmap-ed file I/O
⢠Use texture compression
⢠Prepare to let go of static data
11. #6 Graphics
11
Graphics API
⢠Standard Open GL ES 2.0
⢠Great portability
⢠Not much more needed for gamedev
GPU
⢠Low clock frequency
⢠Severely fillrate limited
⢠Tiled based deferred rendering
⢠A lot of pixels
13. #8 Input
13
Touch Screen
⢠The only guaranteed input option
Simulate mouse or gampead
⢠Only single physical button
⢠Finger covers target area
⢠Up to 100ms latency
⢠No hovering input
⢠No haptic feedback
On screen keyboard
⢠No good for gameplay
⢠Ok for debug input
14. #9 Development Hardware
14
Consoles
⢠Uses Development Kits
⢠Expensive
⢠Special debug features
Mobiles
⢠Uses retail devices
⢠Cheaper
⢠Special debug obstacles
15. #10 Copy Protection
15
Consoles
⢠DevKits have no protection
⢠Protection is applied before
publishing
⢠No hassle for developers
Mobiles
⢠There are no DevKits
⢠Copy protection is constantly active
⢠Developers need to acquire permissions
⢠A lot of hassles, delays and limitations
$100,-- annually for iOS, includes 5 Support Tickets
Costs: Hardware is expensive, existing hardware doesnât work, needs a lot of duplicates
Training: developers, designers, artists, QA and admins
Talk a bit about ClWarrior
Objective-C was one of the main reasons for Apple to develop Clang
POSIX = "Portable Operating System Interfaceâ + X, an IEEE standard, updated last in 2008
Objective-C is a strict superset of C