Maidens of the Kaleidoscope

~Hakurei Shrine~ => Rika and Nitori's Garage Experiments => Topic started by: CrestedPeak9 on January 04, 2019, 09:17:47 AM

Title: mkm releases danmakufu as open source
Post by: CrestedPeak9 on January 04, 2019, 09:17:47 AM
So... mkm has released the source code for Danmakufu.

Danmakufu is now open source.

https://touhougc.web.fc2.com/products/th_dnh_ph3.html

What does this mean for the future of Danmakufu?
Title: Re: mkm releases danmakufu as open source
Post by: Helepolis on January 04, 2019, 03:27:25 PM
Split post from Q&A as it deserves its own thread (thanks for the report).

What does this mean for the future of Danmakufu?
Chaos if unorganized. Followed by death.
Title: Re: mkm releases danmakufu as open source
Post by: TresserT on January 04, 2019, 04:39:00 PM
Netplay when
Title: Re: mkm releases danmakufu as open source
Post by: niektory on January 04, 2019, 04:41:08 PM
Chaos if unorganized. Followed by death.
As opposed to just death if it stayed closed. At least there's some hope for it now.
Title: Re: mkm releases danmakufu as open source
Post by: Helepolis on January 04, 2019, 04:44:09 PM
As opposed to just death if it stayed closed. At least there's some hope for it now.
It was already long dead. This ensures nothing, because it is now up to the community to decide.

Edit: Danmakufu has been always strongly discussed on mkm's Japanese forums which you couldn't access without a Japanese IP. When he still was actively developing, several of us have reported bugs using VPN. Mkm didn't discriminate the help, but he was in control of the entire project. That control is gone now. This has nothing to do with being open or closed.

Why he decided to suddenly make it open source, who knows. So if everybody manages to combine forces and carry on a organized project, there might be good things happening. Though let us be very serious here: Language barrier is a thing.
Title: Re: mkm releases danmakufu as open source
Post by: TresserT on January 04, 2019, 05:03:04 PM
It was already long dead. This ensures nothing, because it is now up to the community to decide.

Edit: Danmakufu has been always strongly discussed on mkm's Japanese forums which you couldn't access without a Japanese IP. When he still was actively developing, several of us have reported bugs using VPN. Mkm didn't discriminate the help, but he was in control of the entire project. That control is gone now. This has nothing to do with being open or closed.

Why he decided to suddenly make it open source, who knows. So if everybody manages to combine forces and carry on a organized project, there might be good things happening. Though let us be very serious here: Language barrier is a thing.

How long ago was that? It's been years since mkm's updated anything hasn't it?

I also wonder how it can be considered dead when there's still an active community involved with it
Title: Re: mkm releases danmakufu as open source
Post by: Sparen on January 04, 2019, 05:31:51 PM
At the moment, we're trying to get an organized (hint: no conflicting standards) attempt at 'fixing' some of the problems with DNH now that it's open source. It will take some time to see if any meaningful progress is made.
Title: Re: mkm releases danmakufu as open source
Post by: Helepolis on January 04, 2019, 05:34:25 PM
How long ago was that? It's been years since mkm's updated anything hasn't it?

I also wonder how it can be considered dead when there's still an active community involved with it
The development of the engine was pretty much dead. People who use the engine were/are active, yes. But development was pretty much stalled.

At the moment, we're trying to get an organized (hint: no conflicting standards) attempt at 'fixing' some of the problems with DNH now that it's open source. It will take some time to see if any meaningful progress is made.
Sounds good. Curious, do you have any connections with the eastern community? Or does anybody knows what the eastern community is doing with this news?
Title: Re: mkm releases danmakufu as open source
Post by: Sparen on January 04, 2019, 05:58:28 PM
The development of the engine was pretty much dead. People who use the engine were/are active, yes. But development was pretty much stalled.
Sounds good. Curious, do you have any connections with the eastern community? Or does anybody knows what the eastern community is doing with this news?

I personally do not know anyone on the Japanese side. So far, it seems that the current LOCAA effort is going to be done by the English-speaking side. But of course it's only been a few hours and I don't know if Ultima created the repository yet, so things are still in the organizational stage.
Title: Re: mkm releases danmakufu as open source
Post by: CyberAngel on January 04, 2019, 06:09:57 PM
Chaos if unorganized. Followed by death.

Looking at Doom source ports as an example, I'd say you have nothing to fear here. Even possible branching won't be a hinderance to anyone willing enough.
Title: Re: mkm releases danmakufu as open source
Post by: Helepolis on January 04, 2019, 06:33:16 PM
Looking at Doom source ports as an example, I'd say you have nothing to fear here. Even possible branching won't be a hinderance to anyone willing enough.
I lack the knowledge of the Doom Source ports, so cannot judge or compare.

Generally speaking when things become open source: Ultimately, nobody will be hindered. It all depends on the ultimate motive of the people who want to pick up the source code and continue working on it. It depends on what the goal is and whether the engine should stay universal. Compatibility is important (if that is a goal). Imagine the following:

- Engine A, developed by some community added a new function to the engine. They start basing their scripts with this new function.
- Engine B, developed by some other community doesn't have this new function.

People using Engine B cannot use scripts made in Engine A, as it will conflict because such function does not exist. And this is just one of the examples.

Though then again, we could ask ourselves the important question: Does anybody care? Or should they care? I am just hoping for the sake of all Dnh users, people don't rush things and first start planning / researching. What ever choices are being made.

Edit:
Then again, lately the compiled code and exe is always released along with the scripts so the above example probably becomes less relevant.
Title: Re: mkm releases danmakufu as open source
Post by: james7132 on January 04, 2019, 08:56:37 PM
I've put up a read-only Github repo mirroring the contents of the ZIP file. https://github.com/james7132/Danmakufu-ph3
Title: Re: mkm releases danmakufu as open source
Post by: TresserT on January 05, 2019, 02:08:33 AM
- Engine A, developed by some community added a new function to the engine. They start basing their scripts with this new function.
- Engine B, developed by some other community doesn't have this new function.

If Engines A and B are both free and easily accessible I don't really see this as an issue. Worst case scenario, if you want to play a specific script you download the version of the engine that it's built on.

In fact, since like a dozen people use their own engines or GML or luastg instead of dnh, you could say we already have this "problem" and it hasn't seemed to inhibit anything. Universal accessibility doesn't really matter here I think...
Title: Re: mkm releases danmakufu as open source
Post by: Sparen on January 05, 2019, 03:36:22 AM
If Engines A and B are both free and easily accessible I don't really see this as an issue. Worst case scenario, if you want to play a specific script you download the version of the engine that it's built on.

In fact, since like a dozen people use their own engines or GML or luastg instead of dnh, you could say we already have this "problem" and it hasn't seemed to inhibit anything. Universal accessibility doesn't really matter here I think...

The main thing about this is that those who don't use DNH package their engine with their release. So far with DNH, the overall trend has been to just release the script without the engine because it is assumed that everyone knows what engine to use and how to play the scripts.

As long as everyone using a modified version of Danmakufu includes their executable along with their game, it should be fine, and going forwards it may be necessary to explicitly state what engine to run on.
Title: Re: mkm releases danmakufu as open source
Post by: CyberAngel on January 05, 2019, 04:31:08 AM
To elaborate on my example, there are several incompatible branches of Doom source ports but that doesn't bother anyone. Mod descriptions always mention which port they're made for. And wikis help a lot with keeping track of ports and where to get them.

But weren't there already problems with DNH that would need something that? Like there was older version and current version, and scripts for older version wouldn't work on newer one unless explicitly ported. Even if everyone started using new one to make stuff there's still need to keep track which scripts need which version, right?
Title: Re: mkm releases danmakufu as open source
Post by: Fragment on January 05, 2019, 12:05:37 PM
I hope this means that porting efforts will be started by someone out there, and that those will be done so that dmf could be improved and released on several platforms or architectures. I would like to see the program go beyond the Microsoft ecosystem.
Title: Re: mkm releases danmakufu as open source
Post by: Sparen on January 05, 2019, 01:03:10 PM
But weren't there already problems with DNH that would need something that? Like there was older version and current version, and scripts for older version wouldn't work on newer one unless explicitly ported. Even if everyone started using new one to make stuff there's still need to keep track which scripts need which version, right?

Yes, but 0.12m has been deprecated for more than half a decade. For years now, there has been exactly one version of Danmakufu to build for - ph3 [.1 pre6a]

I hope this means that porting efforts will be started by someone out there, and that those will be done so that dmf could be improved and released on several platforms or architectures. I would like to see the program go beyond the Microsoft ecosystem.

Cross Platform support will require the tedious process of rewriting all the DirectX code in the engine. While possible, it will take a while and features WILL be lost. I'm pretty sure that TriangleFan lovers will be one of the most notable victims if the graphics portion of Danmakufu were to be rewritten.
Title: Re: mkm releases danmakufu as open source
Post by: Fragment on January 05, 2019, 01:18:32 PM
Cross Platform support will require the tedious process of rewriting all the DirectX code in the engine. While possible, it will take a while and features WILL be lost. I'm pretty sure that TriangleFan lovers will be one of the most notable victims if the graphics portion of Danmakufu were to be rewritten.

Even so, the idea of having this program run in separate platforms WILL make the code more portable (evidently) and may give rise to code-audits for any undiscovered bugs that could be patched properly. I think if someone out there volunteers for the effort, it will be a win-win both for the community and the developers.
Title: Re: mkm releases danmakufu as open source
Post by: Helepolis on January 05, 2019, 09:58:06 PM
To elaborate on my example, there are several incompatible branches of Doom source ports but that doesn't bother anyone. Mod descriptions always mention which port they're made for. And wikis help a lot with keeping track of ports and where to get them.

But weren't there already problems with DNH that would need something that? Like there was older version and current version, and scripts for older version wouldn't work on newer one unless explicitly ported. Even if everyone started using new one to make stuff there's still need to keep track which scripts need which version, right?
Yes, but 0.12m has been deprecated for more than half a decade. For years now, there has been exactly one version of Danmakufu to build for - ph3 [.1 pre6a]
Indeed, and that version was backwards compatible with all previous ph3 versions.  Afaik, Mkm never made breaking changes. The only "breaking change" was the new engine (ph3).  So he definitely knew what he was doing.

We had to also somewhere make a hard decision to push people towards ph3 and quit actively supporting 0.12m on RikaNitori. It took some time, but eventually people let go of 0.12m. Supporting a deprecated version is tedious. Not to mention, ph3 was truly far more superior than its previous. Everything you kind of lacked in 0.12m was available in ph3. Sticking around with an old engine had absolutely no reason or benefits.

Even so, the idea of having this program run in separate platforms WILL make the code more portable (evidently) and may give rise to code-audits for any undiscovered bugs that could be patched properly. I think if someone out there volunteers for the effort, it will be a win-win both for the community and the developers.
Yes but with what goal/purpose? How many non-windows users are actually willing to seriously use Danmakufu ph3 as an engine for Shmups? I don't know the numbers, but definitely aint large enough to be worth the effort and time. Also, who will maintain it actively? It would require some dedicated effort to get it right and Sparen pretty much explained the side effects.

Edit Then again, because the engine is open source now, feel free to pick it up.

Edit 2:
If Engines A and B are both free and easily accessible I don't really see this as an issue. Worst case scenario, if you want to play a specific script you download the version of the engine that it's built on.

In fact, since like a dozen people use their own engines or GML or luastg instead of dnh, you could say we already have this "problem" and it hasn't seemed to inhibit anything. Universal accessibility doesn't really matter here I think...
Except that our forum never actively supported questions or material for anything other than Danmakufu 0.12m first and now ph3. If you use one engine, you can more easily exchange data, code. Tutorials can be written easier because you exactly now which feature is present and supported. Spawning multiple Engine versions will render this difficult. Not impossible, but just extremely tedious.

Can you imagine already a wiki where you have to point out every different feature with a different engine version?

Or imagine the following. A youtube tutorial where someone says: "Yea, for this feature you need Engine Q". But person was using Engine K. And if he/she changes engine, it would break some other feature which was exclusively available in Engine K.

Nothing prevents people from working on new features and merging them, using a single repository, as a new version for the same engine. This way you keep things organized and improve one engine. Which is exactly what Mkm also did. Except now more than one person can work on it.
Title: Re: mkm releases danmakufu as open source
Post by: Drake on January 06, 2019, 07:10:04 AM
I hope this means that porting efforts will be started by someone out there, and that those will be done so that dmf could be improved and released on several platforms or architectures. I would like to see the program go beyond the Microsoft ecosystem.
linkmauve took a look at the code wanting to port it but it was so spaghetti I think it scared him off


Personally I'm not too concerned about forks that are meant to just increase the scripting feature set. Making deeper changes to the engine might be the biggest issue. Script functionality and implementing those features is something different altogether and will probably be much easier to merge.
Title: Re: mkm releases danmakufu as open source
Post by: Kinedyme on January 06, 2019, 10:35:53 PM
So will the danmakufu wiki keep a tabs on new branch developments to the open source engine?

Although, that aside, I hope it will also always retain the documentation for ph3[.1 pre6a].
Title: Re: mkm releases danmakufu as open source
Post by: Sparen on January 07, 2019, 12:29:04 AM
So will the danmakufu wiki keep a tabs on new branch developments to the open source engine?

Although, that aside, I hope it will also always retain the documentation for ph3[.1 pre6a].

The GitHub itself will host changes. If proper 'releases' are done, then those can be documented separately from the base engine (as the base engine is the de facto standard for now).

If new functionality is added (cross platform/optimization/locale is the main priority at the moment), it will be documented accordingly, as the team working on it is essentially a team of software engineers and engine developers at the moment.
Title: Re: mkm releases danmakufu as open source
Post by: Mellow on January 08, 2019, 03:04:19 AM
This is.... Pretty big. Like, the concequences but also the learning opportunities. It's a risky, But not completely bad choice, I think. Hopefully they knew what they were getting into......
Title: Re: mkm releases danmakufu as open source
Post by: KDOXG on January 09, 2019, 02:53:41 AM
I'm still not expert on Danmakufu, but how negatively the users, devs and players, would be affected by this? I saw some worried comments and I became very intrigued.

I mean, comparing to open-source emulator communities like PPSSPP, the chances for having a large number of people using differents builds of the same program without knowing what they're doing are pratically null, most of reliable portals already points an specific, the best version. And from my experience on the emulator scene, people get used pretty fast to get updated, at least with the latest stable build ? although I agree it depends on the mutual interest. The only difference I can think is that no more will be relying on just one guy to continue using or developing scripts, but in a part of the community who would focus on updating the engine the same way as mkm used to, only to assure things would'nt be so different from now in the future. Though I'm not including, in this case, developers from standalone games that use Danmakufu as their engine, like Gore's Phantasmagoria of Imagine Breaker (I mean, that don't have to rely on opening the script by accessing the danmakufu interface, unlike danmaq's The Alternative Age for 0.11m). I think these ones would be the most favored, because there'd be less limits for their creations. I just can't see the problem here.
Title: Re: mkm releases danmakufu as open source
Post by: Drake on January 09, 2019, 08:19:10 AM
The problems are more related to the lack of clear communication and organization. It isn't at all like PPSSPP because there isn't any kind of project structure and the community is quite fragmented. It isn't like there's one primary github project to contribute and merge features/fixes into unless one becomes it de facto. What I find most likely is that some island forks will pop up but eventually most developments will wind down to just a few people and become somewhat stable unless there's significant divergence.