SO I WANT TO MAKE PG MAKER...

Posts

Pages: 1
Rave
Even newspapers have those nowadays.
290
I've decided to make my own RPG Maker from scratch and I'd like to get some design tips. Not in terms of features, as I know what I want to implement, but in terms of designing both editor and engine (especially how to handle map file formats, how to make drawing tiles work, etc.).

So this thread is mainly for Cherry and Wolfcoder as both worked either on editor (Cherry's RM Ultimate) or engine (both). And perhaps for the authors of EasyRPG/TURBU if they're around.

Any tips where I should start?

One thing I can say for sure about this maker: Both engine and editor will be open-sourced, though I will get money out of that (my business model features some ideas that will help me get the money).
Sailerius
did someone say angels
3214
What scripting language are you planning to use?
For maps you could do much worse than to use or be compatible with Tiled, the dominant open-source tile mapper.
Rave
Even newspapers have those nowadays.
290
Sallerius, most likely Lua, though at some point I plan to add visual generator similar to work of events in RM. Also interface will be familiar for RM users.

@DFalcon: Sorry, but I don't want to make set of different programs, like ika tried to do, but rather full-blown RM-like solution, so probably will have to roll my own map format. I just need some tips on designing it.
K-hos
whoa You guys are hi-chaining without me? That's just not right. :<
721
My favorite way of handling files is to use scripts (in this case Lua) for the dynamic things like NPCs and their data, and then just use flat bin files for things like the tile data on layers. For example, instead of storing my entities in binary formats I do something like this;
engine.lock()
engine.view.clear()
engine.map.clear()
engine.map.visible( true )
engine.map.name( "test map" )

layer =  engine.map.layer.create()
layer:visible( true )
layer:color( 255, 255, 255, 255,  )
layer:position( 0, 0, 0 )
layer:tiles( "layer_tiles.dat" )

chicken = engine.entity.create()
engine.script.run( "load_generic_chicken.lua", chicken )
chicken:position( 0, 0, layer )

npc_a = engine.entity.create()
engine.script.run( "load_jim_the_npc.lua", npc_a )
npc_a:position( 100, 100, layer )


engine.script.thread("some_threaded_script.lua")
engine.unlock()

Which would be a typical 'map file' in my engine.
Lets the loading of my maps/entities be as dynamic as it needs to be and also saved me having to make redundant things. :B

It is easy to generate lua scripts as well, which is what I do. I made a script to generate lua files from Tileds tmx format.

Also I will say this, Luas C API is not fun to work with, though there are helper libraries but I have never used them so I can't say how useful they are.

Rave
Even newspapers have those nowadays.
290
Well, editor will be written in Lazarus (free pascal) and runtime in Java (reason is to provide multiplatform support at no cost - game will be able to play on any OS that support java, and editor will be compiled for main systems (Windows, Mac, and Linux)). So there won't be any C involved. And from my experience (I've worked with Lua in Java before), LuaJava is easy to use.
author=Rave
@DFalcon: Sorry, but I don't want to make set of different programs, like ika tried to do, but rather full-blown RM-like solution, so probably will have to roll my own map format. I just need some tips on designing it.


It's BSD-licensed if you wanted to use it as a starting point... but even so, this is why I said "compatible". There's a lot of available code for parsing TMX and probably no particular need to reinvent the wheel for drawing tiles in layers.
Rave
Even newspapers have those nowadays.
290
1. I want to roll my own solution, so users won't be able to modify maps if they won't know how game was made and what soft was used. I don't think my userbase would want to let any idiot with Tiled (or notepad, as Tiled maps seems to be XML-based) to modify game and release really glitchy version of it to make bad publicity (some people are mean...). Yes, it is extreme case, but it also possible one.

2. Another reason is that I'll know my code and how exactly it works. With copy-pasting foreign code, I wouldn't without wasting hours to analyze it.

3. I want editor to be GPL'd and since it would use Tiled code, there may be some hurdles relating to licenses. Runtime will be set as MIT license, to allow selling games, though.

4. I want to embed events (lua code, though encrypted with AES) directly in map files.
LockeZ
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
5958
1. The ability to import graphics you made in Tiled into your game and the ability to export someone else's game's graphics into Tiled format are two totally unrelated things. You are worried about the second one, but no one else even mentioned it. They're just talking about the first one. Also, Tiled graphics are already way harder to edit than RPG Maker graphics, since RPG Maker graphics just .png images, so... it seems like you'd still be coming out ahead. Though even with RM you can always encrypt the graphics, if you're paranoid.

2. OK, this is fair, it's just a matter of how much time you're willing to spend to make it easier on the user. If you spend more time, the users will have to spend less time and will have more options, and your maker will be better.

3. Maybe, I dunno how that works.

4. Again, no idea if this is a valid issue, maybe this isn't possible with Tiled maps. I was picturing your editor just loading a Tiled map file and converting it into the format your maker uses, and then the player could further edit it from there inside the maker.

Aside: "PG maker" sounds like it makes movies with a PG rating.
Rave
Even newspapers have those nowadays.
290
Sorry, mistyped thread name :).

Also I am making this maker mainly for me, but want to have some design tips from devs who are experienced with making engines/editors, so it'll be also usable for others.

Also 1. is rather that someone would be able to open map in tiled (or in notepad, as it is XML), then steal it and edit it. With custom format this is harder, especially if format is binary. I'm sure someone would reverse engineer it, especially with open-sourced code, but even if format will be known, it will be hard to make sense out of it, as maps will be AES-encrypted with key generated by maker based on specific elements of game (and you'll have control over which part of game are counted for key calculation).
author=Rave
...though I will get money out of that (my business model features some ideas that will help me get the money).


And this is why I hate people who make programs(games, editors, game engines), most of the time they make it cost money.
Rave
Even newspapers have those nowadays.
290
Program itself WILL be free. There are other means of getting money, though I won't reveal details, because I don't want to someone steal my idea.
BurningTyger
Hm i Wonder if i can pul somethi goff here/
1289
Rave, frankly this sounds like a risky proposition to me; unless your maker is truly original it may not successfully draw people away from their familiar, well -loved programs. I'm not quite certain how you can do open-source and make money; frankly i don't care to know how; it sounds shady to me and I don't like it. Better you work on that game you wanted music for and sell that.
author=Rave
Program itself WILL be free. There are other means of getting money, though I won't reveal details, because I don't want to someone steal my idea.


Why would someone steal an idea that involves money in any way. Oh yeah, now I remember, greed!
Pages: 1