Currently I have all of my sprites as individual images, 186 bitmaps in all but not all of them are used in each level. So, when a level is loading, only the sprites needed for that level are loaded into a hashmap (typically about 40-80). When scrolling over my tilemap, I simply reference these bitmaps in the hashmap to draw on the canvas
Initially this seemed like the simplest approach so it's what I went with. That said, is there any reason to consider using sprite sheets instead? If so, what would the advantages be? Using sprite sheets seems to be very popular from what I have gathered on the internet, but i'm not sure why, or why it would be better than what I am currently doing.
Thanks for any thoughts
The sprite sheet is used when you need to pack many small images into one file for to increase the speed of sending them through web. If you do not have problems with sending many small thingies, use it as you do - it is much more effective model for use.
Why they are in fashion? Because all web techs are in fashion. (a little exagerrating here :-)
If we'll look into the problem deeper, much depends on how do you realize that image map, where do you place them into (DB or files), how often to you reload them and many other details that could easily reverse the results of comparison. If you need really so deep research, simply do the comparative testing.
Related
So im currently using a map API to make a spacial rendering of squares representing an asset. Im wondering if i dont have a more efficient sollution because all the features on the map consumes performance. I need to render a lot of "squares" and it gets sometimes slow, what is the best aproach here ?
Can i use a game library to create like models and give them some information ? This way i only need to render some space in a "map" or space in my app.
I am trying to find approaches on stamping multiple textures on an object (3D .obj) Android. But, I am unable to do so, I have tried min3d but not sure if it is the right way to do it?
Is there anything available around which is similar to this? Or How Should I approach this UI? Below is the UI of model and how I want to stamp an "image"/texture on it, in addition I want to change the color of the model / add text on it.
In addition, I am planning to give touches on it, by stamping username/label/textview at the back of the model by using rotation through touches.
Please guide, which SDK should I use on Android, what is the best approach to do it.
What you want is basically just rendering textures on a given 3D mesh, as far as I can see. You could take multiple approaches for this: The simplest being just texturing the actual object, but a more complicated approach could involve rendering the object and "stamp"&text textures separately, giving the illusion of being overlayed (Not preferable though, as this will be difficult to manage correctly).
For texturing, you can either attempt rendering different textures after each other (First the background, then the stamp, then the text), or combining the different elements into one texture (pre-processing) before rendering.
I recommend having a look at the following posts and articles:
OpenGL ES (which can do everything you want to do, but has a decently steep learning curve)
Switch to a different 3D rendering engine if you find it too difficult to use your current one (Many options, although most are fullblown game engines)
Loading 3D objects and textures for OpenGL ES rendering
Check out the following git snippets and articles on texturing in min3d: this, this article, this article on object loading
You did not provide any code displaying your current attempts, so it is difficult to say what exactly your problem is, and how to solve it. If you edit your question you might receive more concrete solutions besides just links to potentially helpful resources.
Perhaps working with the OpenGL ES 2.0 api might be an option. Take a look this repo here called the Android 3D Model Viewer which makes use of it, it might help you out.
I am planning to make a android game using unity game engine. I would like to include different levels as we see in angry birds and some other games. My question is whether I have to build different scenes for each levels. I am completely new to this platform.
The answer is yes and no. It's possible to use just one scene and manage levels on your own, but this will add a lot of complexity, will be hard to manage and is generally not recommended. Though, this might be a viable option in some circumstances: for example, if you generate your levels procedurally.
That being said - you should use scenes to manage your levels, and Unity will take care of a lot of details, such as editing, loading, releasing unused assets when switching levels, etc, that otherwise you'd have to implement yourself.
You also shouldn't worry about scenes bloating your game, because they are quite small compared to game assets. They only contain information about what objects are in the scene and their properties. Also scenes include only references to assets (textures, meshes, sounds, prefabs, scripts and so on), and actual data is stored separately and shared between them.
If you have complex objects like you know a lot of variations of enemies and objects then it is good to make different scenes for different levels.
On the otherhand if your levels have a little changes like enemy behavior changes movement changes etc then u can easily do it in one scene by passing variables of different object.
But first approach is easy to use.
here is a example of a game with SECOND APPROACH :
https://play.google.com/store/apps/details?id=com.batterylowgames.killyourbloodyfriends&hl=en
Thank you :)
This may be a duplicate question, but none of the questions I found were exactly what I had in mind.
A friend and I want to create an App that lets the user play around with 3D objects on the screen. My friend is creating the objects and the animations in Blender or Maya. Therefore, the possible animations will be preset (not being programmatically animated). I have no experience in 3D programming and I naively suggested that he render the animations in Blender and send me all the frames. I would then play the appropriate animation by quickly running through all the frames. Each animation would leave the object in its original position so that it would be ready for the next animation.
Now that I've been thinking about it, that's a lot of images that I have to store in order to make this work. For every object, I would need to have all its frames for all of its animations, which maybe overkill.
Is there another way to play animations in an Android app? I considered just saving the animations as videos and playing them, but that would look horrible for our purpose.
I'd suggest min3D
Take a look at the animated troll example they have.
There are a lot of 3D libraries for Android. I would recommend AndEngine. Alternatively, you can just use the native OpenGL compatibility. Instead, ask him to send you the actual 3D files. Then you can use a library to render them.
EDIT: I just found this link. It'll probably help you. In my opinion, you should go through it and learn the whole package instead of just glancing a bit for this one little project; it'll help in the future.
Yes, there is a way you can manupulate the models you created in Blender. here is an example which uses Open GL in android to animate a 3D model created in Blender Check This Video Out. However it animates the object programatically, frame animation is indeed not worth if you wanna create animations that are long as you will run out of memory quick.
I'm working on an Android App to show images. One of the requisites is show gigapixel images.
I found problems with memory showing normal images (>=1Mb) but i think that i have solved it.
For gigapixel images, wich is the best way to manage this files (>=15Mb) and prevent OutOfMemory errors?
Anybody had worked with this types of images?
Anytime ive ever seen anything like this done (bearing in mind this is more when Ive seen super sized textures being applied in rendering engines) the images are brought in in tiles, much like the way google maps brings things in.
Based on the zoom level different images (mipmaps) are used, each having a different level of detail, and you only load the tiles necessary. This way (depending on what you need from the application) you can get away with loading small images but keeping a very high level of detail when zoomed in.
Android has memory limitations for App, normally about 48/64MB.
I'm the author of PPV360HD, a Gigapixel Pano Viewer for Android. I've used C++, the native layer doesn't have this constraints.