Looks amazing!
I'd vote for integration with tiled - https://www.mapeditor.org/
There are already plugins for Tiled -> Godot so supporting one will support the other.
Congrats for finshing your product, and a really great demo video.
I think starting with a level editor would be a better choice.
Implementing it shouldn't take you long, plus you'll enjoy the benefits of flexibility,level view and much more from the start.
I recommend Tiled, it exports to different formats,very easy to use and has a lot of tutorials on how to read the exported files.
Nothing new really, just writing this engine on top of SFML (which I definitely recommend btw).
I'm also using Tiled for the maps for now, though I'm thinking about building my own map editor that can handle the world stitching automatically for me. I currently have to add Level properties to each level to specify which levels surround it.. I'd like to remove this overhead but Tiled does the job for now so I can focus on gameplay mechanics
Finally, I'm using jsoncpp to parse Tiled's maps
Hey thanks! It was built natively for iOS using Objective-C with Cocos2d for the animation framework backed by Firebase for the database and analytics. I used Tiled for the maps, but ended up abandoning the actual "tile" aspect for the most part and just placing objects freely. Going forward I will be using Unity for new games though.
Good luck with your RPG Maker game though! It should be much easier to use. I hope you have fun with it, I think that's the most important part.
No, there's not a clear cut solution 'to make a metroidvania map': You need an engine to run it in, and that engine needs to accept a particular kind of format of which the map/level is built.
This won't get you playing directly, but you can make maps with 'Tiled'
That depends entirely on your game's needs. Lots of games use the Tiled map editor (https://www.mapeditor.org/) and its file format because it's widely supported and extensible. You can't stop players from level editing, you can only make it harder by, for example, using user-unfriendly binary formats and only supporting crypto-signed level files. For most games, that's way overkill and a waste of developer time.
If you wanna make browser games and learn JavaScript I highly recommend PhaserJS: https://phaser.io
If you still wanna learn Java doing games (which is possible to export even to browsers) I would say to you go with LibGDX: https://libgdx.badlogicgames.com
Both aren't engines, but frameworks so you won't have a rich UI besides your code Editor or tools like Tiled (https://www.mapeditor.org), I've made small games in each framework they are quite realible and have a good community ecosystem (obviously nothing compared to Unity or Unreal).
Edit: typo
I'm not sure what the best method would be. The levels are generated from tmx
files and you could therefore load them in Tiled and screenshot from there, although that won't load in enemies, NPCs or even buildings sometimes depending on how the level was created.
I think my strategy would be to open up the game and screenshot as I go and then stitch those screenshots into a larger screenshot and edit out the HUD. Messy, but that's the best recommendation I think I have. I can help out a little if you need it.
I use Tiled. Tiled has a CSV-based format. You can write a function in C++ that imports your Tiled level into the game. There are libraries that make this easier.
I think a lot of people have this problem and end up either building their own tools or extending others. The best out of the box tool I've used is Tiled: https://www.mapeditor.org/
Really easy to handle sorting and placement of images. The custom polygons are great for hitboxes too. Only problem is that you have to parse the XML it spits out. There are some unity packages for that though: https://github.com/Seanba/SuperTiled2Unity
For tile maps i have typically used Tiled
For sprites & animation it depends. I've been using Pixen for pixel art & frame by frame animation. Otherwise i've used vector art apps like inkscape, graphic and more recently affinity designer. I have done frame by frame animation by grouping layers together in those kinds of programs, but i find it a huge pain. I think going forward I'm going to try to either use built in animation in engines, or leverage something like Spine.
Here's a good list of tools available as well: https://www.reddit.com/r/gamedev/comments/18e38t/pocketknives_for_game_developers/
I would recommend looking at Unity's (newish) Tilemap system. It was designed for this problem. https://docs.unity3d.com/Manual/Tilemap.html
There are many ways to do this. Most common I see is people generate a flat 3rd mesh at runtime use a texture atlas for all the tiles.
Previous to Unity's Tilemap, I would recommend Tiled (https://www.mapeditor.org/) for a tile editor. There are several Unity plugins that read Tiled data into Unity.
The only technique that I would actively avoid is having an individual mesh or game object for each tile. This will not scale well.
Edit: I just noticed you specified you wanted 3d not 2d. Sorry about that. In that case I would recommend building large chunks in a 3d modeling program and export entire rooms at a time (or chunks of rooms if you are generating rooms dynamically). Be careful to mark as many things that can be as static, and share materials where possible to enable batching. Set dressing can be individual prefabs without too much problems.
If I really need a custom map I'm using tiled (https://www.mapeditor.org/) with shadowplans' resources (https://www.drivethrurpg.com/m/product/181136). Tiled is free and quite customizable and shadowplans' maps and tiles graphically match my imagination.
As for the city, I decided to take the city we live in and transform it into how I think Shadowrun timeline would treat it. I feel that there is an added value when players can remember the streets their characters are riding through instead of pointing finger on the map.
If I was using Monogame, I'd make the level editor using what I've already built for the game in Monogame. But, if existing software like Tiled already does what you need, you should use that.
Looks like something like this might be a good starting point? It's not actually an FFT editor, but it wouldn't be terribly hard to replicate the game's tilesets in the program, and then you could do your own thing from there. Just on my break at work so I can't dig too deep, but there does seem to be a few options for iso map editors.
Still, you're right in that it would be nice to have a plugin for stuff like roll20 or fantasy grounds which let you do maps more easily and integrated them as actual play-maps instead of background images. Would also be killer if you could then switch between different perspective styles, like jump between top-down, isometric, or side-on views of the same field for different purposes, but now I'm really stretching...
You may need more, but at least make sure you're using an external level editor (scene editor / UI editor). Tiled (www.mapeditor.org ) is great for 2D levels, and can also be used for some basic UI design (for fixed aspect ratio at least). It creates xml files with information about tile layers, game object layers and image layers, and every layer and object can have a list of custom properties.
For 3D you need to look a bit further. (I know you can read Unity scenes with external tools, but there are probably more suitable tools available.)
You can use Tiled (https://www.mapeditor.org/) and then import the background + foreground from it. I think there is a tutorial on the gathertown youtube channel.
But there was just a few days ago a big update to the map editor, it is much more easy to use now.
You might want to ask the developers how they make the maps for their game. They likely have some map editor. Or perhaps they are using a stock tilemap editor like Tiled. For which they might or might not have a self-made program or plugin to convert it into the file format of their game.
There's a sweet tool called Tiled that's free and works wonderfully just for this. It cuts a tile sheet and numbers the tiles. You can then build maps and output a csv file with the tile placement numbers. You'd just have to change your game to read in csv files and index tiles by number instead of letters.
I don't use gamemaker but for my game I use Tiled Map Editor. You pretty much just paint tiles into the editor, save it, then load the map in your game and it will place tiles where they need to be.
Again I don't use gamemaker but in my game's framework when I create a sprite I have to specifically mention that it is animated and what the height/width of a single frame is.
I imagine there are some gamemaker devs here but there also seems to be a pretty active gamemaker reddit that you might try with chats like irc/discord.
> better option
​
as in what? do you want a premade tile editor? https://www.mapeditor.org/
​
if you want to code your own there isnt anything better on the planet.
Your map looks fine; there's nothing wrong with a basic schematic drawing like that. It can be fun to add in all the goodies you can get in a purpose-made mapping app, but once the players start in, they'll be thinking about the adventure, not the finer details of dungeon cartography. That said, I'm partial to the Tiled map editor, at https://www.mapeditor.org/, and ProDnD, mentioned by infinitum3d.
There's now an alpha version 3.
If you would like, try creating your own maps with the Tiled Map Editor. See the example here.
Saw it before. Not sure if/what I would use it for. You do not seem to have done much other than to clone their repo or what did you change? (I have used Tiled for doing hex maps. Making a hex tileset for it based on graphics similar to what that tool has would be useful. I might try that sometime.)
Hire more artists. Its a lot of work and there are not many shortcuts.
​
https://www.mapeditor.org this is a great tool to make backgrounds and levels. good luck
You would basically want to use some editor to make levels. I personally use Tiled to make my maps. It has a pretty simple XML format it stores data to and I have made a loader for it that can load everything. Basically, tileset, images, objects, animations etc...
It's super easy to work with. For example, I'm now working at the parallax scrolling and after I finish making layers in gimp, I save them in *.png, update changes to a layer in Tiled and just like that, they are visible in the program.
I used tiled map editor it can open the dungeon's .json files. Once you get used to it, it's really easy to make your own dungeon worlds. I put some more resources on the workshop page if you're interested!
Player side: I wrote my own software for tracking and dealing with the more tedious book keeping aspects. It looks like this. It automates or abstracts away as much as possible so both DM and player can focus more on the game and less on keeping track of stuff. (Money tracking, inventory, buying/selling, downtime tasks like crafting, etc.)
DM side: I mostly keep everything organized in OpenOffice documents and folders. I make my maps in Tiled and import them to Roll20. I also keep a physical notebook that I take on the fly notes on because I find quickly writing something down less distracting than digital alternatives. I use TokenTool for making tokens.
Usually you would use something called a tile atlas or similar and use a tool that generates them.
This CocosSharp tutorial might help you understanding how it all works.
https://docs.microsoft.com/en-us/xamarin/graphics-games/cocossharp/tiled
It makes use of Tiled.
One thing you can do is layout and create your tile maps in Tiled and import them in Godot with the godot-tiled-importer plugin.
Nope, they are completely different engines. For that you would probably have to use something like Tiled if you want to stick to 2d. Don't know any 3d editors though, can't help you on that.
This is central map exported to https://www.mapeditor.org/ format, straight from the .lvl file. I almost fully reversed the format. The only missing part here is foreground only sprites such as the drapes in front of the shop doors (I need to do further processing to allow tiled to properly show them).
Interesting that only the last answer here mentions Tiled... That's the best answer (www.mapeditor.org). If you want you can create diagrams pretty much like your drawing, but that can also be loaded in a game engine. You can also use sprite sheets to make much nicer looking maps with the same effort. Use that (or a similar tool), or use actual pen & paper, but I don't think in-between tools like Paint are very useful...
If you want a level editor for phaser I know tiled works - https://www.mapeditor.org/
You can make your levels in that and then import the json files into phaser. You're still going to have to do most of the code in a text editor like vscode though.
Wow I love this, the art looks great and in general it looks super polished and smooth. Awesome job!
I've also fallen in love with love2d over the past year; coming from other larger engines, it just feels so fast to develop in, especially once you've got some general game systems code written. What are you using for your level editing? If you haven't tried it already, I personally use Tiled and it works great with Love2d.
Hey there.
I built a couple of level editors for some of my games. Most of them were for me or developer colleagues though. For 2D games there are pretty cool sprite editors like the Tiled Editor.
But even for more sophisticated systems you don't necessarily need access to the full engine to support custom levels.
The keyword here is Serialization. I personally prefer JSON, but as another comment stated, some prefer XML, or just plain text. In these files you save the objects with the needed data. An example of an entry from a level from the game I'm currently working on (It's a VR game):
`{
"ElementType": "Magazine",
"ElementData": {
"keys": [
"position",
"rotation",
"scale",
"bulletcount"
],
"values": [
"(17.4092, 4.7980, 5.1133)",
"(0.0000, 0.7071, 0.0000, -0.7071)",
"(1.0000, 1.0000, 1.0000)",
"7"
]
}
}`
So it's a matter of saving (= "serializing") and reimporting (= "deserializing") the levels in a file.
So to answer your question: It helps a ton if you already know at the start of a project if a level editor is needed, you can design the code architecture in a better way. Depending on how clean the code architecture is, you can of course add an editor later on as well. And I'm not sure I understood the part with "has every object a tag that tells it how to interact with doors". The interaction between objects is already defined? If you mean e.g. a button that opens a door: This connection has to be defined by the map creator, and also saved in the file.
I hope to have answered some of your questions, if you have any more questions I'm happy to answer them :)
It's square brackets ] [ to rotate, or shift and square brackets to flip.
If you want to have an arbitrarily-sized image, you can create a Sprite object, and then place it inside the Grid (but outside the Tilemap) so that it snaps to a tile position, or outside the Grid if you just want to position it freely. Sprites use the same Sorting Layer system as Tilemaps.
If you want, there's nothing to stop you from creating larger tiles that "overflow" their square, but the normal way to do something like a lamppost would be to just place it as multiple tiles (you can select and place more than one at a time). There's no way to place tiles freely in a Grid/Tilemap, the whole point of a Tilemap is to stop you from doing that. You can just place things freely without the Tilemap.
Making your tiles 21x21 is a little odd, normally they would be power of two like 16 or 32, basically for historical reasons at this point, but if that's what you prefer than it doesn't really make any difference. A lot of people are going to tell you your tiles are the wrong size, though.
Unity's Tilemap editing is a bit awkward in general. I prefer to import files from Tiled with the excellent SuperTiled2Unity Unity extension.
Because that's the default output from the map editor I'm using (Tiled).
I wrote a script that reads the json and turns it into a TileMap. It works well; it just doesn't export.
Those are all incredible sites for free assets. Check out Tiled too if you need to create maps. I wish I'd known about these things years ago.
If you do need to commission something (like a game logo for example), I've had good luck on Fiverr finding excellent artists working for cheap.
How do you handle de/activating the AI, spawning monsters, etc.?
I think what I did in a tiny metroidvania sample game that I made in Unity was to use some sort of bounds objects to divide the map up into rooms and then triggered an onEnterBounds and onExitBounds.
onEnterBounds I would spawn monsters at their start positions. onExitBounds I would destroy any objects that shouldn't be in the room anymore.
Is that about what you're doing to handle it or are you doing something more elegant?
Also, how are you making the level itself? I used Tiled to make a map of tiles and then exported it and used some tool (I forget exactle) to make it into a single object in unity complete with collisions imported from Tiled.
I'm using Phaser 3 as the game engine. Writing it in Typescript. Phaser 3 is HTML5 based, so I'm using NW.js to package it into a desktop application. Using NW.js also allows me to bypass the render throttling that Chromium does by default to get a smooth 60fps.
The multiplayer is via WebRTC.
I used Gimp/Inkscape for asset creation/editing (most of the art was not done by me), and Tiled for level editing. And Kdenlive for marketing videos :)
While it's not strictly a mapmaker, I've been using Tiled ( Tiled Map Editor | A flexible level editor ) a lot lately. I draw my tiles, scan them, and put them on here. Really helps me to stick stuff together.
Don't a lot of people use tiled with an import/conversion script for this? Honestly curious, because the last couple of projects I did used procedural generation, and I didn't realize how much work I'd dodged. :)
Are you sure that the tool doesn't support export to another image format? Otherwise I would recommend TileEd, its free, and can export to PNG. For sprites, you could make by with tools lile MS Paint, if you need layers, you have free alternatives like Gimp, and various online sprite editors like Piskel
Easiest way to get started is making a 2D RPG is RPG Maker
Buy the program, learn the tools, use the assets, and save yourself time.
For separate Sprite creation software there is: Pro Motion NG and Tiled
Flare does not have any special tools or interface for creating games. All the work is done with INI-style text files in your text editor of choice. For creating maps, we do use the external tool, Tiled. There's more information about modding on the wiki.
"Easy" is a relative term, so this might be a bit daunting. Probably the best way to learn is to poke around the existing game data. While you already have Flare installed, I would recommend getting the whole flare-game repository, which includes the "art_src" and "tiled" directories. The former is the Blender files for many of our art assets. The latter is the source files for maps created with Tiled.
You're going to want a mix of programs. First, grab Tiled. It's free. You can grab Fire Emblem tilesets and sprite sheets at various places around the web, not sure how legal it is though so I won't link any specific ones. Regardless, you can also buy tilesets and assets in a similar style on Itch and such, so just find the assets you like and build your map with Tiled.
Then my personal recommendation for actually running the game is Foundry VTT. It's a one-time $50 purchase for the DM, and your players can connect to your game for free using a web browser (Chrome works best). Foundry will allow you to set a grid size and shape on your map, set up multiple "scenes" for different maps, place tokens, implement auto-calculated fog of war, and stream audio to your players from your hard drive in addition to the visuals so you can have fun FE battle music if you want.
I found an answer to the tile set! ( By the way anyone editing tile sets USE Tiled: @ https://www.mapeditor.org/ - It has saved me hours of work. )
I have a tile set that is 8x1024 tiles. ( Tiles, NOT pixels ) I found that this is the absolute maximum that RPG XP will allow, before it glitches in the database editor / mapping editor. It doesn't crash, but rather repeat the last tiles in saw or in some cases starts from the beginning. Either way, you can't select anything after the 1024th tile. I have yet to test how Essentials will handle this with terrain tagging inside the game.
My problem I have an i7-10750H with 12 Cores, Which is overkill for RPGXP. I have 0 issues using my tile set that is 8x1024. But I am wondering how it will affect lower-end machines.
I am just looking for a happy medium for map sizes. Thundaga mentioned not to go over 100x100's due to lag in one of his earliest make a pokemon game videos. Not sure how much v18 has cleaned this up or not. It's not really that big of a deal with the seamless map transitions ( which is SUCH a kick in the pants to RPG MZ ) I'm thinking I will stick to 64x64, which would be 56x56 playable space.
Mal editor for LibGDX: https://www.mapeditor.org/
Tutorials for making games with LibGDX: https://www.youtube.com/playlist?list=PLTKHCDn5RKK-seXZveiSQuSXkLq3wBYn1
https://www.youtube.com/playlist?list=PLTKHCDn5RKK-8lZmjZoG4rFywN_SLbZR8
I used: https://www.mapeditor.org/
If you google "Pokémon Tileset" You can find a pallet that are quite good ranging from gen 2-4 styles. Probably best to look up tutorials for the app itself
A framework for that kind of control can't be achieved.
You don't just make an engine that supports different tile based games. You can't even call it a framework.
You could maybe build your own script engine (and people did it) But you would then have to port ever game you mentioned to this language.
What you could do instead is build a 2D framework (you got that right) that could load existing 2D Map files build by some 2D level editor such as Tiled and present them on screen.
With map transitions on triggers an user movement on maps. Complete with collision detection on walls and roof overlay.
Löve is incredibly flexible. There are people experimenting with SSAO for their 3D environment inside of Löve. Not that 3D rendering or lighting or anything of the sorts is included but you are given all the necessary tools to do very advanced things.
The most used map editor is "Tiled". Though a lot of people write their own map formats, save files or image map parsers as well depending on the complexity of the game.
Delaford is my game written completely in JavaScript using Vue.js, Node.js (for multiplayer), HTML5 Canvas with NO framework. Completely self-written engine that takes the best of JavaScript and easy enough for newbies to veterans to digest.
It's on GitHub completely free for you to peruse and look over and download! It has a user profile system backed by PHP (Laravel) that is OPTIONAL. You can just download the game and click on 'GUEST ACCOUNT' for the game to load a guest profile.
You can download the Tiled map editor to edit the maps and see how to change them.
I tried replicating the feel of (Old school) RuneScape and Ultima online...
For sure. https://www.mapeditor.org/ is wonderful and for "name your own price". It makes it so much easier to design levels using drag and drop to align walls and such. I highly recommend throwing them a few bucks if you enjoy it.
Tiled is a very popular (and free) application for editing tile maps, and it has hex support as well. Its file format is almost like a de facto standard for digital games. Pretty much every game engine you can find can import it. But I have also used Tiled for just making maps to print (using higher resolution tiles). It would be a good tool for loading a map like that and adding landmarks and text and other details.
I've been using Tiled to make my Background, I think each scene is made of 8x8pixel squares so 20x18 of those?... I set it up once and forgot about it haha
Here is the video I used to set it up https://youtu.be/hNXlV2tt7eE
I had a scene that was 18x31 once and had the same issue, added another square and it resolved itself
In the DR discord there are a loot of people sharing advice so they helped a lot, but a lot I found out on my own. For map I am using Tiled mapeditor https://www.mapeditor.org/, its very user friendly and creates a json with the index location of the tiles.
The best part was figuring out the camera and viewport, my world is around 3k tiles, but with a camera and viewport I actually am zoomed in to the player, I can zoom out and track him, the camera is not stick and I use linear interpolation to follow him smoothly. The red boxes are collision boxes, I have them to not do per tile calculations since that would be less efficient and more error prone. I am glad to talk more If you want to. About the time, I am short on time to, but the sense of discovery is what keeps me going, figuring the camera, collision resolution, gravity and sprite animation has been a journy.
Find a tile set you like (try free tiles from https://itch.io/game-assets/free/tag-16-bit or https://opengameart.org/art-search-advanced?keys=tiles for example), then load it into a map editor called Tiled (https://www.mapeditor.org/). It's primarily for video games, but it's free, easy to use, and can export to PNG as well as formats such as JSON. You can add text and other marker boxes in the map editor, and choose if you want them visible in the final image or not.
You can also use tiles ripped from the games you like, of course, but make sure you don't use those for any commercial projects.
I used Tiled Map Editor and resources I pulled from some other posts right on this subreddit. https://www.mapeditor.org/
It's really easy and intuitive, this map was put together in maybe 3 or 4 hours.
Well Lua (any many if not all programming languages) does not really know how to interpret a file - automagically - just by reading it. It cannot know that by just reading a comma separated file that it should be parsed as a Lua table. So either you have to do some work yourself (parsing) or supply the required map file as a Lua table.
Tiled for instance has an export function which serializes the map to a Lua table with the click of a button. I use it myself to create my maps and read it using Love2D.
My typical approach for 2D games is to use Tiled Map Editor: https://www.mapeditor.org/
The interface is decent and you can simply export level data as JSON, which allows you to get something up and running very quickly, and is a great place to start if you've never dealt with serialization.
Your application's job is then to read a level file, parse the JSON, and spawn objects and set other level configuration values depending on the JSON structure.
TileEd is a free mapping program that I really like. It can be used for anything from tabletop RPG "dungeon maps" to actual levels for computer games. It has a bit of a learning curve, mainly for creating/importing tiles/art, but it's easy to use once you get the hang of it.
I am actually working on creating a tileset for making Aliens-style sci-fi maps. I have one already but it is not particularly "print friendly".
Only the largest FOSS projects will make enough money off of donations. It's not very common, but with services like Patreon and GitHub Sponsors gaining traction, it's become a bit more mainstream to donate money regularly to projects. For example, the developer of Tiled earns over $2600 a month, so that's pretty good I guess. It's used by many semi-large game developers though. There are some other software projects on Patreon too, among them a surprising number of adult video games/interactive fiction... But also other niche stuff people care about, like emulation software.
Thanks!
I used a program called Tiled to create the grid/map. https://www.mapeditor.org/ I created the maps in tiled using the tilesets/maps from the game. I then created an object layer and created an object for each tile in the map. Each of these tiles have some attributes like how much it costs to move across, defense, avoidance, etc... I can simply open the map in Tiled, change a value, reimport the map into Godot and it auto updates.
For how far the units can move/attack/heal, I just used a breadth first search (bfs) and subtracted each tile movement cost in addition to any penalties the units might have. Horses move slower in forests/rivers while units that are flying can move anywhere.
Algorithm can be found here https://github.com/ja-brouil/TBS_GoDot/blob/master/Engine/MovementUtilities/MovementCalculator.gd
Depends on how you go about it. There might be some specialized GUI ROM-editor software that's Windows-only (a lot of the game-modding community seems to like releasing Windows-only GUI tools), but that's only important if you want to edit the game through one integrated GUI.
One cool thing about Pokemon as a modding scene is that the games have all been entirely reverse-engineered—each game ROM of at least the first three generations has been taken apart, transformed from machine-code back into semi-readable (but, more importantly, heavily documented!) source code. See here, for example.
And working with (including compiling) source code, is pretty much universal; you can do it on any OS. The repository I linked says that these are the instructions for compiling the codebase on a Mac. That's like, two things you've got to install, and then building the codebase is one command. Easy!
And then, once you've got that working, you can change the code or the assets however you like! The art is just PNG images; the text is just text in quotes in .asm
files; the levels are... probably in some format you can import into Tiled. And for the scripting or engine modification, you've just gotta... learn to write z80 assembler! :P
(But at least you won't be under the same size constraints the game's original programmers were under!)
Tiled is free and extremely popular for digital games. Almost every game engine supports loading Tiles maps. But there ia nothing stopping you for using it for tabletop games if you just load some tiles of sufficiently high resolution. There is built-in PNG export. I used it a few times to make prototypes or print'n'play. Also supports hexmaps.
You are right on track that it’s a level editor. Typically, the development team will build this type of editor out for the level designers who use it to build the game that then exports out XML, JSON, or some other format to be consumed by the game engine and render the level.
After some googling, I found https://www.mapeditor.org which seems to be a nice 2D based tile map editor. You could extend off of something like that to offer to players.
Other options are embed a scripting language like Lua or Python.
Finally, you could build your own by searching how to build a level editor and then customize that to players’ needs.
You are right on track that it’s a level editor. Typically, the development team will build this type of editor out for the level designers who use it to build the game that then exports out XML, JSON, or some other format to be consumed by the game engine and render the level.
After some googling, I found https://www.mapeditor.org which seems to be a nice 2D based tile map editor. You could extend off of something like that to offer to players.
Other options are embed a scripting language like Lua or Python.
Finally, you could build your own by searching how to build a level editor and then customize that to players’ needs.
I mean if you want to draw them then it's just art practice.
If you want to make them with the help of a tool, there are lots of programs online. I usually just use a marker or premade battlemaps, but if I want to build my own battlemaps I usually use Tiled combined with tilesets I've found or purchased online (e.g. Gabriel Pickard's Vile Tiles on Roll20).
While I can't do anything for the mapping software, I can give you advice on how I've used RPG maker.
I use RPGMaker for the base layer due to the limited number of "overlay" layers.
There's a script I found for my version of RPGMaker that lets me hit a button in test mode to export the whole of the map as a PNG instead of having to screencap and paste together the whole thing.
I then use Tiled to add the additional top layers using the RPGMaker tilesets.
It's possible to do it in Tiled alone, but I don't know how to set up the automatic groupings that RPGMaker does for its base layers by default.
Have you looked at Tiled? It's free (as in freedom and as in beer) software that runs on all 3 major OSes. I've never used it for serious map making, but in the handful of times I've played around with it, I've gotten the impression that it's pretty nice. To be fair, I've never really used any other tile map software though.
The pre-render really is very easy to get working. It seems intimidating when you think about it, but you might find it only takes a couple of hours to get the first render (of a cube on a little one tile square plane) to look OK.
I suggest you look into The tiled map editor. There is also a Tiled plugin for Godot on the asset store.
Good luck! Join my discord if you like and keep me updated. Or @ me in your tweets.
ensure your engine integrates with the tiled editor properly (either by consuming the *.tmx format, or as a plugin which outputs the format your engine requires from the *.tmx format - including the tilesets, entities, layers and properties). Bonus points if the engine can live-reload changes.
... map makers are a part of dev tools? And regardless it does include a level editor--Brigador uses a custom branch of Tiled, the same editor used for Shovel Night and several other titles https://www.mapeditor.org/
I really like tiled, I was specifically seeking an 8 bit/16 bit style and was able to easily make maps with the program after setting up my first tile set. I'm pretty sure it's a name your price program, think I paid 10$ for it and felt it was worth it.
Inkscape with this extension I wrote.
https://github.com/lifelike/hexmapextension
Or Tiled if you can find some good tile set to use with it (and it might only save to bitmap formats like PNG?).
This is essentially a tilemap editor, right? Please correct me if I'm wrong, but that's what it looks like to me.
I'd suggest having a look at Tiled. It's an excellent editor. :)
I would recommend that you download TileEd for creating maps/background. Check out OpenGameArt for some free tile sets. You should also check out the official docs
It's a 2D game, so it should be a good match. We are using the Tiled tilemap editor (www.mapeditor.org) and it seems there is even an actively maintained importer packed for Godot: https://github.com/vnen/godot-tiled-importer. Nice.
​
About the code release, we have not really made up our minds on how to do it. We could release the finished alpha code, then finished beta, and finished release. Or, if people actually start committing patches we could just open up the entire code on gitlab/github.
Thanks for your input!
It's a 2D game, so it should be a good match. We are using the Tiled tilemap editor (www.mapeditor.org) and it seems there is even an actively maintained importer packed for Godot: https://github.com/vnen/godot-tiled-importer. Nice.
About the code release, we have not really made up our minds on how to do it. We could release the finished alpha code, then finished beta, and finished release. Or, if people actually start committing patches we could just open up the entire code on gitlab/github.
Play around with Tiled to see what feels like must-haves for your game?
Very difficult to say without knowing exactly what makes your maps special, but one feature I really like in Tiled is that I can drag to mark a rectangle of tiles and then stamp that entire rectangle on the map instead of just single tiles. So the tile-set can be prepared with some multi-tile graphics things that are meant to be drawn together. Also the various built-in terrain-features are probably great for making maps that have different areas of terrain that need to fit together properly at the borders and you do not want to manually put the correct tiles everywhere for them to connect.
You could try Tiled, it's a map editor that works in the same grid format that 2D Mario games use.
You'll need a fitting tileset, here's some from Google.
For 2D, there's the excellent Tiled Map Editor. I use it for my own games, and I find it very pleasant and quick to work in. It outputs data not tied to any framework or engine, and it allows for custom properties on pretty much anything, so you can use it in however you want. Many frameworks and engines have importers for it too.
I'm a big fan of Tiled Map Editor which is completely free and all you really need is a tileset (which you can find for free from Kenney or opengameart). Then just draw the levels Mario Maker style. Of course they're not playable, it's just a tool to create files that contain all the information your game needs to fill the maps.
Alternatively, if you have a Wii U laying around- prototyping 2D levels in Mario Maker could be interesting!
Hi! Good questions here!
Most of movement and attack mechanics are designed and implemented as seen in the demo. More can be added in the process if the game asks for that. I do not have any levels created yet, just a bunch of mockups for mechanics/enemy AI testing. But yes I haven't mentioned it but the game is using Tiled map editor so it is fairly easy to design levels.
Ideally I want to make a full game out of this about the same size of any of mentioned NES games above or bigger. But at first I believe it's nice to make just a single level that clearly shows the gameplay, pacing and visual design of a future game so we can build upon that. I personally got stuck at the time I had to make enemies (and environments too) because I can't draw and design visual stuff. Also my imagination sucks most of the time.
With the help of an artist I expect that a single level can be created in about ~1-2 months of teamwork.
Tiled is good for making 2D, sprite-based maps. Then you could export as image and just drag stuff around in GIMP.
​
​
​
What kind of 2D scenes? Tiled might be flexible enough for your needs and, according to the docs, it supports JSON so well that you can use it instead of the native TMX format for your authoritative copies:
> The JSON format is most common additional file format supported by Tiled. It can be used instead of TMX since Tiled can also open JSON maps and tilesets and the format supports all Tiled features. Especially in the browser and when using JavaScript in general, the JSON format is easier to load. > > The JSON format is currently the only additional format supported for tilesets.
You might be able to pull this off fairly painlessly in GMS2 with the tilemap functions and with(all)
. GMS1 also has some tile functions but they're not as fancy, but you might be able to make it work anyway.
For either version, unfortunately there's no nice-and-easy way to control loading rooms aside from the room_goto
ones, so if you want to use the room editor and dump the contents to a file you need to either:
run the game and manually enter each room, iterate over all of the tiles and instances in the room and save them to a file. Downside to this is that the rooms still have to be loaded into Game Maker all at the same time at least once, so your limit is however many things you manage to stuff inside it before Game Maker breaks.
include the .room.gmx
(GMS1) or the .yy
project files in the game's Included Files and have your game read them directly. Downsides include needing to use an external xml (GMS1) or json (GMS2) reader, and I'm pretty sure those usually need to load the entire files' contents into memory as well, so you have a similar limit to #1. And also you have to re-copy the room files into the Included Files every time you make a change, and also also this makes creation code very difficult. Maybe don't go with this option.
I don't know if it's still functional but for a long time a lot of people seemed fond of using external editors like Tiled to make their maps in GMS1, since the room editor in GMS1 isn't really anything to crow about. I've never used Tiled though so I don't really know what the limitations are.
All three of these options are going to require a pretty substantial amount of code though, unless you can find someone out there who already did it.
A few people have mentioned MonoGame, if that seems interesting to you then you might want to look into Nez: it's a 2D framework that's built on Monogame and it offers some nice features out of the box like a Scene/Entity/Component system, an extended pipeline including support for Tiled maps, a debug console, easier sprites and animation, pathfinding, etc. The creator is active on Reddit and you can read more about Nez/MonoGame in this old thread.
The Tiled map format is the most universal thing like this that I know of, though 'sprite maps' aren't quite 'dungeons.' It, however, does let you set custom properties on any tile that you could use to set the locations of monsters, items, etc.
This combination isn't as easy you'd like, and it definitely requires you to know how to program, but it's one of the easier ways to do it:
Do you know about the Tiled Map Editor? Phaser does support it. As seen in the map tutorial (which is one of the latest links in this subreddit) you can also place sprites like player spawn points using the editor.
Maybe that will help you.
I mainly program so I will get artwork from artists and use various tools to get them into the game engine:
I use Tiled for tile maps. It allows you to create layers and objects. Objects are useful for creating predetermined spawn points and have your player/enemies spawn at those locations.
For packing sprites into atlases or spritesheets I use TexturePacker. It does an amazing job at packing the sprites and in the game code, I simply call the "frame name" so putting together a sprite animation is straight forward. Updating a frame atlas with new animation is easy as well. It is worth the price and part of my everyday workflow.
For slicing up spritesheets that I may need to import into TexturePacker, I use ShoeBox which is a drag and drop tool that has all the tools necessary for extracting sprites, adding pivots, etc.
I strongly suggest you support tilesets and importing planes from Tiled, the free <em>2D</em> map editor. If nothing else, it has already solved some of the problems you're going to have to think about - albeit for a simpler case.
Maybe even support exporting to its isometric mode - losing information obviously.
Disclaimer: I have contributed a few things to Tiled.
Just because a game engine doesn't have a built in visual editor, it doesn't mean you can't use visual solutions for level design. Take something like, I don't know, Pokémon on Game Boy. The map designers would've used a lightweight custom visualisation tool for tiling, which just saves in some native file format.
Tiled is a free tiling design program that just saves in XML format, allowing you to program a simple reader in your Lua code: https://www.mapeditor.org
In fact, I believe it also supports exporting to a Lua game engine format right out of the box.
You could probably set up Tiled map editor quite easily for this: it's grid based sprite placing: perfect as a building planner for rimworld. Either scavenge the rimworld folders for the actual sprites, try google or just use placeholders like the op did.