The Text Editor, And You!

Discuss level design, whether in general or related to your levels
User avatar
Bucket
Posts: 305
Joined: Mon Nov 06, 2017 1:39 am
Location: United States
Discord: Bucket#4801
Contact:

The Text Editor, And You!

Post by Bucket » Sun Feb 11, 2018 2:34 pm

Introduction
Welcome! Reader! Have you ever thought...
You, the reader wrote:
Sun Feb 11, 2018 10:23 am
Man, this easy to use level editor is too confusing! I wish there was a more difficult way to build my levels.
...or...
You, the reader wrote:
Sun Feb 11, 2018 10:23 am
The auto tiler is nice, but it just doesn't do the things that I want it to do.
...than this thread is just for you. I will teach you how to build and edit levels using the forbidden text editor. To start off, lets explain what the text editor is. When you save your level, it is saved in text form and put in a spot for safe keeping. When you load a level, it then reads the text file, and uses that to load your level. By editing this file, we can edit our levels in ways not thought imaginable.

First, we need to locate where Mega Man Maker stores our levels. In your command prompt, type
%localappdata%
Here, you will go to MegaMaker, then Levels. You will find where Mega Man Maker has stored our levels in text form. Click on one. Preferably not a level you have been working on for a long time. Consider creating a simple level in the level editor, than opening its file. Here you will find a dangerous amount of integers, but thats OK. I will explain what they mean. First things first you probably see alot of similar patterns. Lets go over what they mean.

TILES

One thing you will see is...
k#####,#####="##.####"
j#####,#####="##.####"
i#####,#####="##.####"
e#####,#####="##.####"
a#####,#####="##.####"
This is a pattern for 1 tile.

"k" and "j" stand for the tiles location on the tile grid. I will explain this later.
"i" and "a" stand for... er... something, just ignore those.
"e" stands for the type of tile. This decides whether its a Wood Tile, a Cut Tile, etc.

In front of these letters, you will see 2 numbers, separated by a comma. This is the tiles x and y values, The first number standing for x, and the second number, standing for y. X and Y tell you what position the tile is in, x for horizontal position, y for vertical. You can use this to change

By not having all the x and y values on the tile the same, you can come with some weird results, like this...
Image

Also note that both the x and y value must be a multiple of 16, else the game will simply remove the tile from the level.

Now, the interesting thing about the "k" and "j" values, is that you can edit them to your leisure and the game will allow it. These numbers represent the x and y values on a tile grid. Wait, I hear you saying something...
You, the reader wrote:
Sun Feb 11, 2018 10:23 am
What is a "Tile Grid"?
Good question. Here is an example of a tile grid for Wave man.

Image

Basically, it tells the game what tile to choose from. You can change this number to whatever you want, creating more customization to how your level looks. You can even use parts of tiles to create crazy tiles. Heres an example of using this effect in crazy ways.

Image

It appears I am walking on nothing, but I'm actually walking on tiles edited in the text editor. Heres what it actually looks like.

Image

I've edited the K and J values to take the bottom right pixel of an isolated cut tile, and use only that. It minimizes the amount of tile shown while still making it solid.

Another example of this used evilly is this.
Image

What I've done is replace the 3rd tile with a center air tile, which removes its solidity, but looks identical to the other tiles. Hopefully, no one will use this in levels...

Enemies
Enemies have files in them like this.

e####,####="######"
d####,####="######"
b####,####="######"
a####,####="######"

Unfortunatly, there is not as many ways to edit an enemy as there is a tile. You can change the coordinates, but only in multiples of 16 and not touching anything, or else the enemy will dissapear.

"e" stands for the type of enemy it is, whether its a pierobot, a killer bullet, etc.

Changing "d" to anything other than 5 appears to crash the game, and "b" and "a" seem to do nothing.

As you can see, you don't have a lot of options when editing enemies in the text editor, so you should consider only using the text editor for tile purposes.

Conclusion
Thank you for reading, reader. Now you have a basic understanding of the text editor, and will not use it in any of your levels, but thats OK.
h

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Sun Feb 11, 2018 2:50 pm

Very nice >:] guide, I posted a similair thread to this ono before.
Also, I really wish I actually had the right tools to develop a program to handle this type of data by itself...
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

User avatar
Zephadus
Posts: 327
Joined: Sun Jan 07, 2018 8:17 am
Location: Canada

Re: The Text Editor, And You!

Post by Zephadus » Sun Feb 18, 2018 9:31 pm

Thanks for sharing this!
Now I can make (non-malicious) invisible boundaries!
Keep those bosses where I want them without it looking like I've entombed them. lol
Not only that, but I can rotate spikes the way I want them.
I had been having trouble in a particular level, where I have a bed of spikes span between two walls, with no tiles below them, so the ones next to the walls want to turn sideways, which doesn't mesh with what I'm doing.
Image
Image

User avatar
GW9
Posts: 116
Joined: Thu Aug 17, 2017 2:23 pm
Discord: RightHandMan#8251
Contact:

Re: The Text Editor, And You!

Post by GW9 » Mon Feb 19, 2018 5:03 am

I like this post. Question, can you implement new tiles with this technique, and if so, how can you do it?
I need help but my pride says the pain is okay.

User avatar
Bucket
Posts: 305
Joined: Mon Nov 06, 2017 1:39 am
Location: United States
Discord: Bucket#4801
Contact:

Re: The Text Editor, And You!

Post by Bucket » Mon Feb 19, 2018 6:26 am

You cannot implement new tiles. Changing the "e" value takes a file already from the game.
h

boltgreywing
Posts: 220
Joined: Tue Aug 15, 2017 4:20 am

Re: The Text Editor, And You!

Post by boltgreywing » Wed Mar 07, 2018 4:29 am

Bucket wrote:
Mon Feb 19, 2018 6:26 am
You cannot implement new tiles. Changing the "e" value takes a file already from the game.
I found out I can create some new tiles by changing the i value. I is limited to the values 1,2, and 3. If you choose the value 0 or 4 it causes the tile to vanish. The a value I am uncertain what's its behavior is but from what I can tell, it affects whether to display the tile or not. Basically its a Boolean on and off switch. 1 is on, everything else is off.

For the most part do not set the a value to anything other than 1.

How many tiles are in the tile array? I want to try to create fall through tiles as an expirment.

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Wed Mar 07, 2018 7:12 pm

boltgreywing wrote:
Wed Mar 07, 2018 4:29 am
Bucket wrote:
Mon Feb 19, 2018 6:26 am
You cannot implement new tiles. Changing the "e" value takes a file already from the game.
I found out I can create some new tiles by changing the i value. I is limited to the values 1,2, and 3. If you choose the value 0 or 4 it causes the tile to vanish. The a value I am uncertain what's its behavior is but from what I can tell, it affects whether to display the tile or not. Basically its a Boolean on and off switch. 1 is on, everything else is off.

For the most part do not set the a value to anything other than 1.

How many tiles are in the tile array? I want to try to create fall through tiles as an expirment.
Pretty sure I also created a thread for editing MMLV files that explains how to do that, but I'm too lazy to find it.

EDIT: viewtopic.php?f=14&t=2371
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

User avatar
Bucket
Posts: 305
Joined: Mon Nov 06, 2017 1:39 am
Location: United States
Discord: Bucket#4801
Contact:

Re: The Text Editor, And You!

Post by Bucket » Wed Mar 07, 2018 7:40 pm

Unrelated, I'm currently working on a project that can edit text files without the restrictions of the auto tiler, and allow you to load them into Mega Man Maker. It wont be released to the public, because I don't want to corrupt the Mega Man Maker servers with bad troll levels.

Also, I believe you can only make specific tiles non solid, like center tiles.
h

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Wed Mar 07, 2018 8:10 pm

Bucket wrote:
Wed Mar 07, 2018 7:40 pm
Unrelated, I'm currently working on a project that can edit text files without the restrictions of the auto tiler, and allow you to load them into Mega Man Maker. It wont be released to the public, because I don't want to corrupt the Mega Man Maker servers with bad troll levels.

Also, I believe you can only make specific tiles non solid, like center tiles.
I'm thinking of doing something similar... but I don't have any tool to do that! :(
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

User avatar
Diamond Wolf
Posts: 740
Joined: Sun Jul 30, 2017 6:48 am
Location: Kimse Neua, Deimos
Discord: Diamond_Miner33#9310

Re: The Text Editor, And You!

Post by Diamond Wolf » Fri Mar 09, 2018 12:25 am

Theoretically I should be able to create a command-line tool for that. Just scan for what you want.

All you should need is to learn a programming language (C++ in my case) and some fileIO tutorials.
Image

Image

Selling stuff!
SMHCP chips
SHCMP chips
Hologhost ER


#StopSuicideNow

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Fri Mar 09, 2018 1:20 pm

Diamond Wolf wrote:
Fri Mar 09, 2018 12:25 am
Theoretically I should be able to create a command-line tool for that. Just scan for what you want.

All you should need is to learn a programming language (C++ in my case) and some fileIO tutorials.
C++!? You mean that bullshit of a language that makes me want to fucking murder someone!? FUCK NO!
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

User avatar
Rafatenck
Posts: 34
Joined: Fri Jul 14, 2017 3:49 am
Location: Brasil
Discord: Rafatenck#5617

Re: The Text Editor, And You!

Post by Rafatenck » Fri Mar 09, 2018 10:59 pm

Bucket wrote:
Wed Mar 07, 2018 7:40 pm
Unrelated, I'm currently working on a project that can edit text files without the restrictions of the auto tiler, and allow you to load them into Mega Man Maker. It wont be released to the public, because I don't want to corrupt the Mega Man Maker servers with bad troll levels.

Also, I believe you can only make specific tiles non solid, like center tiles.
I'm sad because of this, why not release to the public ;-; I do not understand how to edit in text files

User avatar
Bucket
Posts: 305
Joined: Mon Nov 06, 2017 1:39 am
Location: United States
Discord: Bucket#4801
Contact:

Re: The Text Editor, And You!

Post by Bucket » Sat Mar 10, 2018 12:27 am

If I were to release such a tool to the public, Mega Man Maker might flood with invisible block troll levels, so I'm keeping this as a personal program.
h

User avatar
Diamond Wolf
Posts: 740
Joined: Sun Jul 30, 2017 6:48 am
Location: Kimse Neua, Deimos
Discord: Diamond_Miner33#9310

Re: The Text Editor, And You!

Post by Diamond Wolf » Sat Mar 10, 2018 4:33 pm

RandomCatDude wrote:
Fri Mar 09, 2018 1:20 pm
C++!? You mean that...language that makes me want to...murder someone!?
You just need enough experience with it to make it work. And remember semicolons.
What's your beef with it anyway?
Image

Image

Selling stuff!
SMHCP chips
SHCMP chips
Hologhost ER


#StopSuicideNow

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Sat Mar 10, 2018 4:51 pm

Diamond Wolf wrote:
Sat Mar 10, 2018 4:33 pm
RandomCatDude wrote:
Fri Mar 09, 2018 1:20 pm
C++!? You mean that...language that makes me want to...murder someone!?
You just need enough experience with it to make it work. And remember semicolons.
What's your beef with it anyway?
The bullshit errors that it throws and the nonsensical syntax. The finished .exe is also a terrible mess.
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

boltgreywing
Posts: 220
Joined: Tue Aug 15, 2017 4:20 am

Re: The Text Editor, And You!

Post by boltgreywing » Sat Mar 10, 2018 9:07 pm

RandomCatDude wrote:
Sat Mar 10, 2018 4:51 pm
Diamond Wolf wrote:
Sat Mar 10, 2018 4:33 pm
RandomCatDude wrote:
Fri Mar 09, 2018 1:20 pm
C++!? You mean that...language that makes me want to...murder someone!?
You just need enough experience with it to make it work. And remember semicolons.
What's your beef with it anyway?
The bullshit errors that it throws and the nonsensical syntax. The finished .exe is also a terrible mess.
Some of the errors aren't that bad. C++ you can write in object oriented or procedural based. Depending on the situation you may choose to create procedural code over object oriented. Its all about what you do with it. C and C++ are pretty easy learn. You just need practice. Now I got a question to ask you what do you think this code below does?

Take this code for example:

1 #include <stdlib.h>
2 #include <iostream>
3 double getTax(int& pointsGained);
4 int main(int argc, char* argv[])
5 {
6 if(argc == 2)
7 {
8 //Setup up of donation variables
9 int count = 1;
10 int limit = 1;
11 int pointsGained = 0;
12 double tax = 0.0;
13

14 //Initializes the points variable
15 for(int index = 0; index < limit; index++)
16 {
17 pointsGained = atoi(argv[count]);
18 count++;
19 }
20

21 //Retrieves donation points and returns them to ruby
22 tax = getTax(pointsGained);
23 std::cout << pointsGained << "," << tax;
24 }
25 }

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Sat Mar 10, 2018 9:58 pm

boltgreywing wrote:
Sat Mar 10, 2018 9:07 pm
RandomCatDude wrote:
Sat Mar 10, 2018 4:51 pm
Diamond Wolf wrote:
Sat Mar 10, 2018 4:33 pm

You just need enough experience with it to make it work. And remember semicolons.
What's your beef with it anyway?
The bullshit errors that it throws and the nonsensical syntax. The finished .exe is also a terrible mess.
Some of the errors aren't that bad. C++ you can write in object oriented or procedural based. Depending on the situation you may choose to create procedural code over object oriented. Its all about what you do with it. C and C++ are pretty easy learn. You just need practice. Now I got a question to ask you what do you think this code below does?

Take this code for example:

1 #include <stdlib.h>
2 #include <iostream>
3 double getTax(int& pointsGained);
4 int main(int argc, char* argv[])
5 {
6 if(argc == 2)
7 {
8 //Setup up of donation variables
9 int count = 1;
10 int limit = 1;
11 int pointsGained = 0;
12 double tax = 0.0;
13

14 //Initializes the points variable
15 for(int index = 0; index < limit; index++)
16 {
17 pointsGained = atoi(argv[count]);
18 count++;
19 }
20

21 //Retrieves donation points and returns them to ruby
22 tax = getTax(pointsGained);
23 std::cout << pointsGained << "," << tax;
24 }
25 }
That looks like total fucking gibberish. The entire language is a fucking mess, those first few lines are fucking nonsense, everything else is more convoluted than it fucking has to be. I'd rather learn x86 assembly than have to program in a language that looks like a glorified version of the old times English.

Whatever, fuck this. Go about your Garbage++ business while I fuck my pillow and wish for this language to die.
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

User avatar
Diamond Wolf
Posts: 740
Joined: Sun Jul 30, 2017 6:48 am
Location: Kimse Neua, Deimos
Discord: Diamond_Miner33#9310

Re: The Text Editor, And You!

Post by Diamond Wolf » Sun Mar 11, 2018 2:32 am

The EXE's bits and bytes depend on what compiler you use. I generally prefer MinGW; many people like the Visual C++ compiler.

As for that code...

"#include <library.h>" is the same as "import library".
"double getTax(int& pointsGained)" is the same as "func getTax(pointsGained: int address) returns double".

If those don't clarify anything, then the best attempts at making code readable to grade school students failed. (Except maybe the "address" thing; all it means is that you're referring to the location in memory you pass into the function rather than simply the value)

I don't even see how the rest is convoluted. Perhaps you could explain what you don't get?

And trust me, assembly is definitely more complicated than anything in the C family. (Except maybe C# because Microsoft controls it.)
Image

Image

Selling stuff!
SMHCP chips
SHCMP chips
Hologhost ER


#StopSuicideNow

User avatar
LunarHalcyon
Posts: 306
Joined: Thu Jul 20, 2017 6:44 am
Location: Elysium, High Above Terra
Contact:

Re: The Text Editor, And You!

Post by LunarHalcyon » Sun Mar 11, 2018 9:11 am

I learned assembly before coding. Would not recommend it. You're basically feeling around in the dark.

I'd say, Coding is closer to do with how it was built and decorated, and Assembly is closer to do with how it functions step by step.

Also considered trying to use assembly to add features to the game I wanted (splitting upvote-downvote into 2 separate numbers if possible), but I decided not worth a fuss over.
LunarHalcyon Member: ShadyRounds(⚫͡ ͜ʟ⚫¬)

MMLegends OceanTower | 131129
-BossBattle- DodgeballMan | Pt1 69799 Pt2 69691
MatrixMan -Puzzle- | 84526
Breaching Hazards | 102487
Elevator Action NES | 159204
Donkey Kong Classic | 194746

User avatar
RandomCatDude
Posts: 1222
Joined: Fri Jul 28, 2017 5:55 am
Location: Russia
Discord: Randomcatdude#3702

Re: The Text Editor, And You!

Post by RandomCatDude » Sun Mar 11, 2018 11:21 am

Diamond Wolf wrote:
Sun Mar 11, 2018 2:32 am
As for that code...

"#include <library.h>" is the same as "import library".
"double getTax(int& pointsGained)" is the same as "func getTax(pointsGained: int address) returns double".

If those don't clarify anything, then the best attempts at making code readable to grade school students failed. (Except maybe the "address" thing; all it means is that you're referring to the location in memory you pass into the function rather than simply the value)

I don't even see how the rest is convoluted. Perhaps you could explain what you don't get?
The entire language looks like it was designed to be put on r/iamverysmart, because everything is just fucking nonsense, i can't even begin to fucking explain why because i can't fucking understand it!
LunarHalcyon wrote:
Sun Mar 11, 2018 9:11 am
I learned assembly before coding. Would not recommend it. You're basically feeling around in the dark.

I'd say, Coding is closer to do with how it was built and decorated, and Assembly is closer to do with how it functions step by step.
I've worked with assembly before(it was 6502 assembly, but still) and let me tell you, it was easier to program with than C++, Everything is ridiculously simple and the only things that pose a big issue are errata(hardware bugs) and your own ability to optimize shit
I tried to fit Cave Johnson's lemon rant here, but it didn't fit. Stupid 255 character limit...

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests