Now for a summary of Chapter 1 -- this is more for me than for you, but read on if you like.
What makes a good iOS Game?
- Device usage:? Think about when your user will be accessing your content.? It is typically in short bursts so your game needs to be easily and efficiently launched
- Use unique features:? This is not a game console so don't expect your user to play your game like they would with a D-pad or a joy-stick.? Instead allow them to interact directly with the game itself
- Make your game fun!
- Easily approachable:? too many rules = too difficult
- Offer players a tutorial if it is complex
- Balance the game to challenge the player with easy levels that progress to harder levels
- Reward the player (GameKit APIs to show leader board stats)
- If you have fun during the development of the game your users will have fun playing it!
Developing your idea!
- Documenting the game:? "Game writing" phase
- Application definition statement (1 sentence)
- Define the features (formal document or checklist):? this is a list of key features not tiny details that is used more to gauge your progress in game development.? You can add separate subitems when needed
- Keep your target audience in mind!
- Prototyping your game
- Pen and paper design:? use clips of paper to simulate play which will help you understand how to better define rules and level of difficulty without writing code
Preparing to Code:
- Use a program you are comfortable with (Illustrator, Photoshop, OmniGraffle)
- Device and Resolution:
- iPads 1 & 2:? 1024 x 768
- iPad 3 (retina display):? 2048 x 1536
- iPhone 4 & higher (retina display):? 960 x 640
- other iPhones and iPod Touch:? 480 x 320
Game-Related Frameworks:? Graphics, sound, user interaction
- Cocoa
- "Cocoa is a set of object-oriented frameworks that provides a runtime environment for applications running in Mac OS X and iOS."? - Apple
- Cocoa libraries are written in Objective-C, which is a subset of C programming language but extends to include object-oriented features.
- Foundation Framework:? provides low-level classes that are used in every iOS program
- UIKit Framework:? contains classes that you use to build the user interface of your application
- Media Services:? graphic and sound APIs, which includes Core Graphics, Core Animation, and Core Audio
- Core Services:? This includes the Foundation framework and contains all the basic building blocks you need
- Core OS:? includes the Kernel (Linux based), file system, networking components, and device drivers
Drawing:? UIKit and Core Graphics
*This is your first choice in how your app will render:? 2D or 3D
2D Drawing utilizes the UIKit and Core Graphics; however, 3D Drawing uses the GLKit and OpenGL ES.? For 2D, both the UIKit and Core Graphics help you create and manipulate Bezier paths, image, bitmaps, colors, and fonts.? Core Graphics extends the UIKit giving the ability to directly work with line attributes, color spaces, pattern colors, gradients, shadings, and image masks.? On the other hand, OpenGL is a C-based graphics library that you can use to build high-performance 2D and 3D graphics.? The GLKit sits on top of this in iOS5, which promises to simplify certain aspects of 3D development.? The OpenGL library is HUGE and not covered in many books -- But note, if you build a game by using the native drawing APIs and discover that the performance is not good enough to support your game, you can migrate your drawing code to OpenGL for a performance boost.
User Interaction:? Cocoa Touch
- UIButton class:? When you are only concerned about a player hitting a button use a button
- Touch events:? Offer more precision such as letting a player touch down on the screen and move something with finger while pressed down
- Gesture recognizers:? pre-built classes that recognize when a specific motion that are common to iOS such as pinching or swiping.? Gesture recognizers will recognize, analyze, and send a message if a gesture is used
- Don't forget about other functions such as the built in accelerometer!
Core Animation
- Frame-based animation:? building for real-time action games by drawing each frame individually with each frame differing (example Blocker Game)
- Turn-based game:? does not require as much precision but easier to just use the Core Animation framework
- Core Animation framework:? animations seen in the iOS user interface, which you use by changing the Core Animation properties on an animatable object (Chapter 8:? card game)
Core Audio (covered in Chapter 9)
- Sound system services is part of the Audio Toolbox framework which plays notifications for UI events (30 second sounds or shorter)
- AV Foundation Framework provides an Objective-C interface with more options and fewer limitations for playing sounds and video
- Audio Toolbox Framework:? synchronize audio playback with your application
- Audio Unit Framework allows your application to host audio processing plug-ins called audio units.? Pre-made audio units for mixing, equalization, format conversion and real-time input/output
- You can use OpenAL Framework? to create positional based stereo sound playback which accurately position the sounds in your game in three-dimensional space
GameKit:? enables three core pieces of functionality
- Peer-to-peer networking:? allows you to set up an ad hoc network between devices through either bluetooth or wireless network to enable communication
- In-game voice chat:? allows player of the game to chat with each other during a game
- Game Center:? Social gaming services that includes leader boards, achievements Friends lists, turn based gaming, and auto-matching to anonymous players (think Words with Friends)
state of the union address 2012 obama state of the union 2012 2012 state of the union address jorge posada maurice sendak state of the union sotu
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.