• Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Matthew Suttles
      I am looking for team members to potentially collaborate on the development of various game projects as well as assistant applications potentially, tabletop games for example.  At the moment, I am doing the entire production on my own, which as a result is incredibly slow.  Any contributions will of course be credited, and as far as experience or skills, if you're confident that you can accomplish the tasks, then I'm more than willing to allow you to try.
      The biggest need at the moment is some art skills.  I 'can' draw, but not well, which means that if I'm going for positive asthetics, that it's going to take all year.  In my 2D games, and 3D games, art has been the one hold up.  I'm currently trying to work around the art issue, using placeholders and the likes, but the result is that no matter how far I take the game in concept, it's still lightyears from completion.  The more I accomplish, the more art assets will be needed to utilize it.  I intend to work on my own skills still in this department, but that being said, people who just want to get their art into a product, or people who want to expand their portfolio, are more than welcome to take over the production of art assets.  If you only have experience in pixel art, that's fine, I have a pixel art project on-going.  If you only 3D model, that's fine too, I've had some success in concept art and the likes, and helpful friends as well. Are you more the writing type?  Me too, we can bounce ideas back and forth, help solidify the storyline and concepts as we go on into the development process. Business minded?  I'd love to learn more by seeing how you work.
      I will say that, while I am working to advance my skills in all facets of game development, though my primary focus is programming, that being said I will always welcome a comrade, or ally.  Your position as a team member will not be nullified if I become able to fulfill the role.  The fact of the matter is, a team can accomplish more.  I do work a LOT on these projects, but I do understand that if you are joining this team, you aren't doing so for the wealth, meaning you likely have responsibilities elsewhere.  So, do not hesitate to contact me. If you are a beginner, looking to learn by practice, then you are welcome to come as well. We will utilize the best suited works for any development done, but it will always be merit based, meaning that whether you're a beginner that just joined, or me, if yours is more suited to the situation, yours will be used, and you will be credited for it.  Students, hobbyists, or professionals, all welcome.  If you're a professional though, I'm going to wonder why you are joining, but you are still welcome to join!
      Samples are always welcome, but if you don't have any, or don't know what to submit to the diversity of my product description, then just contact me, elaborate on what you do, and I'll give you a subject.  One that will not be used unless you join the team, of that you have my word.
      Matthew Suttles,
      Seik Luceid#9656 on Discord, luceid.dezeir on Skype, or MatthewSuttles@Gmail.com
      You can also respond to this thread though response time may be slower.
    • By Damnwing0405
      I am looking for talents to form a team of making a strategy base action game. Talents I am currently looking for are : -
      (I) Unity programmer (mobile)
      (II) Game designer
      (III) 3d Artist
      (IV) SFX Artist
      The attachment is some game concept for the game. All the concept will be turn into 3d or card form. The game will be strategy game where the players can form their own team and control the units in the battle field real time to fight against each others.  If you are interested to know more details please pm me or send an email to damnwing0405@gmail.com

    • By bsudheer
      Leap Leap Leap! is a fast-paced, endless running game where you leap from rooftop to rooftop in a computer simulated world.

      This is a free run game and get excited by this fabulous computer simulated world of skyscrapers and surreal colors in parallax effect. On your way, collect cubes and revival points as many as you can to make a long run.

      Features of Leap Leap Leap:
      -Option of two themes: Black or White.
      -Simple one touch gameplay.
      -Attractive art.
      -Effective use of parallax.
      To Download the game:
      Playstore: https://play.google.com/store/apps/details?id=com.avakaigames.leap
      Appstore: https://itunes.apple.com/us/app/leap-leap-leap/id683764406?mt=8

    • By BillyGD

      Play Flick Football 3D @ https://gamejolt.com/games/flickfootball3d/326078
      Check out our Facebook page @ https://www.facebook.com/FlickFootball3D/
      Flick Football 3D is a turn based football game inspired by the table top classic 'Subbuteo'.
      The game is currently in very early Alpha development. There is still a lot to be done before the first proper release but I have decided to release this playable version to get as much feedback as possible.
      The only game mode currently available in this release is the 'Practice Mode' which gives you control of both teams. Either play against yourself to get used to how the game works or play against friends and family on the same computer!
      Planned Future Features Include:
      -Take control of your own custom team in the single player campaign.
      -Play in online leagues and tournaments against other players in the multiplayer mode.
      -Fully customisable stadiums to make you stand out from the rest of the players.
      -Improve your players stats and skills by playing matches and setting up training sessions.
      Flick Football 3D is available for Windows, Mac and Browser.
      Thank you for viewing my game, all feedback is greatly appreciated. I can be contacted at; BillyGDev@outlook.com
      'Flick Football 3D' is also the development name for the game and I haven't yet decided what the full release will be called, so if you have any ideas please drop me a message!
    • By drcrack
      It is a combination of fundamental RPG elements and challenging, session-based MOBA elements. Having features such as creating your unique build, customizing your outfit and preparing synergic team compositions with friends, players can brave dangerous adventures or merciless arena fights against deadly creatures and skilled players alike.

      This time with no grinding and no pay to win features.

      We're still looking for:
      1) 3D Character Artist
      2) 3D Environment Artist
      3) Animator
      4) Sound Designer
      5) VFX Artist

      Discord https://discord.gg/zXpY29V or drcrack#4575
  • Advertisement
  • Advertisement
Sign in to follow this  

Unity Creating a game for multiple devices (resolution and aspect ratio problem)

This topic is 1286 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts



i am going to create a new 2D game by using Unity and C#


however i want my game to be for pc/ios/andriod devices, but as you know every device has its own resolution and aspect ratio.


so what is the better way to do a game for all of the devices without corrupting the images


someone told me to work in the highest resolution and aspect ratio available and just shrink your images later.


but i dont know if thats work and i dont know what is the highest resolution and aspect ratio for ios/android.



Thank you very much.

Edited by Forenkazan

Share this post

Link to post
Share on other sites

Scaling artifacts are horrible.


I have tried many different ways of handling variable resolution and I'm sorry to say there is no magic bullet


You have to make a value judgement on every part of the game.


3D is not a problem, you just have to be careful about mipmap distances, other than that it's fine.


2D is an issue.


For some parts of the game I typically store several versions of each graphic and load the one that is closest to the dispay resolution, other parts I use scaling, some parts I use construction.


Construction is where you store a single graphic, but pull it apart in rendering. For example a GUI frame. Instead of just blitting the image onto the screen I would render the fill, then the edges, then the corners. This way you haven't scaled any graphics in the blit, the corner is say 16 by 16 in the bitmap and 16 by 16 on screen. However you have to do multiple blit's when you would normally do one.


Sorry, no easy solution.

Share this post

Link to post
Share on other sites

In 2D mode, Unity auto-scales so that the height is preserved (you don't have a say about it), and it clips by width to fit the aspect ratio.


I'd second your friend - start with a high resolution and a specific aspect ratio. Later on, you can hide certain elements, or move other elements you need to be at the edge. I've found that programming in Unity for different aspect ratios is not such a pain in the ass. I expected a lot worse :)


To make this work, create a big background - bigger than any resolution you'd normally support. Put at (0,0,0) - so that it is always centered. Make objects children of each other. Create a script that will position its GameObject at the proper edge (top|bottom, left|right) with random offset (x,y) when the scene is initialized (Start). You can use the main camera's aspect ratio (Camera.main.aspect) to determine the proper coordinates. Have in mind that origin in Unity is by default (0.5, 0.5) and that it uses Cartesian coordinates instead of the typical (0,0) for top-left corner of screen. Also, the default mapping is 100pixels=1 unit. Don't forget to set-up your orthographic camera for your default resolution (it's size is your default resolution's height / 200).


We use this and additional tricks to move objects proportionally (up to a point) for a second project, and it works quite well so far. The cool thing is that you can test it in the editor itself. The only problem with this approach (dynamic location by x based on aspect ratio) is that you need to run the game to see objects in their real position.

Share this post

Link to post
Share on other sites

In 2D mode, Unity auto-scales so that the height is preserved (you don't have a say about it), and it clips by width to fit the aspect ratio.



the game i am going to make is 2D, i made a  2D game before and unity didnt auto-scale any images/sprites for me.


is there an option for it ? or is it a feature for unity pro?

Share this post

Link to post
Share on other sites

Scaling probably isn't quite the correct term. First, you must develop for a specific resolution. Say, 1,280 × 720. Then you must set-up your orthographic camera's size in the editor. Since your development resolution is 720p, then the size is h/200 = 3.6.


If you develop for that resolution - that is - create textures and position them, not caring about resolution, the effect will be as follows:

  • Regardless of actual deployed screen size/resolution/aspect ratio, Unity will make sure that the y of your objects will remain as it looks in the editor
  • If the device's aspect ratio > the one you programmed against (>width), you will have extra space to the left and to the right
  • If the device's aspect ratio < the one you programmed against (<width), some things will be clipped to the left and to the right

This is why your background (and any parallax effects) must be a lot bigger than your target resolution (to cover bigger aspect ratio), and this is why you need a script to move objects (to the left or to the right). You can calculate how much based on Camera.ratio and Camera.size.

Share this post

Link to post
Share on other sites

another option is to use a virtual coordinate system API, say 10000x10000. all 2d drawing calls use the API. the API converts to hardware coordinates as needed, based on the current resolution. it also calls the appropriate graphics library routine, based on the underlying graphics engine used. sprites are as large as possible, and scaled down using high quality sampling. lower resolution versions may also be used, with the API automatically selecting the best available for scaling. but you still need to deal with widescreen vs non widescreen resolutions with letterboxing to get the intended original aspect ratio at all resolutions.  scaling down - not up, high quality scaling algo's, and multiple resolutions for source images (almost like mipmaps) help keep artifacts to a minimum. best of all, you can write all your 2d code to the API, then plug in any graphics engine at any resolution underneath it.

Share this post

Link to post
Share on other sites

For simple things like sprites, just create a series of them at different resolutions, choose the one larger than you need, use a high quality down-sampling filter to reduce to the correct size, then add a small amount of sharpening.


For textures that need to tile, do the same as above, except add a few pixels from adjacent tiles before you down-sample and sharpen. Then "cut out " the correct size you need: For example, say you have a series of tiles created at 64x64, 32x32 and 16x16, but you need one at 48x48 (64 / 1.333. = 48). Use the 64x64, add 4 pixels either side from adjacent tiles (or top/bottom) to make it 72 pixels wide, reduce by 1.333333 to 54x48 pixels , then chop of the extra the extra 3 pixels from each side. If you don't do this, the down-sampling or sharpening filters may leave visible borders at the edges.

Edited by mark ds

Share this post

Link to post
Share on other sites

For my 2D games on android, I support various screen size . I also supported various screen ratio once, but I decided to not support that from now, as it can be tedious to accomodate different screen layout.


Anyway, to support various screen size :

  • I generate one set of assets per screen definition (qHD, HD, FHD, QDHD). Note that i write screen definition instead of size because i will use the same screen definition for not so different screen sizes. e.g : 1024x600 will use qHD (960x540), as well as a qHD screen troncated because of the Android onscreen button bar (a case I had to deals with, very bad surprise).
  • In the program, I use the size of my elements for the used screen definition, and the reference size of the screen definition (e.g : qHD-->960x540), so that it's always adjusted to the screen.

Share this post

Link to post
Share on other sites

I don't intend to hijack this thread, but I have a similar question. Any responses are much appreciated, and hopefully it helps answer some of the questions OP has.


So I'm making a 2-D platformer that I want to have highly reminiscent of platformers from the 16-bit era, especially graphically. What I've done is created a number of rooms and sprites, which are composed of 16x16 pixel tiles. The issue is that people now-a-days are playing games on 1080p monitors, not the old-school small resolutions TV's of the 90's. What would be the best way to get the 16-bit feel on one of these monitors? I'm only using SDL as my API; I haven't explitly written anything for OpenGL yet. When I'm rendering, say, my character which is 2 tiles high and 1 tile wide (32x16 pixels), the SDL render function renders the character to be a given fraction of the total screen size that I've set. For example, if I want my character to be 1/16th of the screen width and the screen is 512 pixels wide, the character will be 32 pixels wide. This means that SDL has to upscale the sprite, which I've drawn to be 16 pixels wide, up to 32 pixels wide. SDL seems to do this, although there are distorting effects at certain screen sizes. For example, if I increase the screen to a certain size it no longer looks like the character is standing flush on the ground; there will be a small sliver of white background between my character and the floor. Any idea on how I should handle this?

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement