$12256 / $11500
I am sorry to announce I will not be returning to develop of my mod, fallen-kingom. Engine was too restrictive for what I wanted to make. I have instead turned to modding "Pixel Dungeon". It is on my GitHub.
I do however have a final gift if you want it. I began a dungeon crawler FLARE mod. Do you want me to upload Source? It has WIP random generation and mobs. From fantasy core engine.
Sure, new art is always appreciated
Sure, share it! Just out of curiosity, what did you find restrictive about the engine in relation to what you want to make?
Sure, new art is always appreciated
Still uses fantasy core. But yes I will publish.
What I found restrictive was the fact that there is only so much you can do with an engine that you can't directly mod. I don't know C or C++ or whichever it was, so I could not add engine functionality. One thing that annoyed me, for example, is how inflexible the buufs and enemy system is.
I see your point. I think that Flare's philosophy / design goal, as with many engines, is to give modders the most control possible. In theory, every aspect of the game should be controlable by mods, in the form of .txt files, so that one does not have to actually touch the C++ code. The source code should provide a bare minimum but flexible set of conditions. Modifying the C++ code should be a sort of last resort, it should be possible to do everything via mods.
That being said, in my case for example, my knowledge of C++ is next to zero. FLARE gives me the excuse for trying to learn that language, at least in a meaningful way. There's only so much you can do with making small "Hello World" programs and the like. Trying to contribute to something way more complicated like a game engine is a daunting, overwhelming task. But the things one learns by doing this are priceless.
Really, if I could start learning C++, then I assure you that anyone can do it. The syntax may be a bit daunting at first, but eventually you start to see patterns in what initially looks like pure chaos.
Hope that helps
I agree about the daunting part. I have been using c++ on and off for years but its still hard for me to understand how everything is put togther. I know the syntax of c++. I understand loops and functions and classes and all that stuff but figuring out how a program works is not easy for me. I can see the classes and read the functions knowing what is happening seperately sort of speak but that doesnt mean I understand the entire program works as a cohesive whole especially without documenattion. If it has documentation Im usually ok but ive never been able to figure out projects of any size worth noting if it has no documentation. This is one of the reasons why I am slowly drifting away from programming and learning more about art. My mind has always been more artsy than numeric anyway.
I'm slowly working on a documentation for the flare-engine. I think I may start by trying to write a general description of what it is, what it does, and what are the parts that it's made of.
Broadly speaking, it starts with the main function, found in main.cpp. There are also other functions in that file, together with an object of the GameSwitcher class. The GameSwitcher is the part of the engine that is in charge of switching between the main screens, the ones that occupy the entire view. Generally, these are called "game states" according to FLARE's terminology. For example, GameStateTitle, GameStateNew, GameStatePlay, etc. The saving and loading functions are controlled by a part of the engine called SaveLoad. There are also several managers that control other things, like the animations for example. There are some algorithms for pathfinding (such as "A-star"). There are also general purpose files such as CommonIncludes.h, Utils, and such. There is also a file parser that apparently is in charge of reading to/from .txt files.
Well you get the idea. There's a lot of work to do, but I actually find it quite fun to do, even if my skills are less than mediocre.
I haven't tried flare, but it looks to me like its modding is currently limited to data: adding item/unit types, and changing configuration parameters. That's always a good start for a modding API, but either your modders are limited in how much they can change actual behavior/logic, or you end up with some abomination like Wesnoth Markup Language [1].
What would really help in cases like this would be to embed a real scripting language. MiniScript [2] was designed for just such embedding. There is a C++ implementation of MiniScript [3] that would be very easy to integrate with flare, and then modders could use a simple, elegant, Unicode-savvy, fully-featured programming language to script the game.
Who should I contact to explore this possibility further?
[1] https://wiki.wesnoth.org/AdvancedConditionalWML
[2] https://miniscript.org
[3] https://github.com/JoeStrout/miniscript/tree/master/MiniScript-cpp
Hello, you would have to contact Justin (his nick is Dorkster), he usually checks the forum but you might want to send him a PM.
Never heard of MiniScript until now but it looks interesting. There were some discussions about implementing either Python or Lua in Flare. You might want to check the github repo.
Thanks, will do. MiniScript is a lot easier to embed (and lighter-weight) than Python, and a lot nicer to use (in my opinion of course) than Lua. So I'll send him a note! Thanks for the assist.
I'll just say up front that I have no interest in moving Flare to using a scripting language at this time. The current "API" has been good enough for us to make our game, as well as other modders' games like Ghostlore.
Lua has definitely been tossed around as an idea. I didn't know about MiniScript, but after giving it a quick look, I think I would prefer it over Lua if we ever do scripting.
Oops, just sent you a PM before seeing this. Well, if you ever change your mind, you know where to find me! :)