I plan to make a RTS game fro iphone

Discussion in 'iPhone/iPad Programming' started by specialfx, Apr 22, 2009.

  1. macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #1
    I plan to make a RTS game for the iphone. Lets say I have a 20000 * 30000 jpg image for a map. How to I view a subset of the image 320*400 which I put into a view in my iphone. Also how would I map no go areas for my battle units in this image?
     
  2. macrumors regular

    mrrish

    Joined:
    Feb 14, 2008
    #2
    youre barking up the wrong forum
     
  3. macrumors 68000

    Joined:
    Feb 12, 2008
    Location:
    Illinois
    #3
    This should go in iPhone Programming...

    And if you're asking what I think you're asking, then you will have a loooong way to go as I think you're simply asking how to view only a portion of the image which is a simple scroll view and no go areas as unit position checks against the background.
     
  4. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #4
    It so nice being a noob
     
  5. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #5
    I think you need to re-think the size of your map! That's a 600 Mega-pixel JPEG. If we assume that it compresses about as well as an average photo then you are looking at a 60Mb file or so, just for your map. You won't realistically be able to load the whole image into your app.
     
  6. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #6
    Ah, :(

    Well I wonder how games like red alert manage, or other RTS games for iphone work? I guess the image is zoomed into or something.
     
  7. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #7
    Multiple images that they load in and out of RAM as required most likely.
     
  8. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #8
    Clever logic, seems like a good idea.

    If I create the maps in photoshop I guess I could save the whole image as 10mb image and load in 700*700 chunks of the map/image and then zoom in to create the illusion of a 1400*1400 image which my units could trasverse.


    btw Red alert is the best :)
     
  9. macrumors member

    Joined:
    Dec 9, 2008
    #9
    While I don't do iPhone programming per say, I do programming in general. In a RTS, the map isn't one big image. What is actually happening is there is a tile set composed of a few small images which get repeated over and over and over again. Then, any additional features of the terrain are stored as separate entities with their own graphics data and overlaid on the repeated base map data. This way you get a number of reusable elements, across both your original map and additional maps. When you scroll around the map, the computer only has to keep your few small tiles and the additional object data loaded into memory, rather than a massive map file.

    Having said that, if you have to ask this question you have no business making an RTS. There are many programming challenges which are much more complicated than how to draw the map - that is probably the easiest thing you will end up doing. It's just going to get a lot harder from here (unit movement, AI, multiplayer networking, collision detection, etc)
     
  10. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #10
    I like the challenge though :)

    Your suggestions where very pleasant to read,thanks :)

    Super forum
     
  11. macrumors member

    Joined:
    Dec 9, 2008
    #11
    You're welcome and good luck - I just wanted to make sure you know what you're in for.
     
  12. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #12
    :)

    I know read alert very well from a users perspective. I seem to remember that a lot of the cliffs were very large and unique, so I'm not sure how easy that would be to overly onto a repeated image as the algorithm to generate the cliff terrain must be complex.
     
  13. macrumors 6502

    Joined:
    Mar 6, 2009
    #13
    good luck on the game.
     
  14. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #14
    I'll need to get a mini mac and iphone first :)
     
  15. macrumors 6502

    mccannmarc

    Joined:
    Aug 15, 2008
    Location:
    Manchester, UK
    #15
    The mountains and cliffs themselves are just tiled images too, they are nothing special they have just had an artist draw mountains and split it up into tiles. Tiling is very very very simple when you know how
     
  16. Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #16
    If you're starting out at that level, you don't even need an iPhone at first. Just sign up with the free iPhone Developer program and you can use the simulator of the SDK to see how your app runs, for now.
     
  17. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #17
    got a link that will help create these terrain cliffs or the like
     
  18. macrumors member

    Joined:
    Aug 21, 2008
    #18
    Some things to keep in mind.

    Largest texture allowed on the iPhone is 1024x1024.
    Use no more than 24mb of RAM. Anything above it could crash due to out of memory error.
    Use PVR compression to reduce memory size, but textures must be in powers of 2.
    Use texture atlases to reduce memory requirement.


    Map out your memory requirements before starting out. The iPhone has very limited resources.

    Good luck.
     
  19. macrumors 6502

    mccannmarc

    Joined:
    Aug 15, 2008
    Location:
    Manchester, UK
    #19
    Just to add, take advantage of the fact that tiling makes it very easy to do clipping, only load the tiles that are visible (+ an area around if you are going to allow fast movement). This will get a bit more complex if you want the map to scroll smoothly however
     
  20. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #20
    Sounds like you've done this type of game before :)
     
  21. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #21
    Or looked at how Google maps works online...
     
  22. macrumors 6502

    mccannmarc

    Joined:
    Aug 15, 2008
    Location:
    Manchester, UK
    #22
    Both lol

    I used to make a lot of tile based games when I first got into graphics programming and found it a very good place to start, I've never made an RTS game but a tile engine is a tile engine no matter what its purpose!
     
  23. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #23
    I would love to install leopard in windows vmware software like virtualbox
    What is a modified leopard disk as found here, can you get legal versions?

    http://www.modmyi.com/forums/iphone...ssion/194881-official-iphone-sdk-windows.html
     
  24. macrumors 6502a

    Joined:
    Sep 3, 2005
    Location:
    Cramlington, UK
    #24
    I guess there are a load of different ways to implement a large map, but if I were to tackle it I think I would go for a layered approach. For example, I would have 1 large texture for the map background and then another texture for composing the map detail in layers above it. That way I'd be getting the benefit of a free-form/designed background and the reusability/efficient memory usage of tiles.

    For the background I would also use texture scaling, for example a 1024x1024 texture could be draw with a scale factor of 2 or even more to give a map 4 times the area. You would be able to get away with this visually so long as your background didn't have any sharp detail in it - any details goes in the tile layer above.

    The tile layer would be able to cover the entire map because it would be sparse, ie there would be areas on the map that didn't have detail and so would reuse an empty tile.

    If you go to 2 layers or more of tiles, you could design some reusable tiles, eg rocks, trees etc, and then populate the map with these. The combination of a background and tile layers would give you a lot flexibility.

    Another benefit of using layers is that there will be a natural drawing order for objects, so depending on the perspective you'll be using, you could have trees etc partially obscuring characters moving around etc.

    ß e n
     
  25. thread starter macrumors newbie

    Joined:
    Apr 22, 2009
    Location:
    London
    #25
    Very helpful thanks.

    If you remember the AI in red alert, could you give me some tips in how to get mines to work similarly?
     

Share This Page