Map Editor Extrodinare

Published September 18, 2007
Advertisement
Heres what I've been working on for the past six weeks or so - a new fangled free-form map editor.



I've just got a few pieces of neat functionality added, so I thought it was about time I showed it off. [grin] I'm too tired to explain much now, so a proper explaination on how it all works will have to wait for another journal entry. I want to finish some misc functionality and then I'll make it available so I can get some feedback about it.
Previous Entry Conversations!
Next Entry Can Has Name?
0 likes 10 comments

Comments

Swattkidd
This is java right?

But man that looks amazing! I love your work, keep the screens coming also:)
September 18, 2007 10:07 PM
OrangyTang
Thanks :) Yup, this is written in Java, using SWT so the UI is much more snappy than the usual laggy experience you get with Swing.
September 19, 2007 03:29 AM
Gaheris
You're using RCP right? If that is the case, how did you get the project explorer in there? Did you include the whole IDE UI plugin and manually remove all the crap it drags along with it? Or is it a custom implementation? If so, did you redo the functionality all by your self or is it based on the eclipse common navigator framework? What kind of backend are you using for it (workspace, something EFS based, database)?
September 19, 2007 04:32 AM
diablo_tk
Nice looking editor. I love making editors and wish I could make one as prettty as that ^^
September 19, 2007 05:03 AM
OrangyTang
Quote:Original post by Gaheris
You're using RCP right? If that is the case, how did you get the project explorer in there? Did you include the whole IDE UI plugin and manually remove all the crap it drags along with it? Or is it a custom implementation?

Yes, it's all RCP based, although I'm still learning how to properly use it all. I wanted to use the standard Project Explorer, but documentation is sparse (read: non-existant) on how to use it in a RCP app and I couldn't get it to work. Eventually after much messing around I decided to write my own custom implementation.

Quote:If so, did you redo the functionality all by your self or is it based on the eclipse common navigator framework? What kind of backend are you using for it (workspace, something EFS based, database)?

I had a look into the common navigator framework, but I didn't think it was suitable for what I was after (and again, documentation is sparse so I could well be wrong).

The actual implementation is pretty simple - it's styled on Visual Studio style project files and directories. So you've got a project directory which contains the project file (the one you open) and all the maps, sprites and scripts in sub directories. You should never have to touch the individual map files directly, but they're kept separate so it'll work better with source control (ie. changing just one map means just one file changes).
September 19, 2007 05:21 AM
Gaheris
Quote:Original post by OrangyTang
I had a look into the common navigator framework, but I didn't think it was suitable for what I was after (and again, documentation is sparse so I could well be wrong).

The problem with CNF is that it's not really that usable in RCP applications. There are several hacks to make it work, at least some people claim to have it work for them. There is a great series of articles on CNF at scribbledideas [1]. For using CNF in a RCP application I suggest looking at the hacks mentioned here [2] and here [3]. Make sure you read all comments and hopefully you can make it work (if you really want to do this). Apparently CNF will be improved for RCP usage in Eclipse 3.4 but that's going to take its time.

[1]
Building a Common Navigator based viewer (PDF)
- Part I
- Part II
- Part III
- Part IV
- Part V

- What does the Common Navigator Framework help me do? (PDF)

- Digital Paper Napkin (the blog)

[2] CNF RCP bug

[3] CNF RCP integration
September 19, 2007 05:48 AM
OrangyTang
Quote:Original post by Gaheris
Quote:Original post by OrangyTang
I had a look into the common navigator framework, but I didn't think it was suitable for what I was after (and again, documentation is sparse so I could well be wrong).

The problem with CNF is that it's not really that usable in RCP applications. There are several hacks to make it work, at least some people claim to have it work for them. There is a great series of articles on CNF at scribbledideas [1]. For using CNF in a RCP application I suggest looking at the hacks mentioned here [2] and here [3]. Make sure you read all comments and hopefully you can make it work (if you really want to do this). Apparently CNF will be improved for RCP usage in Eclipse 3.4 but that's going to take its time.

[1]
Building a Common Navigator based viewer (PDF)
- Part I
- Part II
- Part III
- Part IV
- Part V

- What does the Common Navigator Framework help me do? (PDF)

- Digital Paper Napkin (the blog)

[2] CNF RCP bug

[3] CNF RCP integration

Thanks for the links. I've seen the Digital Paper Napkin stuff but the other stuff looks good.

I'm still pretty new to the whole RCP thing, so I really don't have the experience to actually understand most of the stuff that CNF needs to work (and the various workarounds). I've basically written the whole thing off as too immature for proper use at the moment - especially as I only really need a simple list of maps for the user to open. I'm sure it'll improve over time though, so I'll probably revisit it at a later point and see if it becomes more suitable for my needs.
September 19, 2007 07:13 AM
Gaheris
Quote:Original post by OrangyTang
I've basically written the whole thing off as too immature for proper use at the moment - especially as I only really need a simple list of maps for the user to open. I'm sure it'll improve over time though, so I'll probably revisit it at a later point and see if it becomes more suitable for my needs.

Yep, I had the same reaction. I did do some experimentation with it but in the end I decided to revisit it in 3.4 or whenever they seriously improve it for RCP integration.

I love the RCP but after poking around a bit, trying to customize it I quickly get to the point where the APIs I'd need to access are internal ones or the functionality is not exposed at all. There still is a whole lot to do to make it really universally usable to build any kind of product which doesn't fit in into some sort of IDE type of application.

September 19, 2007 07:24 AM
OrangyTang
Quote:Original post by Gaheris
I love the RCP but after poking around a bit, trying to customize it I quickly get to the point where the APIs I'd need to access are internal ones or the functionality is not exposed at all. There still is a whole lot to do to make it really universally usable to build any kind of product which doesn't fit in into some sort of IDE type of application.

I don't seem to have had any problems bending it to my will, but then again the map editor is actually quite similar (UI-wise at least) to Eclipse's UI anyway. Since I've mostly ignored the system level bits I'm mostly using it as a UI framework.

Are there any particular bits you had trouble customising? They might be something I'll have to look out for.
September 19, 2007 08:30 AM
Gaheris
Quote:Original post by OrangyTang
Are there any particular bits you had trouble customising? They might be something I'll have to look out for.


Well, it might not be relevant to you and your editor, but as soon as you want to customize the workbench windows layout everything goes FUBAR. Basically a lot of stuff is not exposed (e.g. TrimLayout) or decoupled enough to be usable. Have a look at the bug to see what I'm talking about. Again, this probably shouldn't bother you much.

[RCP] Expand support for a custom workbench window layout

September 19, 2007 09:18 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement