Civilization Type Map ...

BlitzMax Forums/BlitzMax Programming/Civilization Type Map ...

mic_pringle(Posted 2008) [#1]
Hi,

Could someone please point me in the right direction on how to create a Civilization type map ?

What I mean by this is where the map is much larger than the screen, and you can move around the map by mouse clicking and dragging, similar to how Google maps works I suppose ?

Also, is it possible to implement some level of zooming with this ?

(I'm a newbie to BlitzMax so all/any help will be greatly appreciated)

Thanks

-Mic


tonyg(Posted 2008) [#2]
Look for a map editor or tilemap editor : Mappy, Tilestudio, WorldArtist, UME, FishEd.
or
Create your own : 2D Tile map engine
How to use tiles


Hotshot2005(Posted 2008) [#3]
with 2D Tile map engine...you can create own Gaunlet :)


jtfrench(Posted 2008) [#4]
Not exactly sure if you just want to create a map for a pre-existing system/renderer (in which case just using the tools above is fine), or if you're actually writing a game/app of some sort that needs to render its own Civilization-style maps.

In case of the latter, learning about 2D tile-based maps is definitely the way to go. Once you know how to blit tiles and smooth-scroll them, you've pretty much got the foundation of most 2D scrollers.

If you're really looking to emulate the look of Civilization, you then want to check out isometric rendering, which gives you the slanted, pseudo 3D look seen in the Diablo and SimCity games. You get the depth of a (fixed) 3D perspective, but the computational & conceptual complexity of regular ol' 2D side-scroller.

Don't even bother with isometric rendering though until you really feel comfortable with the typical top-down blitting approach, as doing it isometric is slightly trickier math-wise, and a lot harder in terms of producing graphics. I found for me personally that learning (and getting good at) the regular top-down approach made it not that much work to later do it isometrically (just a little extra in the "tile stitching" code).

hope that helps,


Taron(Posted 2008) [#5]
Although I'm all over getting some important answers here, I have to tell you that you're dealing with a fantastic exercise that could well help you far beyond just knowing how to deal with this specific thing, if you tried to figure it out yourself, seriously.

I've done almost exactly that for my first game, whereby it's almost an unconscious thing while you're playing it. I've made the background a scroller essentially, which has you move up into different levels of a tower. In principle it's truely the same thing you're looking for and it was a little bit of a pain to figure it out, but not too much. The boost of confidence that came with solving it was far greater and it only took a few hours. The game is still in development, though. "Taronoid"... I'm a little sidetracked by other needs that arose (sound!).

So, yeah, break your head over it a little more, rather than breaking it over figuring out what somebody else had done!

Challenges:
- replacement of tiles during smooth scrolling (sounds silly, but it's quite fascinatingly naughty).
- logic for data arrangement. How do you control your arrays, how to feed what from where to where and how to best prepare the layouts.

Once you've done it, it's pretty easy to do it again and to elaborate on it! But if you just jumped on some existing routines, you may well miss a great opportunity to learn something almost essential!