Collaborating without sharing all the code

MCHLV

Member
Hello there,

I am wondering : is there any way to collaborate with someone so that he can still build levels (spawning tiles and monsters), actually run the game to test it but without sharing all the programming I have done in my project.
I just had a bad experience...

I am not sure there is a way. The method does not have to perfect, I can focus on key assets as the objective so far is to iterate quickly on the levels, try, test, retry. Even if we have to properly rebuild the levels, once they are ok, at the end with more details and care.
I thought creating an extension including all my resources migth be an option ? Programming my own editor sounds overkill.

Any hint is very much appreciated.

M.
 

Psycho_666

Member
Any hint is very much appreciated.

M.
Hey M.
Well, Y don't U build some tools?
They don't need to be perfect...
For example, I'm working on a strategy game and my maps are stored in .ini files. I'll be making a mapmaking tool that will automatically create map .ini files. Y don't U make something similar?

Also for play testing just send him a build of the game. The other guy doesn't even need to have game maker to create levels and playtest if you build the tools...
 

MCHLV

Member
build some tools?
Thanks. I hope there is another option.
It is what I meant by "programming my own editor". I have been on this road before and I woke up one day after 3 months on a project to realize 90% of my time I spent on programming the level-building tool and not the game :p. I had hardly given thoughts to the design of my levels (which would have challenged and feed my concept).
I do not have a lot of time to build my game, so I cannot afford building an editor. Also, I have difficulties with focusing on what really matters for the levels (as many here I love programming and if I do not watch mysef I can spend days building a new features that does not bring to gameplay)... so building a tool is a lot of fun... but I know it is an endless trap for me. Also the editor improved a lot since 1.4.

To elaborate : where I stand now on my project is that I have to finalize key mechanics while building actual levels which will help me identify features / fixes. My plan was to focus on finalizing core mechanics while the other guy would build/test levels underlining what is missing for them. Though, it did not go perfectly the first time, I am still looking for a way to collaborate that way : allow someone to build the levels to tell the story of our game, through the way platforms, challenges, encounters, new items and texts are positionned. Just without sharing my code this time...

M.
 

Psycho_666

Member
I hope there is another option
There isn't really...
The guy needs to be able to build levels, so he needs level editor. He also needs to be able to play the game. If you don't want to share your original code, you may have to share another code.

Level building system you can use yourself is also not difficult to make. You literally need an external file, that stores what object is where. Eventually individual states of certain objects, if it's rotated on what angle and so on. That way he will literally work only on the level and have only contact with the level editor... I understand you don't want to waste valuable time building tools that will not contribute to the main game, but you need to give the guy something. If it is not what you already have, you may have to create the thing you will give him.
 

MCHLV

Member
Make sense. I will have a look to the market place... maybe search for external editor tool. there were some on 1.4.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
You could have the person use UndertaleModTool to modify the levels, but you'll need to write some scripts to export them back into GM:S/GMS2 format, and it's slightly clunky if anything.

Otherwise look into level editor examples/assets.
 
S

Sam (Deleted User)

Guest
You could have the person use UndertaleModTool to modify the levels, but you'll need to write some scripts to export them back into GM:S/GMS2 format, and it's slightly clunky if anything.

Otherwise look into level editor examples/assets.
Has the rule about not using decompilers changed lol?
 

Yal

🐧 *penguin noises*
GMC Elder
It's not super hard to make an editor if you keep it simple... the only thing you really need is a list of coordinates and objects. Tiles as well if you're really fancy. I'm working on a super engine at the moment which has a level editor, and all of the level editor code is 1278 lines of code (and several hundred of them are comments and metadata XML in the GameMaker object file - I can't be bothered to count how many of the lines are GML and how many are metadata right now). The actual code code definitely is under a thousand lines. The editor works with a format that basically just list x-y-object tuples and x-y-left-top tile tuples (with tile sizes being uniform, and a single tileset being used for the entire level), and that makes most of the code really simple: adding a new entity just appends it to the list, saving/loading saves the list as-is to a file, and so on. (There's separate "ingame" and "editor" loading scripts - editor version loads the data to a list, ingame version actually creates the objects)
 

rIKmAN

Member
Depending on your game and it’s requirements you could let them use Tiled to create the levels and load them at runtime using GMTiled2 so they could test them right away.

You’d still have to write the code to read these in etc but could then send them the exe and have them be able to create / load / test levels without you having to show them your source files.

One of the bullet points is...
  • Build rooms without opening Gamemaker: collaborating with an artist or level designer who doesn't use Gamemaker? Now they can build the room/level in Tiled, and load that straight into GM.
...which sounds exactly like what you want and would save you having to write your own editor (Tiled is great) but as I said it depends on your game and what you require from an editor as to whether it would be suitable.
 

MCHLV

Member
Thank you all very much for your answers You are all great. It is nice to see how everyone is bringing valuable solutions in one day to something that I have been stuck with.
All of it make great sense. The easiest for me will be to give a try to GMTiled2 which sounds very promising. I did investigate editor yesterday but did not find it.

I had it to run - for tiles for now - into GMS. (I ran into issues, one that took me 30' was that I had an unused / forgoten sprite called 'tileset' which was conflicted with a script from the extension).
Compiling is another challenge.
When you move a .tmx file from TILE, it loses its way to the .PNG file that serve as the tileset. TILE warns you, and you need to remap to the PNG file for it to work again.
In Game Maker, I went for a basic option : including the .tmx file in the project. So after building the .exe, the .tmx loses its way to the tileset (PNG files) and I cannot modify in TILE. If I remap the path in TILE, I loose everything but I am able again to place tiles properly and running the .exe give me the proper room. I think I need TILE file to be outside my project (a dialog box at project start).
So this is where I stand so far... (and I am going to bed because I am driving my little one to his soccer training tmrw morning :p).

This is on good way. I will let you know how this went and if the object part is easy enough....
M.
 
Top