ChainsawGarden / Cataclysm-DDA-DF

Cataclysm: Dark Days Ahead is free, libre & open-source turn-based survival game set in a post-apocalyptic world. Struggle to survive in a harsh, persistent, procedurally generated world.
Other
14 stars 4 forks source link

Elaborate on the nature of the fork #1

Closed Hyperseeker closed 2 years ago

Hyperseeker commented 2 years ago

(I've decided to forgo the templates this one time, seeing how Discussions aren't set up for this repo yet and how this is neither a feature request nor a bug report. Apologies if this causes some chaos.)

Hi! I'm the developer of the Frontier Mods collection, which includes Gunsmith and Armory. (The former has received praise from the player base. The latter's unique features have been ultimately implemented on the engine level in the DDA proper.)

I've noticed that you keep developing this fork, which is exciting to me in no small part because of this fork's reimplementation of Lua: something I've been advocating for for a while. This kind of decentralized development, when it permits players to add their own functionality to the game without having to go through the gatekeepers, is something I'm a big fan of.

Partly, I'm also drawn to Delta Fork because of its promise to be "feature-complete" and "technologically-advanced". While these are both alluring promises, they don't exactly paint a clear picture as to the future of the fork.

I'd like to help any non-core DDA development if it aligns with my own goals. I have a suite of mods (shamefully, most are still in development) that seeks to expand the game significantly, which is something I could do on my own. However, if I could instead use my time to help someone implement something similar, I'm game.

If you could elaborate on what are you looking to achieve in more specific terms, that would be great. I'd like to lend a hand where I can. As I speak no C++, that would be JSON, docs, and the lore – the latter of which I have a good idea for.

— Steve

ChainsawGarden commented 2 years ago

Hello @Hyperseeker ! I apologize for the delay, I mostly just push code and check the Actions tab. I'll be more observant of GitHub from now on.

I greatly appreciate your work, and I would be humbled if you could implement your mod, Gunsmith, to be a permanent addition to Delta Fork. As there will be an arcade mode, players will be able to alternate between between "regular" guns to Gunsmith's more realistic gunmod system.

Now, let's get down to business. The following should give you more of an idea of what this fork is about.

Concerning feature-completeness...

Now, as for being a technologically-advanced fork:

Lua

Lua's one of my biggest motivators into making this fork. As you've said yourself:

This kind of decentralized development, when it permits players to add their own functionality to the game without having to go through the gatekeepers, is something I'm a big fan of.

Lua's very easy to use, great for rapid-prototyping, and is an overall great way to onramp new devs. As long as the C++ developers of the codebase is conscious of changes that could affect Lua users and devs, there should be no issue; especially with clear, consistent and concise communication.

I'm working on a couple of old Lua mods myself right now. Should be somewhere in my repos. And hopefully they inspire old lua modders to come back and add to the ecosystem.

AI Dynamicism

Heavily expanding on AI / NPCs and the dialogue system is in the works.

Multiplayer?

Multiplayer is confirmed but I won't be working on it until some time later. It's going to be split-screen for local players, and it'll have its own little servers people can set up over the internet. Splitscreen is going to be the most difficult, because apparently, windows doesn't like it when you connect multiple keyboards. But! I'll find a solution to that. I don't know where to start multiplayer-wise aside from setting up the sockets, so I put this on the backburner until I can't find anything else to work on.

Technical

On the technical side I want Delta Fork to be an easily-accessible ecosystem. I want people who want to start developing to understand how to code and how the game works. I'm working on my own instance of moodle, an open-source learning platform to help on-ramp new modders & devs. No links yet, everything's being done offline.

I am working on mod tools and a launcher. Both will be made in Electron for the time being, then I'll play around with Tauri for saving performance.

The Mod Market

One of my biggest projects for the future will be a mod market. Not a market where you can buy mods (because I don't believe in buying mods). But a decentralized, cryptographically secure market where you can request mods, make mods, and get paid for it. Think of it like a bounty system. Someone posts the mod idea, and specific parameters to narrow down on what needs to be made. Others can add to the request, thereby creating a "fund pool". Anyone can start working on the request. The entity/individual that satisfies all the requirements is paid by the fund pool.

To address the potential issue of having various developers submitting works that may far exceed quality and funder expectations of the "accepted" one, there will be options by the initial entity (whether it be a group or individual) to distribute funds to various mod developers, or the funders themselves will be able to vote on which modder to give the funds to. The works that did not receive funding would indeed remain on the market, tied to the original request. The software that facilitates this will be free, libre and open source just like the game itself.

I hope this wasn't too much to read, but this should give you a general idea of what I want to do with Delta Fork.

Hyperseeker commented 2 years ago

Is there a place where we can discuss all the ideas mentioned? Discord or, better yet, the Discussions page of this repo? I'm interested in further getting your response to the questions I have, as well as providing some ideas of my own.