flareteam / flare-engine

Free/Libre Action Roleplaying Engine (engine only)
http://flarerpg.org/
GNU General Public License v3.0
1.1k stars 186 forks source link

Flare scope #395

Closed clintbellanger closed 10 years ago

clintbellanger commented 11 years ago

I feel like the scope of Flare has gotten out of my control. I want to discuss with you guys how to move forward.

clintbellanger commented 11 years ago

Let me put it this way: I have an idea for a little action RPG game that I want to make, maybe next year. I actually started thinking that Flare was too complex and that it would be better for me to start from scratch.

That's definitely not what we want. I think ideally Flare engine out of the box would handle very basic Action RPG gameplay, and anything more complex would be added on by people who fork the engine.

So I'm not sure the best way to approach this. I actually think we're close to Beta Feature Freeze for Flare -- almost no additional features are absolutely needed, and there are probably some features that should be cut. I think if we deal with scope aggressively we can actually finish the engine 1.0 and get some games out there.

Alternatively I might consider forking Flare-Engine into a separate kind of "Flare-Lite" that is a better starting point for stand-alone games.

As far as making flare-game into a full release game, nothing in the Engine side is stopping me. Maybe even it's distracting. I'd really like to switch over and focus on making and releasing the game I want.

pennomi commented 11 years ago

The only other feature I hope to see in core flare is cutscene support. As far as features that might not belong in core flare might go, maybe transformation might be a poly only feature. It adds a lot of complexity for a feature that's rarely used.

clintbellanger commented 11 years ago

Re: transformation, it's something I could force into Flare-game but I think it's not necessary. Maybe during Beta we can think about ways to isolate code/data so that patching in or forking transformations isn't completely awful.

I agree that cutscene support is good. But what I have in mind for cutscenes cannot be simpler: a slideshow of images and captions, with one background song playing during it. At least it would be its own GameState so that complexity is somewhat isolated.

clintbellanger commented 11 years ago

Let me also say that Flare 1.0 will not be the final version of the engine, and that it would be absolutely silly of us to think that the first version of the engine would be sufficient.

As we make more games using the engine we'll discover places where it was just too painful to extract or change a feature, and we'll refactor. Or simplify, cleanup, or cut things. Then Flare 2.0 would be in better shape and easier to work with (and 3.0, etc).

So we're not trying for perfection here. But we do want to make a cut-off point so that we can focus on cleanup, documentation, tutorials, and making games with Flare 1.0

dorkster commented 11 years ago

So, simple cutscenes are a 'yes'. I think the other major change previously planned feature was #120. Is that still within the frame of this release?

On a side note, I've had two features swimming in my brain that I think would be beneficial to both the games we make, and the games that others make. I may open separate issues for these.

Now, I'm not saying that 1.0 would require these, but they'd be nice to see.

clintbellanger commented 11 years ago

I think #120 is a necessary change. Having fixed tile units is just not going to work long-term.

I do like the idea of enemy style loot tables for map events. If you open a new issue and propose some map syntax for that we can review it.

It sounds like map event save triggering would work too. I suppose you're thinking that feature and disabling autosave elsewhere means making a game with physical save-points? Blue glowing circle style ala console RPG? If it can be done simply, I think it's fine to allow it.

dorkster commented 11 years ago

I suppose you're thinking that feature and disabling autosave elsewhere means making a game with physical save-points?

Exactly. It would provide a good way for game makers to control the game's flow such as when the player dies.

stefanbeller commented 11 years ago

I have renamed the milestone v0.19 Alpha Polish to Pre-1.0. Currently listed:

What features do you think are absolutely necessary for the engine 1.0?

Having the 4 points above included, I think the engine is good to go this way.

What features do you think should be cut from Flare due to complexity (makes code harder to work with for little gains)?

Maybe transformations, removing transformations from the core-engine would make #383 very easy. I am unsure about this and would rather leave it in.

What features do you think belong in downstream games (Flare-game, Polymorphable) instead of in the core engine?

Whatever @makrohn and other game devs can think of :smile:
Having answered the previous question, I'd really stress again, that the engine is in a good shape. (We're having already 3 games using the engine... Not sure how nice Concordia grew up the last weeks )

What we should really focus on now, is ease of use. This includes a uniform naming scheme (sfx <> soundfx was fixed already, but such alike). But also path names to be setup, see #115

Also while creating a tutorial on how to start creating a new game, we should check if the general structure of all the config text files is logical for newcomers.

stefanbeller commented 11 years ago

I added #115 to the Pre-1.0 Milestone

makrohn commented 11 years ago

I'll be honest, I'm having a terrible time with building Poly in XCode and I don't have a Windows machine to package an .exe in, so I'm going to cry a little inside if transformations aren't in the next binary release. I've been super looking forward to 0.18, with 100% code parity in Poly, so that I can toss the Poly mod folder into the packages, post them on my website, and put it to bed.

After that happens, if transforms are cut, I probably won't shed a tear.

I will look through for features I don't personally use, and would like to see.

We still need currency drop tables implemented, I believe, and for our current loot structure, that feels like a must. One other that I've run into a few times, is that a negative reward_currency works, but if the player doesn't have enough money, their currency will go into negatives. There's either a bug or a feature there that I'd like to see, but maybe isn't necessary.

makrohn commented 11 years ago

I'm currently really not sure there are any features I'd axe right now. There's nothing I would remove to make mod-building easier, which is really the barrier to developing a new game. Between when I started a documentation mod, and when I started Concordia, so many hardcoded references have been dropped. I try to make plenty of tools and scripts as I go to make it easier for other modders. And that, I think, is the real barrier to entry for a new total conversion mod - not compliance with any new features, but just the effort of creating new tilesets, enemies, powers, etc. no amount of cutting features will bring down that barrier. So, from that point of view, I would say FLARE is in a very good state right now.

stefanbeller commented 11 years ago

Added this topic to Pre-1.0 as well.

stefanbeller commented 11 years ago

Let me put it this way: I have an idea for a little action RPG game that I want to make, maybe next year. I actually started thinking that Flare was too complex and that it would be better for me to start from scratch.

I'd rather make sure the complex ideas being integrated have sane default values. This would lead to a very minimalistic game mod if desired.

Maybe the documentation on flare could help by making clear what are must have or advanced engine settings? This could be integrated into #703.

So I'm not sure the best way to approach this. I actually think we're close to Beta Feature Freeze for Flare -- almost no additional features are absolutely needed, and there are probably some features that should be cut.

Indeed, we're having now a very strict list of issues which are tagged Pre-1.0.

Alternatively I might consider forking Flare-Engine into a separate kind of "Flare-Lite" that is a better starting point for stand-alone games.

Please do not. The Flare-Engine has attracted a few developers by now, who are willing to make flare a good shaped engine, meaning all the required features being there and not too much bloat.

As far as making flare-game into a full release game, nothing in the Engine side is stopping me. Maybe even it's distracting. I'd really like to switch over and focus on making and releasing the game I want.

You're welcome. I'd really like to see the game you're talking about for long now. If you're feeling distracted by the engine in any way, just tell your developers, they can help out ;)

Bertram25 commented 11 years ago

Hi guys :) I've seen enormous progress on the engine. What is actually left at the moment?

stefanbeller commented 11 years ago

Hi @Bertram25 Currently these Issues are labeld "Pre-1.0" https://github.com/clintbellanger/flare-engine/issues?milestone=2&page=1&state=open

According to http://flarerpg.org/todo there is just the floating point conversion left. I think the 0.20 milestone ("play completely without mouse") is already done.

We are struggling with holding back new contributors with very exciting new features, but want to rather streamline and document the existing engine for a 1.0 release before accepting too many new cool features.

Bertram25 commented 11 years ago

Hi @stefanbeller Sorry for the late ack. thanks for the info. I, for one, am all for the stable experience as a user, and for full documentation as a potential content maker. You guys are doing an amazing work. I wish you all a nice summer time :)

I bet floating point based movement is almost in the box now, btw. I actually do think you're close from a new release. :)

Best regards,

clintbellanger commented 10 years ago

Closing this issue, we steered Flare to a scope-limited 1.0.