Hot answers tagged

15

There are quite a few resources to refer to. First thing to note is that 93% of the top 100 grossing games use in-app purchasing so that by itself means something. Here is a research by flurry showing the dominance of in-app purchase dominance as a monetization model for mobile games. This is from about a year ago and the trend became stronger since: Part ...


8

The iTunes App Store already has a process in place for adding custom terms and conditions to any app you upload. http://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/8_AddingNewApps/AddingNewApps.html Scroll down to "Providing an End User License Agreement". Tell your lawyer about this if he doesn't ...


7

Using index buffers isn't necessarily faster, as indicated in the Apple docs, "For best performance, your models should be submitted as a single unindexed triangle strip using glDrawArrays". So, while a GL_TRIANGLE_STRIP will do it in 4 vertices without needing an index buffer, and you can use an index buffer, it's pretty lame to try to "save" repeating 2 ...


6

The key phrase you're looking for is game state serialisation. Game state is what it says. Your game has some sort of structure to keep the current state of the game. In an RPG game, you want to store the list of quests the player is on, how far they are into those quests and what their characters' stats are. Serialisation is the reversible conversion of a ...


6

No simulators that I know of give reasonable expectations of on-device performance. The iOS simulator, in particular, is very bad. And I think the Android one is an emulator.


6

As you have found out, the W3C Vibration API is not supported in the iOS Safari browser (as reported here: https://caniuse.com/#feat=vibration). However, you've pointed out that you plan to package your app for the iOS App Store. To do this, you'll need to package your "web game" into an appropriate native container for installation on the phone. You could ...


5

There are a few options available to you: Buy a Mac: This is the most full-proof, but probably the most expensive. If you can figure out what exactly you need (eg. Lion vs. Leopard), you can probably save some of the cost by buying something that's not latest-and-greatest, but "good enough" for development. Run a Mac VM: This is usually illegal (depending ...


5

I would also go for the ID solution. You should give every object in your whole world (not just on the current map) a unique ID. A 32 Bit int should be sufficient. Further every object can store a state value, also a 32 Bit int value. You can squeeze a lot of information into 32 Bit, e.g. you can make 32 flags out of it to store 32 bool values. Or you can ...


5

It is highly not recommended to make an iPad game without a device. The simulator is decent, but some things cannot be tested properly on it. For example, In App Purchases cannot be tested without a device. And believe me, you want to test those things. You also won't get much of an idea of its performance on the simulator since it may run much faster or ...


4

What you're seeing is floating point accuracy, or lack thereof. Even highp is specified as 16 bit in OpenGL ES according to the spec (pdf link). To make things worse, denormals/subnormals are not required (these are used to improve accuracy near zero, but require special handling and, to save silicon space, are often not implemented). Note that's the ...


4

ISRC codes have little to do with royalties. The code merely identifies a track. Whether a track has a code or not, you still have to comply with copyright laws to use the track. Generally speaking the rates are not covered by legislation, but by agreements between broadcasters and music publishers. Unless you wrote and recorded the songs, you do not 'own' ...


4

While 24fps is the framerate of movies and that gives the illusion of movement visually, there are a couple of caveats to consider. First off, movie frames have motion blur in them naturally and that makes fast movements look more continuous between frames. Games generally don't have motion blur to connect fast movement between frames, so they need higher ...


4

If it's worth it or not depends entirely on your needs, the goal of the project and the resources available for the project vs what resources it will take to upgrade. However, simply based on what you've described, I would see no reason to upgrade. You've said the game you wrote still runs fine, so it sounds like there's nothing to fix. If there's no ...


4

Use Approach #2 (render to a small offscreen texture, then display that texture onscreen scaled up using nearest-neighbor texture sampling), because: The asset workflow is simpler. You can edit individual pixels, without having to quadruplicate them, or manually scale everything up. The assets will probably take up less space on disk. This is particularly ...


4

It's probably mostly a matter of being smart with 1) unloading of assets when no longer needed and 2) threaded loading of assets (if necessary, sometimes you can hide loading hitches behind "loading" screens). You likely don't have all the images loaded in memory at once. That being said, the on-disk space is pretty irrelevant when it comes to in-memory ...


4

If the enemy waves only effect one player (the one that plays the game), then I really see no need to put this logic on an external server. Having a server would also require an internet connection which can't be taken for granted (especially on iPods and iPads). You could simply store the time when your game exits or goes to the background. Upon relaunch ...


4

I am experiencing the same issue - after updating my iOS apps, there is a period (a few days) when a lot of App Units get reported from China. In fact more App Units then Impressions / Installations / Sessions. And I have Google Analytics (Firebase) installed as well, where I don't see any increased activity. I've read online that this might be due to click-...


3

Another approach is to subclass the CCMenuItemImage object. You can override the two functions -(void)selected and -(void)unselected to determine when the user has pressed and is holding.


3

When you detect the absence of a touch (I'll leave that to you), reset your rotation value to 0. Then any further change left will go left, etc. If you want to do this when the user is continuously touching the interface, I think your question represents bad control design. If the user, even for an instant, moves their finger in a direction away from the ...


3

One approach you can do is use the program luac to compile your scripts to bytecode. This provides an extra layer of obscurity. These compiled lua scripts can be loaded just like a normal text based script. Make sure you keep a text copy of the scripts that you compile however. I believe luac is built when you build Lua from source. Also note that luac ...


3

Comparing iOS Simulator and OSX OpenGL speed is pointless. OpenGL ES on iOS Simulator is a software renderer, and OpenGL in OSX is GPU accelerated. The performance characteristics can thus be expected to be completely different. More to the point, the faster image with the galaxy on the right side of the screen culls more than half of the points against the ...


3

A friend of mine released his game with Xamarin. You just need to create your game in C#, then this software can compile the source to iOS and Android. (And of course, because of the C#, you can also release it on Windows Phone.) Really good stuff.


3

Last time I used the Facebook API they didn't provide any multiplayer or gameplay functionality. I'm pretty sure you have to write that yourself. You can still leverage the Facebook API to publish scores/achievements and find friends of a user. Eg. You can get the user-names, profile pictures from FB and also use the Facebook API to post something on the ...


3

In Box2D, this is called Collision Filtering. Collision filtering allows you to prevent collision between fixtures. For example, say you make a character that rides a bicycle. You want the bicycle to collide with the terrain and the character to collide with the terrain, but you don't want the character to collide with the bicycle (because they must ...


3

Some companies target to release their titles around Christmas. Other companies target E3. There's a lot of buzz around E3 and it is coming soon. So it might be actually a good time to release in summer. And of course, when people go on holiday nowadays, they take their iPhones to the beach and they might just need something to play when they are sunbathing. ...


3

As far as I know all those devices are able to show up to 60 fps, however, for mobile development you should think differently: You've tagged your question with 'directx', but this won't work. iOS as well as Android both support OpenGL ES only, which is a more lightweight version of the desktop OpenGL. The more frames you display, the more work the GPU has ...


3

Unity Remote exists for this purpose. Quoting their description: Unity Remote is an application that allows you to use your target device as a remote control for your project in Unity editor. This is useful during development since it is much quicker to test your project in the editor with remote control than to build and deploy it to the device ...


2

Have you checked out CocoonJS? It's by far one of the best ways to get hardware accelerated HTML5 games on iOS and Android plus they have a cloud compiler where you can upload a single zip and it will build out for multiple platforms.


Only top voted, non community-wiki answers of a minimum length are eligible