Page 1 of 1

More "flexible" entities API

Posted: Mon Jul 21, 2014 11:09 pm
by Forien
I'm new to modding, and new to Factorio, but I've ran into many, many problems, issues and other stuff that are making some of my ideas completely impossible to do atm and other extremely hard to do. And I realised that I spent more time thinking of some "ways around" than modding itself. But I'm not here for complaining, so let's skip whining :)

I'm pretty positive it's been mentioned earlier by someone else, but I'm still feeling like "I should post it".

I don't know how entities works inside game code, but it is known to me that entity types are hard coded, and each entity type has hardcoded attributes (parameters), methods, events etc. And I know that making entity like "building-with-absolutely-anything-you-come-up-with" could be unstable if current core is not ready to take it. But hey! Something like that would be awesome. We would have a building entity, and we could make it anythink we want.
Produce energy? Done.
Use recipes? No problem.
Shooting? Bring it on.
Playing with items? Ok.
Have burner? Sure.
Rely on sun/darkness? One more line.
Rotable? Can mine? Placeable only on specific tiles? Water?
etc.

You get the point, right? It would be really, really awesome to have complete control about modded entities through API. I can't even imagine what people would come up with. But I can imagine how simplier modding would be.

I understand if it's too hard, or just too complicated to implement. So I make here another request, a lil' smaller:
Make some entity types more "general".

Perfect example is "generator". Currently it requires heated liquid (not sure if water only), and can't work with recipes and can't have burner. You made another entity type "solar-panel". And that was shock for me. Before I started modding I thought they will both be something like "power-plants" or "generator". And I think that would help. To have more general type "generator" and let modder choose if it needs heated liquid, sun, recipe, or does it run all time?
Same for others entities. I just find them too limiting atm.

Sorry if I sound like ordering you around or something, that's not my intention. I just want to give you a hint what I expect from modding system, and what imho will be really and widely appreciated by modding community.

With regards,
Forien

Re: More "flexible" entities API

Posted: Tue Jul 22, 2014 12:14 am
by Dark
I would not say that modding something special is impossible right now, but it requires creative use of existing tools, finding the "ways around" is a challenge, an interesting one, there is own fun in overcoming it.

The game is in alpha and modding API is far from finished.
Devs said that there will be customizable entities in the future, not the near one I presume.
Personally, I would be happy with flag-controlled behavior + callbacks for complex cases.

Re: More "flexible" entities API

Posted: Tue Jul 22, 2014 1:51 am
by Forien
Dark wrote:I would not say that modding something special is impossible right now, but it requires creative use of existing tools, finding the "ways around" is a challenge, an interesting one, there is own fun in overcoming it.
That's true, but not always. There are some cases in my project I just can't make via "ways around" :P Maybe that's reason why there is no other mod fitting my idea :P

And I know that API is far from finished. And - correct me if I am wrong - this subforum is place to point our suggestions and expectations to API, isn't it?

Re: More "flexible" entities API

Posted: Fri Jul 25, 2014 8:39 am
by slpwnd
@Florien You have some good point. The thing stopping us to make the Modding API better is basically a lack of man power. But don't worry it will get better eventually.

Re: More "flexible" entities API

Posted: Fri Jul 25, 2014 8:04 pm
by Forien
slpwnd wrote:@Florien You have some good point. The thing stopping us to make the Modding API better is basically a lack of man power. But don't worry it will get better eventually.
It's "Forien". Without "L" :D (don't worry, many people adds it).

And as I said - I'm just pointing what could help a lot, and what'd I want to see. Do it only if you want and do it when you will be able to. :)
No need to hurry as game is already great (I love the optimization!), so take your time to make it even better :)