Something like "SDK Modeling Framework"?

How do you create your (data) models?

I like to work with an extended version of the Eclipse Modeling Framework, but it is specifically for insurance and not privately available.
I also tried the official version (Eclipse Modeling Framework – Wikipedia) in connection with JME3 plus Acceleo for my own additional generators, but sometimes I have trouble. I’m also not happy with the documentation and forums.

I was wondering if there is a modeling framework for SDK or beans that I can use to generate my code quickly. In the editor I only describe the enumerations, classes, attributes and methods, lower and upper bound, types etc. and my classes (in SDK probably beans) are generated.

Here’s an example. Excerpt from the prototype, i.e. the part that defines the possible landscape.

Here is another example. Excerpt from the entity, i.e. the part that saves the currently displayed landscape.

And how do I integrate such a data model editor and data model generator in SDK 3.3?


1 Like

Would this be a case of a UI driven design that then autogenerates code for you?

I’m not sure that really fits with the jMonkey philosophy, in the opening at it says:

“jMonkeyEngine is a modern developer friendly game engine written primarily in Java.
Its minimalistic and code first approach makes it perfect for developers who want the support of a game engine while retaining full control over their code with the ability to extend and adapt the engine to their workflow.”

jMonkey is code first, that’s one of the reasons I chose it and I suspect that’s true of many of its users

1 Like

From that point of view you are unfortunately right.

For me, engine and model are two packages, engine can stay code first, but I would like to generate the model.

Can I still repeat the first question here in this forum, knowing that I am currently breaking all the principles of JME3, whether anyone at SDK knows such a modeling tool?

Ultimately, I don’t want to build a game, but a construction kit for special types of games. I have to worry about a game editor. This is only possible with a stable model. My “game” is empty, first the MODs should add the content.

The model would have to be stored in a UI-driven editor. The classes and a (suitable) editor would be generated. The generated code (classes and editor classes) could be deleted and regenerated at any time.

And here is my biggest problem with emf: The editor is not nice and looks tied to eclipse.

In the editor the prototypes of a MOD can be entered UI driven (grass is green and uses the texture grass.png)

Edit: By the way: it’s code first and not assets first. And yet I can create an asset project.

Why not also (additionally, voluntarily, optionally) a data model project.

I will leave out my opinions on how stinky code generation is for anything but entirely requirements driven projects and others probably should as well. Preempting that because it’s probably an opinion shared by 90%+ of developers (at least here) and would dilute this thread.

As to your question, it’s unfortunate that there is not a terminology way to separate “model” as in 3D model of an object and “model” as in “code concept”. I suspect you will constantly have to correct folks if this topic goes on for a while.

Though, here you also seem to be conflating assets with code model… so perhaps even I have misunderstood.

yes, very dangerous. Maybe an admin would prefer to delete this post. That would be okay with me

I think your question is a valid one for folks who wish to pursue this particular line of development. It’s just unfortunate that the terms are so similar.

1 Like

It’s not what you’re asking for but have you seen lombok. It reduces the “do I really have to write all this repetitive code” factor

An interesting separate thread might be one about when/where/why “code modeling and generation” is appropriate and the various alternatives for when all 4-5 checkboxes are not ticked. (requirements driven directly by customer, complete specifications provided, strict TDD, etc.) Having lived through the “Rational Unified Process” several times with that PTSD still affecting me to this day, I can say a lot on that topic… and it’s all I can do to keep that from spilling here.

Lombok is a partial answer for which there is also the corollary of keeping those kinds of “data model” objects in a scripting domain that doesn’t require the boiler plate at all (e.g.: Groovy, etc.) Based on the age old weakness of code generation: “If I can generate the code then why do I have to write it at all?”

Sometimes it’s the visual aspect of data modeling software that is appealing and so lombok wouldn’t really help there, I guess. Depends on the motivation of the original questions.

1 Like

I want to spend hours changing the (data) model, gradually expanding it week by week. So I’d prefer a UI based XML editor first.

Well, I can still abuse emf’s Ecor editor and write my own generators with Acceleo, copy the package to the SDK. Official EMF, however, has so many shortcomings.

But of course it would be a gladness if the generated code could be shortened with lombok.

Does lombok work with SDK 3.3?

Having never used emf, so i am not familiar with its feature set, is there anything preventing you from developing your own tool using jme? It may be a lot of work, but you will find that adapting any tool will be a lot of work. By building your own you can build the features to work to fit your needs.

1 Like

I would need a tree editor (like JTree in Swing or a directory structure on a hard disk), then a tabular input of attribute values (e.g. Name: “world”; Type: “MyWorldClass”) to edit an XML (semantically valid).
Then just a text generator that uses the XML entries to create my Java classes in the correct package structure.
Complete :slight_smile:

That could actually be a problem. :thinking: