Silverware wrote: ↑
Tue Dec 12, 2017 3:12 pm
Yes! you should do like Taleworlds did, and make Vanilla a mod! Then we can use the core engine to do entirely different things!
Yes, that's what I meant -- vanilla gameplay is a mod. Makes it super-easy to integrate with other mods cleanly, but also makes it easier on us to write it, since the mod format is intentionally built to be a fast way to wire together the infrastructure that everything runs on.
Talvieno wrote: ↑
Thu Dec 14, 2017 8:00 am
Seeing as all the gameplay code is Lua, I'm pretty sure that essentially, most of vanilla will already "be a mod" - or a great number of mods, rather, that players can choose to keep, reject, or add to at their leisure. You wouldn't be able to throw all of them out without replacing them with anything, of course, because then there wouldn't be anything left.
Ateerix wrote: ↑
Thu Dec 14, 2017 8:13 pm
I'm late to the conversation, but I had a question about mod capabilities: Could you mod the starting conditions of a universe? My idea is that NPC's will only spawn in your starting sector. Like a "lonely universe" kind of thing, where everything moves out and expands from that one sector. The further you go, the more alone you are while you wait for the NPC to expand and catch up. Could make selling discoveries a more useful profession? Or also, can you mod how spread out other NPC sectors are? Could you make it so that the next colonized NPC spawning planet is 50 jumps away kind of thing?
As someone who doesn't know any code, if this is a possible thing to be able to mod, how hard would it be? What sort of coding language should I look into learning so that I may be able to code this if/when it's possible? Or will some starting conditions be adjusted via sliders on universe creation?
What Talv said. That will likely be doable with universe gen sliders alone, possibly with the exception of the 'lonely universe.' But it is very easy to implement: system generators, when determining 'starting population,' use some math to create coherent variation across space, such that one finds 'pockets' of populous regions that smoothly fade into pockets of void (remember that this is just the population at "the big bang," empty sectors are subject to becoming non-empty as the game unfolds and AI does its thing). 'Lonely universe' just replaces (or clamps, or multiplies) that number by a radial falloff function (i.e., 1 at the 'center' and becomes smaller and smaller as you go away from the center).
Since that kind of thing is so easy to do, I don't see why I shouldn't just include a listbox of 'universe configurations' that changes that function (one of which could be 'lonely universe' as you call it). Certainly if I don't do it a modder will have no problem with it
Ateerix wrote: ↑
Fri Dec 15, 2017 5:33 pm
That sounds great!! Anyone know of a good resource for figuring out/learning lua online?? =)
TBH the online references for Lua are lacking at best (the official documentation is...not great.) This is compounded by the fact that you'd be writing LT's specific flavor of Lua, which means LuaJIT + some extra stuff added by the engine. In addition, some of what is OK in 'idiomatic Lua' is not great for us performance-wise, and vice-versa. So, all things considered, it's probably most effective to just learn from the vanilla LT source at release. That way, you will be learning 'good practices' in the context of the LT engine right off the bat, and won't have to 'unlearn' anything. Much of the source is very easy to read and I don't imagine you'd have issues learning by starting with small tweaks of the vanilla code and working your way up.
Probably a more helpful approach for the intermittent period would be just learning another programming language so that you're already familiar with general programming concepts and have a handle on how various things are typically accomplished. Frankly, I would recommend learning Python, just because it's incredibly useful (more relevant than Lua by a wide margin). It's also similar to Lua in several ways, so knowledge transfer wouldn't be difficult. There are also a lot
more quality resources for learning Python online
Not to say you shouldn't go learn Lua if you want to. Just tossing out some thoughts