RubenKraken
Space cadet
Posts: 19
|
|
« on: February 01, 2009, 06:55:04 am » |
|
Hallo. I've been working on a map editor for the past few days. I know Jp made a post mentioning making one but I didn't see any updates since early December so I decided to give it a go. I want to heavily stress this is still in beta and there are a couple known issues that I will be working on, so before downloading and getting mad because some obvious feature isn't there or it is crashing please read the issues and planned enhancements sections. ReleasesI'll keep a couple versions back online since I know some people are fans of that, but otherwise I'll keep version history local so if for some reason you really want an old version that is not available let me know and I can upload it. Issues- None of the property values are currently validated so typing anything but a number for properties such as x, or y will cause the program to crash. Be careful!
- Rifts are not fully implemented yet so bare with the basic functionality that is there.
- None of the sections from a map are heavily validated yet on load so trying to load a map with unexpected properties may cause the application to crash.
- With that, required fields such as a name for the map is not validated to make sure it is entered so be careful if you plan to test a map in game.
- When you add a planet it will default in the center of the map, out of sight, so you may need to scroll a bit to track it down.
Planned Enhancements- Fully implementing Rift support
- Adding validation all over to make the application more stable.
- Better map layout options. Possibilities include drag&drop moving planets/rifts around, zooming, etc...
- Guidelines, turns from one planet to another
- Mini map
- Ability to rename entities
- Clicking on an entity from the list should center it on screen
Other Gotchas- Commotion requires the .NET Framework 2.0, which most computers these days has installed, but if not you can get it here: .NET 2.0 Download
Please post any other issues you run into and feedback and suggestions are welcome.
|
|
« Last Edit: February 28, 2009, 11:38:05 pm by RubenKraken »
|
Logged
|
|
|
|
Prez
|
|
« Reply #1 on: February 01, 2009, 07:56:41 am » |
|
Note I am NOT at all a programmer: I think the map editor need a Drag and drop system to place the planets to view first and better the programmed map, also some guide- lines to put planets at the right distance . Fabio
|
|
|
Logged
|
|
|
|
Minus
|
|
« Reply #2 on: February 01, 2009, 08:18:43 am » |
|
Excellent work! I'm going to put this straight to use.
If we're making feature requests, I'd like to be able to duplicate planets. But that's all!
|
|
|
Logged
|
|
|
|
Chris
|
|
« Reply #3 on: February 01, 2009, 08:36:03 am » |
|
Cool! I'll definitely check it out next time I'm on Windows. There's actually no such thing as an "ID property". Lines beginning with ";" are comments, and have absolutely no effect. They only exist in some of the official map files as an artefact of the way I created them.
|
|
|
Logged
|
|
|
|
Kumlekar
|
|
« Reply #4 on: February 01, 2009, 08:50:25 am » |
|
hm, I gues that means I should stop trying to use // for commments.
I tried out the program. It would be nice if the current text file was displayed at least until a graphical interface could be made. Also, the it seems to not be able to open map files, just create them.
Its a good start, but has a long way to go.
|
|
« Last Edit: February 01, 2009, 08:58:53 am by Kumlekar »
|
Logged
|
What is Six Times Nine Forty-Two!
Jp may have played mayhem before it was cool, but I play while its cool! *
* "Cool" is defined as the period of time in which Kumlekar plays a game.
|
|
|
Jp
Pilot
Posts: 30
Yet Another Generic Information-Age User Name
|
|
« Reply #5 on: February 01, 2009, 09:17:53 am » |
|
I haven't actually been doing much - I have a billion and one different things I want to do, so stuff sort of gets sidelined every so often.
At the moment the only reason I'm not messing around with stuff is because I can't get my linux partition to network correctly.
Anyway, go ahead, I don't have a monopoly on map-editing tools. If you need any help with anything feel free to ask. In particular, I'm working on a robust parser using flex and bison - if you're having parsing issues, maybe you can use mine when it's done.
What language are you using, btw? The reference to .NET says C# to me.
|
|
|
Logged
|
I used to play Mayhem Intergalactic before it was cool.
|
|
|
RubenKraken
Space cadet
Posts: 19
|
|
« Reply #6 on: February 01, 2009, 03:58:28 pm » |
|
Thanks for the comments!
Prez: I experimented a lot with drag and drop and figured out that I am going to have to wait until I build a proper control for the rifts until I implement it so getting rifts fully implemented is my first priority beyond the smaller bugs. Guidelines is a good point, though. Someone else also suggested a way to tell the distance in turns from one planet to another. I'll throw it up on the enhancements list.
Minus: Consider it requested!
Chris: -2 points to me for not properly researching ini files. I ended up building my own parser since all the classes I could find didn't support multiple sections with the same name, so I'll have to make sure to get all the checks in. Please, do let me know what you think.
Kumlekar: Displaying the current data dump of the file is an interesting idea, I'll add it, however I'm not sure what you mean about until a graphical interface could be made? The planets and rifts should be displayed in the black area to the right, although you may need to scroll a bit to find them.
Also, I tested all the official maps and a few of the custom board maps and with the exception of those with a comment they all loaded for me. What happens when you try to open a file?
Jp: Thanks, it is nice to have someone around to knock ideas with if I get hung up so feel free to chime in. Yes, it is in C# as using a full on graphics library felt a bit like overkill, plus I'm sure Chris can/will build a much better editor inside the game proper, so no reasons to go through the bother.
|
|
|
Logged
|
|
|
|
RubenKraken
Space cadet
Posts: 19
|
|
« Reply #7 on: February 01, 2009, 05:50:36 pm » |
|
0.2 ReleaseSmall update since this was easy to fix now that I realize what they are. - Fixes the bug where comments in the file (lines that start with ';') causes them not to load properly.
|
|
« Last Edit: February 01, 2009, 05:55:18 pm by RubenKraken »
|
Logged
|
|
|
|
Kumlekar
|
|
« Reply #8 on: February 01, 2009, 06:55:15 pm » |
|
The attached image appears whenever I hit load (before any browsing window opens). Under details, this is what it says: See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text ************** System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' at Commotion.Main.openToolStripMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- Commotion Assembly Version: 0.1.3318.42316 Win32 Version: 1.0.0.0 CodeBase: file:///F:/Program%20Files/Steam/steamapps/common/mayhem%20intergalactic/data/base/maps/Commotion.exe ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Data Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.1434 (REDBITS.050727-1400) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ----------------------------------------
************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.
For example:
<configuration> <system.windows.forms jitDebugging="true" /> </configuration>
When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box. Another error: It seems the rifts are not using the same coordinate system as the planets. I set a rift to do from 400,400 to 500,500 and put a planet at 500,500. You can see the result in the attached images.
|
|
« Last Edit: February 01, 2009, 07:00:17 pm by Kumlekar »
|
Logged
|
What is Six Times Nine Forty-Two!
Jp may have played mayhem before it was cool, but I play while its cool! *
* "Cool" is defined as the period of time in which Kumlekar plays a game.
|
|
|
RubenKraken
Space cadet
Posts: 19
|
|
« Reply #9 on: February 01, 2009, 08:34:09 pm » |
|
er, odd. I thought I compiled down to .net 2.0, but this is claiming 3.5. I will look into it.
As far as the rifts, dang, yes you are right. I changed the draw code on the planets last minute to make them closer together and forgot to update the rifts. Will fix both momentarily.
|
|
|
Logged
|
|
|
|
Chris
|
|
« Reply #10 on: February 02, 2009, 01:07:50 am » |
|
plus I'm sure Chris can/will build a much better editor inside the game proper, so no reasons to go through the bother. Don't count on it! You guys are keeping me busy enough as it is.
|
|
|
Logged
|
|
|
|
Kumlekar
|
|
« Reply #11 on: February 02, 2009, 07:32:49 am » |
|
Once the two bugs I mentioned are fixed, I will most definatly be using this!
|
|
|
Logged
|
What is Six Times Nine Forty-Two!
Jp may have played mayhem before it was cool, but I play while its cool! *
* "Cool" is defined as the period of time in which Kumlekar plays a game.
|
|
|
Chris
|
|
« Reply #12 on: February 02, 2009, 10:15:47 am » |
|
Finally got to try this out. Good start. The only comment I have to add to the above is that it's a bit odd defining a "name" for each new planet but then having to enter the actual name separately (if you want to give it a name; obviously you should be allowed to leave it blank, so planets can get random names as per usual). Oh, and you have my permission to use the planet graphics from Mayhem Intergalactic (planet0.png through planet8.png in the data\base\graphics folder) in your editor. Perhaps planet0.png for most planets, and then planets with a nonzero startpriority can have planet1.png (blue player), planet2.png (red player), etc. in descending order of startpriority. That is, if you had a map with 3 planets, which had startpriorities of 1000, 500 and 0, then you'd make those planets blue, red, and neutral respectively. This isn't necessarily how the game assigns planets, but it will enable people to tell at a glance where players will start, and they'll be able to see what the order of priority is by knowing the order of the colours.
|
|
|
Logged
|
|
|
|
RubenKraken
Space cadet
Posts: 19
|
|
« Reply #13 on: February 02, 2009, 02:56:17 pm » |
|
Chris: Ah, good times, thanks! I originally was using one of the planet graphics and then threw in the cheesy green planet. As far as the name I plan to have the name provided used as the default name via an option to click while creating. I didn't want to do it automatically because I figured people wouldn't want entity 1, entity 2, entity 3 by default for all their planets if they didn't bother typing a name.
Kumlekar: I am pretty sure I have both issues fixed but I had already started implementing Rifts more fully so I'll be holding it off a day or two until that is finished.
I think I have a clever way of handling zooming that I might try to sneak in as well as I hate how much scrolling is required. I'm also adding a new enhancement to the list: a mini map.
|
|
|
Logged
|
|
|
|
Kumlekar
|
|
« Reply #14 on: February 02, 2009, 06:37:02 pm » |
|
Finally got to try this out. Good start. The only comment I have to add to the above is that it's a bit odd defining a "name" for each new planet but then having to enter the actual name separately (if you want to give it a name; obviously you should be allowed to leave it blank, so planets can get random names as per usual). Actually thats one of my favorite features. This allows for naming based on planets location so that it is very easy to look at the side panel and know which planet you are working with. Its kinda similar to how you use the "; ID: pathXXXX" lines in the actual map files.
|
|
|
Logged
|
What is Six Times Nine Forty-Two!
Jp may have played mayhem before it was cool, but I play while its cool! *
* "Cool" is defined as the period of time in which Kumlekar plays a game.
|
|
|
|