I am creating a multiplayer game in Unity and as with a lot of multiplayer games I want the user to have a top down view of both his own game map and the other players game map. I want the world to be in 3D and I'm having trouble figuring out how to get both players to see the same things due to different screen resolutions. I obviously don't mind - and kind of expect - that I will need some black bordering.
The first screen resolution issue comes when rendering the view to a texture, and then the second screen resolution issue comes when rendering the texture to the UI. This is currently blowing my mind.
Is this possible with Unity and what would be the best approach? Am I barking up the wrong tree by using render to texture at all?
EDIT:
For clarity. Probably best described as a top down split screen, something like the following image, apart from it will be making use of full 3D and be at a slight angle.
It sounds like you're trying to keep the game "fair", so one player with higher resolution settings doesn't have an advantage over the other.
If that's the case, and you're happy with black borders, you can probably just use a mask in front of the camera. As long as the mask is the same for both players, the resolution wouldn't make any difference other than quality.
Related
I am working on a text RPG game for Android, and would like to create some kind of an area map for the player's reference. I Googled it but was directed to Tiled. I am not trying to create a playable level map, just a basic map that the player can open to see areas explored so far for easier navigation. I would probably create these graphics myself using Fireworks.
The problem is a phone screen is only so big, and I need to somehow allow the player to swipe left/right/up/down to see all parts of the map. I guess on the biggest tablets perhaps the whole map would fit, but I need to support smaller resolutions as well.
So basically I think I need a way to display the map image in an activity (which I know how to do, duh), and allow the user to scroll around it because it will be way bigger than the screen.
I'm looking for an android 2d game engine, where you can create your game at the resolution you want, and the game will work the same on every phone, no matter the resolution, maybe by auto creating thoose black rectangles.
I was working with libGDX, but i could not find any ways to do that, just some viewport scalling methods, that will make the game graphics quality crappy.
I also used to work with the android sdk using surfaceview, and i had to code everything by a ratio, and also scale the bitmaps by a ratio, but i don't really think that that is a good way to do it.
Are there any android game engines that support every device resolutions?
You are asking for something you won't get. I doubt that there's a tool or engine released to the public that will automagically fix all resolutions possible to fit your needs. This is something that developers has to tackle, and it's a nice thing to handle independently.
Now when working in LibGdx, did you even try to use Texture filters? Linear filtering will smoothen your images when enlarged. They may get some blur but I've released a commercial game using this method.
All in all, i really think you should give it another shot. LibGdx will spare you a large amount of troubles and in my opinion; The request of yours ain't that hard to overtake.
In a game we're developing we need to animate a large sprite, of size 485x485 and the animation has about 30 frames. We have a problem animating such artifacts. I have tried some solutions as listed below, but unfortunately we haven't been able to come up with a solution yet.
Tiling
It looks like putting every frame in one big tile is not an option because:
The texture size needs to be a power of two, so it shows up as black on most devices
When I make the texture size a power of two, it becomes too big for most devices too handle
Recommended maximum texture size of AndEngine seems to be 1024x1024.
Seperate sprites
The other option is loading each texture, and thus each frame, seperately and putting it in a Sprite (as described here). This works quite well and toggling the visibility of each sprite at the right time causes the user to see the animation.
The problem with this method is that loading the whole animation takes quite some time. This is not visible when initially loading the game because of the loading screen, but later in the game the animation needs to be changed and the game needs then about 2-3 seconds to load. Putting a loading screen up is not an option.
Loading on seperate thread
I tried to put loading the textures in a seperate, newly created thread, but even while the thread loads the textures the drawing of the game seems to be paused.
Other options?
I don't know any option, and it appears no one else tried to animate a texture greater than 50x50 pixels because it is very difficult to find anyone with a similar case.
My question is: Is it even properly possible to animate large textures in AndEngine?
I think your problem is going to run up against device limitiations, not andengine limitations. Designing for mobile, there are few android devices that could run that.
However, you may be able to come up with an alternative solution using VertexShaders and FramentShaders. This si an important features of Andengine GLES2
Here is an article describing that approach:
http://code.zynga.com/2011/11/mesh-compression-in-dream-zoo/
I am looking at making a simple game. Without giving out the entire story, I need to draw two pieces of fruit (with arms and legs), who do different movements. They can do a few different actions (less than 5) and they also react to each others actions.
I'd like it to look simple. Very 2D, kids sort of graphics. Maybe shaded, but nice bright happy colours.
Let's say an action is to 'throw ball'. I'd like to see a semi smooth arm action. Smooth if possible.
So, I found a tutorial, which used sprites, and a PNG with 3 different states of a person walking. So, very basic. And I was able to make it walk across the screen, leading each part of the PNG for each state, and iterating through that over and over again, while moving the image.
I got pretty happy with my progress, and would like to base my game on that sort of model - but ... is using sprites, and loading areas of the PNG to make the image move correct? My PNG would be large if I want maybe 20 images just to throw the ball.
But if that's the right way to go, then great! It seems you can go with OpenGL and all that, but that's for 3D graphics right? Using sprites, and a few PNG with images would be OK for perforamnce and all that?
OpenGL is a valid choice for 2D or 3D, you shouldn't have any performance issues.
It will work fine for your game, and would likely be much smoother than trying to use android animations, which are not hardware accelerated on Android 2.x.
After using AndEngine, e3roid for testing: I need to develop an application with a view where I can get about 60fps while printing about 40 sprites with transparency, and changing background color while playing music in background.
Because I need to have full control on screen rotations, and I don't see the point to use a BIG game engine (with physic engine, map loader...) for just this I was asking myself if I use a SurfaceView like told there:
http://developer.android.com/guide/topics/graphics/index.html
then in the "moon lander" SDK example will I be able to get a fluid program?
The answer to my question is yes!