English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 26 May 2018, 14:27   #1
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Tools for creating level maps

Hi All,

Back in the day I used to use a map editor called TUME (The Universal Map Editor), but it hasn't been updated since 2000 and the compatibility is stuffed.

Are there any good mapping tools that would do the same thing for creating large map areas with object mapping and event stuff?

Happy if it runs on either Windows or Amiga.

Any help appreciated.

Geezer
mcgeezer is offline  
Old 26 May 2018, 14:34   #2
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by mcgeezer View Post
Hi All,

Back in the day I used to use a map editor called TUME (The Universal Map Editor), but it hasn't been updated since 2000 and the compatibility is stuffed.

Are there any good mapping tools that would do the same thing for creating large map areas with object mapping and event stuff?

Happy if it runs on either Windows or Amiga.

Any help appreciated.

Geezer
Check out Tiled
alpine9000 is offline  
Old 26 May 2018, 14:42   #3
OmegaMax
Knight Of The Kingdom
 
OmegaMax's Avatar
 
Join Date: Feb 2016
Location: It's a bald world!
Posts: 179
I use tiled for most retro development,done with tiled

[ Show youtube player ]
OmegaMax is offline  
Old 30 May 2018, 10:36   #4
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by OmegaMax View Post
I use tiled for most retro development,done with tiled

[ Show youtube player ]
Nice one, thanks for the info - looks really good so will give it a try.

Nice Python support too.
mcgeezer is offline  
Old 30 May 2018, 13:36   #5
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
I can also recommend TilEd. It does nearly everything you will ever need and allows custom properties for tiles and maps. We are using it for our current game development and even define all sprite animations and collision boxes with it.

The biggest pro is that it is open source and portable. It wasn't difficult to build a NetBSD version from source (depends on QT4).

What I am missing is a 90 deg. rotated map format, where the rows of a column are written, not the columns of a row. This is often useful for horizontally scrolling games.
phx is offline  
Old 30 May 2018, 14:52   #6
Bastich
Registered User
 
Bastich's Avatar
 
Join Date: Jul 2011
Location: UK
Posts: 341
Tiled is great. I am using it for my Iridium game. Add a load of layers do a bit of scaling (custom draw routine) and you can make some amazing parallax effects
Bastich is offline  
Old 30 May 2018, 18:58   #7
Shatterhand
Warhasneverbeensomuchfun
 
Shatterhand's Avatar
 
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
How do you export a tiled file to use with an Amiga project? I am curious now. I was going to write a map editor at some point in Blitz Basic for my future projects.... I wonder if could use Tiled instead.
Shatterhand is offline  
Old 30 May 2018, 19:03   #8
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by Shatterhand View Post
How do you export a tiled file to use with an Amiga project? I am curious now. I was going to write a map editor at some point in Blitz Basic for my future projects.... I wonder if could use Tiled instead.
There’s a python example showing how to export the maps.

Very useful tool this. No need to write a map editor.

With a bit of work i can even import arcade tiles and maps.
mcgeezer is offline  
Old 30 May 2018, 20:51   #9
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by Shatterhand View Post
How do you export a tiled file to use with an Amiga project?
Usually an Amiga game doesn't want to parse the XML files, which TilEd generates, for several reasons (too complex, files are unnecessarily large).

So I have written a small, portable C program which converts the XML output into the native map and animation formats of my game. You can do the same with any language you are most comfortable with. And when using Makefiles this is just another part of the automatic build process.
phx is offline  
Old 30 May 2018, 22:48   #10
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
While we are on tiled...I've played with it very little, but this (altered example) of plugin outputs assembler (and not binary) format.

@phx If you change the y/x order at loops, you'll probably can make it saving columns first

Code:
from tiled import *

class Amiasm(Plugin):
    @classmethod
    def nameFilter(cls):
        return "Amiga assembly files (*.avasm)"

    @classmethod
    def shortName(cls):
        return "amiasm"

    @classmethod
    def write(cls, tileMap, fileName):
        with open(fileName, 'w') as fileHandle:
            level = 0
            firstTime=1
            for i in range(tileMap.layerCount()):
                if isTileLayerAt(tileMap, i):
                    tileLayer = tileLayerAt(tileMap, i)
                    if firstTime==1:
                        firstTime = 0
                        line = ';\tMapSize: '+str(tileLayer.width())+'x'+str(tileLayer.height())+'(='+str(tileLayer.width()*tileLayer.height())+')'
                        print >>fileHandle, line
                    line = ';\tStart of level '+str(level)
                    print >>fileHandle, line
                    line =''
                    for y in range(tileLayer.height()):
                        tiles = []
                        for x in range(tileLayer.width()):
                            if tileLayer.cellAt(x, y).tile() != None:
                                tiles.append(str(tileLayer.cellAt(x, y).tile().id()))
                            else:
                                tiles.append(str(-1))
                        line = ','.join(tiles)
                        line = '\tdc.b '+line
                        if y == tileLayer.height() - 1:
                            line += '\n;\tEnd of level '+str(level)+'\n'
                            level += 1
                        #else:
                        #    line += ','
                        print >>fileHandle, line

        return True
Save it like ~/.tiled/amiasm.py
alkis is offline  
Old 31 May 2018, 19:06   #11
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Wow! Those Python plugins are really a powerful extension to Tiled!

I did some Python code before (mainly for web pages), but I always prefer C when I have the choice. Indeed my converter does the mentioned y/x translation for the game.

(And my internal map format is not just tile-numbers as bytes, but I save the map as words, with some more bits for extra information (tile is solid, tile-type, animations ,etc.)).
phx is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
"Level progression maps" - Attempt at a collection Cherno Retrogaming General Discussion 17 27 November 2015 06:41
Great Scott! Back to the Future 2 Level Maps CodyJarrett HOL news 3 21 October 2015 16:59
Jurassic Park - possible to 'rip' level maps from the game? laffer HOL data problems 77 22 September 2013 18:28
Last Ninja 3 Amiga level maps & solution laffer support.Games 1 13 January 2011 19:36
Creating a Level 7 interrupt file for UAE redblade support.WinUAE 2 28 August 2005 23:49

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:28.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.13248 seconds with 15 queries