Tag Info

Hot answers tagged

26

Android is an open platform, so you are free to exchange APKs by other means—for instance by email. The Android Development Center discusses this. The caveat: App installation from non-marketplace sources is disabled by default in the security settings of most Android distributions. Users must manually enable the option first.


18

Storing the completion information in a local file is a simple and perfectly acceptable method of doing so. Fundamentally, this is what every game will do to track progress (in some fashion, although the specific formats used for the data and the storage mechanism will differ). Protecting the file from tampering is more difficult. If there's no compelling ...


9

You can create a replay file as proof of work while the player is playing. Start the game, save the starting conditions including the name of the level and the pseudorandom seed, record the exact timestamped input states (mouse movements, key or button presses, etc.) that your game's input layer passes to its logic layer, and stop recording once the ...


8

The approach you've described, using locks, would be very inefficient and most likely slower than using a single thread. The other approach of keeping copies of data in each thread would probably work well "speed-wise", but with a prohibitive memory cost and code complexity to keep the copies in sync. There are several alternative approaches to this, one ...


6

Yes there are other platform where you can publish your game and they have huge market there. Amazon App Store Samsung Galaxy Apps


4

Apart from the usual communication methods (such as email, and just downloading it from a website) there are places you can upload an APK (like an alternate store. For example, Aptoide). Naturally, these are (most likely) less well known than the Google Play Store, and probably get less traffic.


3

If you want to do this totally in the client side and you don't consider the private storage provided by your platform to be secure enough (e.g. if there's actual money involved in completing levels), what you need is a proof of work. Your save file must contain an information that is designed such that creating the information is difficult to calculate ...


2

I use Interpolation.bounceIn.apply(current_position, target_position, smoothness) to achieve this effect. Take a look at this. Edit I found the answer on their site MoveToAction action = Actions.action(MoveToAction.class); action.setPosition(x, y); action.setDuration(duration); action.setInterpolation(Interpolation.bounceOut); actor.addAction(action); (I ...


2

Google's APIs return JSON data. The format of that is described by the API documentation (for example, the format of the leaderboard data is here). You are correct that parsing it yourself would be involved. However, the good news is that there are already several APIs that will parse JSON into more-friendly data structures your code can consume. ...


2

The Chromium-based WebView causing this issue was eventually updated in KitKat version 4.4.3/4.4.4 in mid 2014, but that is cold comfort considering some vendors have made some seemingly arbitrary decisions about which of their phones got the update and which did not. Samsung Galaxy S4, for instance, is still trapped at 4.4.2. Follow the advice given by ...


1

The goal of sprite sheets is to reduce the number of texture bindings. As you probably need to bind different textures (other than your animations) during a single frame you'll always have at least one texture bind to select one of the spritesheets back on the next frame. Whichever texture your bind on the next frame will have the same penalty as the data ...


1

What makes you think this is the shader code that is slow ? In most machines nowadays, and especially mobile devices, the bottlenecks are not these purely calculation-fed (ALU loaded) shaders, but memory bandwidth. Memory bandwidth is used by framebuffers being fed to shaders as textures, or by the ROPs writing to the render target. Especially bad when ...


1

If the circles never need to move independently, you can make one body. See here for an example of a hexagon body. I've extracted the relavent bits and pasted them here: import static org.anddev.andengine.extension.physics.box2d.util.constants.PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT; import com.badlogic.gdx.math.Vector2; import ...


1

If you prefer using an external file to hold save information and it is in a place that would be tamper-able by users you may want to read up on how encryption works and use that to prevent anyone from being able to make meaningful changes to the file. Something like a Feistel Cipher should be a good starting point and would be sufficient to stop someone ...


1

I dislike Google's stuff on Android due to their apk Google Services which eats battery and RAM, updates itself and who knows what else... so that ticks off Google Play from my list of apk sources. I'm using Amazon App store, SlideME store, Aptoide and such, and there is actually a lot of users doing the same, so uploading on one of those could be an option ...


1

There is no option about dp in cocos2dx and in fact we don't need it. But cocos2D-x 2.x and 3.x have very easy solution for multi-resolution problem ( either iDevices or Android devices) As you saw in Multi-resolution support document. In fact you just need to set your DesignResolution and then just imagine your target device will has this resolution. If ...



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