1 / 18

Game Design & Development for Mobile Devices

Game Design & Development for Mobile Devices. Week 1. Overview. Introduction Phone Differences Approaches Challenges Development. http://cmer.cis.uoguelph.ca. 2. Introduction. JavaME is relatively easy to learn

cwen
Download Presentation

Game Design & Development for Mobile Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Game Design & Development for Mobile Devices Week 1

  2. Overview Introduction Phone Differences Approaches Challenges Development http://cmer.cis.uoguelph.ca 2

  3. Introduction JavaME is relatively easy to learn It is misleading to suggest that mobile game development is simpler than on the PC or console Ideally, a J2ME game developed for one device should run on all devices with the same APIs http://cmer.cis.uoguelph.ca 3

  4. Phone Differences • There are several reasons why there are so many phone models • Mobile phones are highly personal; each one is designed for a specific usage pattern • I.e. enterprise users, messaging teenagers, gamers, price conscious people, etc • Manufacturers need to differentiate their product • They adopt different CPUs, memory sizes, UIs, operating systems, screen sizes, etc http://cmer.cis.uoguelph.ca 4

  5. Phone Differences (Cont.) • Providers need to differentiate their offerings • Customizing their hardware or software • Enabling/disabling functionality (i.e. NexTel disallows consumers to run 3rd party Java applications) • Mobile phones are evolving faster than Moore’s Law. • Hundreds of new models every year. http://cmer.cis.uoguelph.ca 5

  6. Phone Differences (Cont.) Supporting all the popular devices will maximize the game’s chance of success Java games ported for different devices need to be tested and optimized on each device Example; Nokia devices series 60 and series 40 have very different screen sizes, memory sizes and CPUs http://cmer.cis.uoguelph.ca 6

  7. Phone Differences (Cont.) Different devices have different bugs, or problems in their Thread or memory management implementations http://cmer.cis.uoguelph.ca 7

  8. Approaches • Java is object-oriented • Object-oriented approach provides maintainability and extensibility. • This is normally a good thing • In the mobile world memory is expensive • It is best to avoid multiple objects unless necessary • Do not write one massive super class http://cmer.cis.uoguelph.ca 8

  9. Approaches (Cont.) Write your game in the simplest manner that is comfortable Afterwards, merge classes that do not provide much gain in functionality http://cmer.cis.uoguelph.ca 9

  10. Challenges • Supporting many different devices in a fragmented market • Different hardware limitations • CPU • Screen size • memory • Cost of porting games (if needed) http://cmer.cis.uoguelph.ca 10

  11. Memory Limitations • 3 Times of memory • Working, storage, and application memory • Working memory is where the game is in runtime • A game too big will throw a out of memory error • Storage memory is where all the high scores, user options, and other state data. http://cmer.cis.uoguelph.ca 11

  12. Memory Limitations (Cont.) • The game itself takes up storage (application) memory • Application memory takes into account all of the games and applications stored • Code the game accordingly to memory constraints • Consult manufacturer specifications • Check the maximum size a game can be during runtime and memory storage available http://cmer.cis.uoguelph.ca 12

  13. Screen Limitations • A fairly big challenge • Displays differentiate not only from manufacturer to manufacturer, but from model to model too • Consider • Screen size • Frame rate • Colour http://cmer.cis.uoguelph.ca 13

  14. Screen Limitations (Cont.) Target devices to design games for Good idea to create games generically, then make alternate versions for different mobile devices http://cmer.cis.uoguelph.ca 14

  15. Improve Performance • Decide which type of model you will develop for. • Lower end or higher end • Lower end have most of the market • Optimization • Use shorter variable, method and class names • Avoid unnecessary protocols • Reuse objects rather then instantiating new ones • Merge graphics into one sheet instead of several separate graphics • Obfuscate your code to • Prevent reverse engineering • Significantly reduce final jar size http://cmer.cis.uoguelph.ca 15

  16. Development • Beginners should start development with a higher end device that has the least amount of API constraints. • This allows the developer to focus on proper game design and API usage • Without worrying about limitations http://cmer.cis.uoguelph.ca 16

  17. Development (Cont.) • A good start: • Start with a device that has MDIP 2 • As a developer becomes more experienced, moving to an older or more restrictive device would be a good idea http://cmer.cis.uoguelph.ca 17

  18. Development (Cont.) • Porting a game from strong device to a more restrictive device requires • Reworking the graphics • Changing the game play • A strength in mobile games is large volume that it occupies in the market • Mostly low end devices are in the market http://cmer.cis.uoguelph.ca 18

More Related