What I'd change (and the Source Contribution Program)
Moderator: Moporators
What I'd change (and the Source Contribution Program)
The new owner of Elasto Mania made a post about getting people to sign up for a Source Contribution Program. How it'd work is you'd sign an agreement to not leak the code, work on the source code of the game, and then give your work to the owners.
I don't buy it. This game is old, and it's about time to hand the reigns to the community. This would be a great community driven open source game (like Unciv or OpenTTD) but the source code is being dangled in front of our eyes like a carrot. I don't like the idea that the community should drive all the improvements, and the profits all pile up in some external hands. Open source software is entirely different, I'm pleased to contribute to, and have contributed to, open source softwares that are public goods.
The quality of the client, online compatibility, and server of this game would be massively improved if more people could put work in to it collectively. There are people who want to help. Let's be honest, the original game getting on Steam is cool, but we're past that. We're in the online era now.
In its current state, I'm not going to sign up for the program. Maybe some words of confidence might change my mind, I'd like to hear how I'm misinterpreting this.
Anyways, in my time chatting with different people I've come across a lot of interesting improvements one could make for the game. Since I'd rather put my efforts in to projects that I'm not so conflicted with, I'll try to remember some and post them here. I invite anyone to discuss other good ideas, as well as the situation around the Source Contribution Program.
Basically all of these suggestions (where it makes sense) I'd imagine would be implemented as options, as many people prefer the old school ways.
ElastoMania features:
- When you enter the Save Replay function it automatically fills with '01tej1370' for internals or 'QQWR247tej2215' for externals.
- Additionally, all replays in your Top10 are saved with this (or another, configurable, format)
- Level file names and replay file names max length is increased from 8 characters to something higher (perhaps 20).
- In the internals selection menu, typing in the number or name of the level will bring you to that level. '30' or 'pi' to Pipe.
- External levels can be starred, and starred levels can be accessed separately. The menu itself is also a mess, and should be sorted in some way into groups
- From a level's menu, you can select 'Replays' and see only replays that you have saved for that level.
- A 'Compare to' option is available after you finish or die, which will open the Replays menu (from above) and merge your previous replay with the one you select.
- All settings are no longer controlled by eolconf.exe, nor do they write the executable (eol.exe) itself. They are stored in a json or another reasonable format in the root directory. For example: 'settings.json'. This file can be edited by hand, or interested community members can write their own manager GUI for it. In game, there is some way to reload your settings without quitting out. The same goes for the settings in the game's integral Options menu.
- All inputs are configurable, if you want to enter levels with your plus key instead of Enter, feel free.
- The death delay is configurable.
- Internal Errors do not crash the program, they warn the user and return them to the level select menu.
- The graphics pipeline is streamlined. A basic rewrite would easily x4 or more framerates on capable machines.
- 'Play next' is moved so it is consistent with external levels.
- 'You failed to finish' or 'You made the top 10!' and all the space below on the screen are replaced with your actual top 10, if you make a top 10 time it is highlighted in the list.
EOL features:
- The username and password for eol are not stored in the executable file itself, they are stored in a more modern way. I'm not sure what the current protocol is, but the password is sent to the server encrypted securely.
- The in game menus allow you to see the results of each previous battle (perhaps with some limit) and to download that level if you choose. Players who come in the night can effortlessly download the levels from that day and hoyl all night. The same goes for recs.
- The F5 menu can be sorted by level or by alphabet. You could easily see who is participating in what battle or wcup or internal together.
- When the player you are private messaging goes offline, you do not get set to public chat. Instead, the server could either say "This player is now offline" to you, or your messages could be sent to them when they return.
- Apples collected in apple battles are hidden unless they are gravity apples, in which case they are shown as a 'ghost image'.
My final thoughts are: I hope this game either goes open source, or jonsykkel's okeol does, and the community can contribute to itself in a communally-serving way.
I don't buy it. This game is old, and it's about time to hand the reigns to the community. This would be a great community driven open source game (like Unciv or OpenTTD) but the source code is being dangled in front of our eyes like a carrot. I don't like the idea that the community should drive all the improvements, and the profits all pile up in some external hands. Open source software is entirely different, I'm pleased to contribute to, and have contributed to, open source softwares that are public goods.
The quality of the client, online compatibility, and server of this game would be massively improved if more people could put work in to it collectively. There are people who want to help. Let's be honest, the original game getting on Steam is cool, but we're past that. We're in the online era now.
In its current state, I'm not going to sign up for the program. Maybe some words of confidence might change my mind, I'd like to hear how I'm misinterpreting this.
Anyways, in my time chatting with different people I've come across a lot of interesting improvements one could make for the game. Since I'd rather put my efforts in to projects that I'm not so conflicted with, I'll try to remember some and post them here. I invite anyone to discuss other good ideas, as well as the situation around the Source Contribution Program.
Basically all of these suggestions (where it makes sense) I'd imagine would be implemented as options, as many people prefer the old school ways.
ElastoMania features:
- When you enter the Save Replay function it automatically fills with '01tej1370' for internals or 'QQWR247tej2215' for externals.
- Additionally, all replays in your Top10 are saved with this (or another, configurable, format)
- Level file names and replay file names max length is increased from 8 characters to something higher (perhaps 20).
- In the internals selection menu, typing in the number or name of the level will bring you to that level. '30' or 'pi' to Pipe.
- External levels can be starred, and starred levels can be accessed separately. The menu itself is also a mess, and should be sorted in some way into groups
- From a level's menu, you can select 'Replays' and see only replays that you have saved for that level.
- A 'Compare to' option is available after you finish or die, which will open the Replays menu (from above) and merge your previous replay with the one you select.
- All settings are no longer controlled by eolconf.exe, nor do they write the executable (eol.exe) itself. They are stored in a json or another reasonable format in the root directory. For example: 'settings.json'. This file can be edited by hand, or interested community members can write their own manager GUI for it. In game, there is some way to reload your settings without quitting out. The same goes for the settings in the game's integral Options menu.
- All inputs are configurable, if you want to enter levels with your plus key instead of Enter, feel free.
- The death delay is configurable.
- Internal Errors do not crash the program, they warn the user and return them to the level select menu.
- The graphics pipeline is streamlined. A basic rewrite would easily x4 or more framerates on capable machines.
- 'Play next' is moved so it is consistent with external levels.
- 'You failed to finish' or 'You made the top 10!' and all the space below on the screen are replaced with your actual top 10, if you make a top 10 time it is highlighted in the list.
EOL features:
- The username and password for eol are not stored in the executable file itself, they are stored in a more modern way. I'm not sure what the current protocol is, but the password is sent to the server encrypted securely.
- The in game menus allow you to see the results of each previous battle (perhaps with some limit) and to download that level if you choose. Players who come in the night can effortlessly download the levels from that day and hoyl all night. The same goes for recs.
- The F5 menu can be sorted by level or by alphabet. You could easily see who is participating in what battle or wcup or internal together.
- When the player you are private messaging goes offline, you do not get set to public chat. Instead, the server could either say "This player is now offline" to you, or your messages could be sent to them when they return.
- Apples collected in apple battles are hidden unless they are gravity apples, in which case they are shown as a 'ghost image'.
My final thoughts are: I hope this game either goes open source, or jonsykkel's okeol does, and the community can contribute to itself in a communally-serving way.
Re: What I'd change (and the Source Contribution Program)
https://elastomania.com/contributor.html
Very interesting! I hope that somebody from the scene will participate. I would be interested but i have zero free time for this kind of projects. I understand that Smibu/mila/jonsykkel do not probably have very high interest in this project because now they should start everything from the beginning... But I still hope this is a way to a legal online elma!
Very interesting! I hope that somebody from the scene will participate. I would be interested but i have zero free time for this kind of projects. I understand that Smibu/mila/jonsykkel do not probably have very high interest in this project because now they should start everything from the beginning... But I still hope this is a way to a legal online elma!
A winner of 4 GAA's (mc2 included), winner of mkup206, and a proud member of team TAP.
Play uni levels: http://koti.mbnet.fi/zebra/uni.html
Homepage: http://koti.mbnet.fi/zebra/elma.html
Play uni levels: http://koti.mbnet.fi/zebra/uni.html
Homepage: http://koti.mbnet.fi/zebra/elma.html
Re: What I'd change (and the Source Contribution Program)
Yuck, this is pretty iffy indeed. Elastomania is a masterpiece, and the team that created it deserved every penny they got (hell, they probably should have received a lot more if you consider all the people who pirated the game). At the same time, it's important to remember that it was the members of the community that took Elma to the next level by creating staggering amounts of sophisticated additional content for free. Of course, this is complicated by the fact that many of these enthusiasts got the game illegally and went against the creators' wishes by creating unauthorized patches, but they still deserve recognition and respect as an extremely powerful force that made Elma what it is today.
And now we have an unknown third party (that has nothing to do with the genius responsible for this amazing work of art) acquiring the rights for the game, profiting off it and even inviting volunteers to develop it further on a voluntary basis under harsh restrictions? This reeks of colonialism.
And now we have an unknown third party (that has nothing to do with the genius responsible for this amazing work of art) acquiring the rights for the game, profiting off it and even inviting volunteers to develop it further on a voluntary basis under harsh restrictions? This reeks of colonialism.
Re: What I'd change (and the Source Contribution Program)
As for the source contribution program it makes no sense at all to me. The amount of work Kopaka has put into this, as well as mila, smibu and jon -- I can't imagine any sane person would do anything similar to that and just give up their rights to their own code.
I didn't even read your suggestions for improvements tej, as there is a whole forum for that.
I would however like to summarize the main points I have got, after years of deliberation and discussions:
- The way I understand it, the main essence of elasto mania is relatively simple, which is the physics and lev and rec formats. That code has been reversed engineered into C++ (by Smibu), rewritten in C (by jonsykkel) and Rust (dunno by who). This is the jewel that Kalmard has ownership of, and can be treated a sacred entity.
- Milagros has brought this game to online multiplayer mode, which is invaluable to this community.
- Both Smibu and jonsykkel have attempted to improve the game, and it seems to be that they made the tasks too big for being handled by themselves. Jon told me he was excited about this project, but the last he wrote about it was that he was no longer excited (although only taking a break).
I don't want to undermine the efforts of Smibu or jon, but I have argued before, and I still believe that open sourcing the online multiplayer experience is the way to go. This is not a simple process.
Some key points:
- Elma Online is not a simple database, and shoult not be handled by one person
- The UI of Elma Online 2 is not simple either. Jon has done a lot of work on this, but it doesn't seem it's possible to do it well without a community efforts.
- The website elma.online is very good for watching recs online, but why should times/cups/levels and so on be handled on a website rather than inside the game? If it were inside the game however, the UI would get even more complicated.
I think the online experience should be developed and maintained by the community. In order to do so there is a need for a good strategy and modularized project. For example:
- the project should be made into intelligible modules, such as explicit over implicit. For example, if the API is made with very high quality, then any average coder could make websites with that data. The console of Okeol (with settings for the game) should also be made with very high quality, whereas the ui for the settings should not be a priority until the console is done. The API and CONSOLE would then be the core, with which the UI later would be developed.
- the API and CONSOLE are faster to make and easier to make with good quality than UI
- if the API and CONSOLE are well made, the UI only needs to be accessible, and could be improved for years and years after (compared to now.. how can we utilize Smibu's efforts? What if all that focus was put into only the CONSOLE? than one piece of the puzzle could be complete)
- the strategy has to focus on milestones, and not optimize different things at the same time. For example if both the console and ui for the game are made simultaneously (optimizing both gaming experience and user friendliness at the same time), without game and experience feedback, both of those components will need to be updated many times (instead of first making the console work and then only make a few implementations of the UI).
- the API and CONSOLE could be open source github projects, so that we all can contribute both with code and issues
- basic features have to be created first, and made sure to run smoothly (by community efforts, such as finding WR and battle bugs) BEFORE more features are added
- gradual is usually the best way to transition, so some part of the competition could be moved over to the new version before abandoning the old. For example new internal WRs could already start in okeol and be official with those physics, while old WR list is still ongoing
I didn't even read your suggestions for improvements tej, as there is a whole forum for that.
I would however like to summarize the main points I have got, after years of deliberation and discussions:
- The way I understand it, the main essence of elasto mania is relatively simple, which is the physics and lev and rec formats. That code has been reversed engineered into C++ (by Smibu), rewritten in C (by jonsykkel) and Rust (dunno by who). This is the jewel that Kalmard has ownership of, and can be treated a sacred entity.
- Milagros has brought this game to online multiplayer mode, which is invaluable to this community.
- Both Smibu and jonsykkel have attempted to improve the game, and it seems to be that they made the tasks too big for being handled by themselves. Jon told me he was excited about this project, but the last he wrote about it was that he was no longer excited (although only taking a break).
I don't want to undermine the efforts of Smibu or jon, but I have argued before, and I still believe that open sourcing the online multiplayer experience is the way to go. This is not a simple process.
Some key points:
- Elma Online is not a simple database, and shoult not be handled by one person
- The UI of Elma Online 2 is not simple either. Jon has done a lot of work on this, but it doesn't seem it's possible to do it well without a community efforts.
- The website elma.online is very good for watching recs online, but why should times/cups/levels and so on be handled on a website rather than inside the game? If it were inside the game however, the UI would get even more complicated.
I think the online experience should be developed and maintained by the community. In order to do so there is a need for a good strategy and modularized project. For example:
- the project should be made into intelligible modules, such as explicit over implicit. For example, if the API is made with very high quality, then any average coder could make websites with that data. The console of Okeol (with settings for the game) should also be made with very high quality, whereas the ui for the settings should not be a priority until the console is done. The API and CONSOLE would then be the core, with which the UI later would be developed.
- the API and CONSOLE are faster to make and easier to make with good quality than UI
- if the API and CONSOLE are well made, the UI only needs to be accessible, and could be improved for years and years after (compared to now.. how can we utilize Smibu's efforts? What if all that focus was put into only the CONSOLE? than one piece of the puzzle could be complete)
- the strategy has to focus on milestones, and not optimize different things at the same time. For example if both the console and ui for the game are made simultaneously (optimizing both gaming experience and user friendliness at the same time), without game and experience feedback, both of those components will need to be updated many times (instead of first making the console work and then only make a few implementations of the UI).
- the API and CONSOLE could be open source github projects, so that we all can contribute both with code and issues
- basic features have to be created first, and made sure to run smoothly (by community efforts, such as finding WR and battle bugs) BEFORE more features are added
- gradual is usually the best way to transition, so some part of the competition could be moved over to the new version before abandoning the old. For example new internal WRs could already start in okeol and be official with those physics, while old WR list is still ongoing
-
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
Re: What I'd change (and the Source Contribution Program)
some months ago I was contacted by the current owner of elma, regarding whether I want to contribute my online code
the code would be somehow made official and everything would run as it used to - the exact agreement has not been made
at that time I was long term abroad and had no access to my comp with the code, so we concluded we sort it out when I come back (he also happens to live in the same city as I do)
when I came back and contacted him again, he said they did some survey and concluded the steam community is not interested in online mode
the code would be somehow made official and everything would run as it used to - the exact agreement has not been made
at that time I was long term abroad and had no access to my comp with the code, so we concluded we sort it out when I come back (he also happens to live in the same city as I do)
when I came back and contacted him again, he said they did some survey and concluded the steam community is not interested in online mode
[carebox]
Re: What I'd change (and the Source Contribution Program)
"he said they did some survey and concluded the steam community is not interested in online mode"
This is weird, survey filler ppl must be idiots.
This is weird, survey filler ppl must be idiots.
Re: What I'd change (and the Source Contribution Program)
Maybe they don't know what battles are? And they thought it's just splitscreen coop playthroughs or something. It's hard to imagine someone actually trying battles and then saying "nah, don't need this".
Re: What I'd change (and the Source Contribution Program)
Well I suppose for casual players beating all the internals is enough, not so many get hooked on höyling the times. At least that's how I see myself in most games
Re: What I'd change (and the Source Contribution Program)
Exactly, the people reverse engineering the game (and look, I've checked out the assembly, and I know for a fact these guys have given it a fuck ton of effort) have done an amazing job. Getting the assets out that are required to emulate the game was a feat. Now, though, the effort needed to reach a product with quality high enough to improve the experience is a colossal effort.
I disagree with one thing though, it is a simple process. To open source the software you start by building a MWP yourself, and then you open it up. Not everyone will contribute all at once, just a few interested folks. This small team would then shape the core of the product, which eventually could receive contributions from a wider group of people. Eventually the product would be fleshed out enough for people to contribute small features to make the differences I listed in my original post. The original source is already in this state.
Agreed, modularity is key. Also, good API design is key. Most of what you're saying though feels like we're getting ahead of ourselves
![Laughing :lol:](./images/smilies/icon_lol.gif)
Elma deserves people to support it. People want to support Elma. I think kalmari is a decent guy, but I don't think this program deserves support. I hope people do not sign up, so that the program is reevaluated and turned into something better.
Brand new players are not representative of the community, so I think his poll was probably not meaningful. Online (inherently battles, competition, community, and sharing) stemmed from battle hardened players looking for the next thing to keep the game fresh. People, if they stick with the game, will naturally yearn for online eventually. If it is not an option for them, they'd probably not stick around.
The people who beat all the internals and move on are likely examples of what I said above, they may have stuck around if there was more excitement available to them in their experience (like, for example, online mode).
Re: What I'd change (and the Source Contribution Program)
I was giving daniel the benefit of the doubt but it's clear that his and the community's interests don't really align. He wants to squeeze out as much $ from the IP as possible with minimal or no additional investment. It's also pretty apparent that the sales have been underwhelming and he's probably nowhere near to having his investment recuperated. I never see him or anyone from "the team" ingame so he probably has no idea about what really keeps the game going (hint: it's not quality of life updates on top of 1.11a). The conducted "survey" that's mentioned really speaks volumes on their competence.
Okeol is years ahead of the original source code which makes the latter near worthless. If a fair arrangement/agreement can't be made with jon then the legal status of the heart of the game is doomed to go into another limbo until daniel decides to cut his losses and pass the rights over to jon or released in public domain for open source (or more likely sold to another clueless outsider entity looking to make a quick nostalgia buck).
Okeol is years ahead of the original source code which makes the latter near worthless. If a fair arrangement/agreement can't be made with jon then the legal status of the heart of the game is doomed to go into another limbo until daniel decides to cut his losses and pass the rights over to jon or released in public domain for open source (or more likely sold to another clueless outsider entity looking to make a quick nostalgia buck).
39:37,91
Re: What I'd change (and the Source Contribution Program)
70 years since the author's death, according to this 2019 article: https://rmx.news/article/article/hungar ... -free-list
Re: What I'd change (and the Source Contribution Program)
2 clarify im dont think im have said that im not exited
the situation is somthik like this:
not hapy with curent produkt
not vant work with certain discusting parts of code
vant renginer code but ned brake first
not sure if my original idea ever maked sense (kinda elma but not elma)
proly definately dosent make sense unles ther is universal stoke for it, which ther isnt
my world domination plan dosent rly vork without either elma rights or turning it into my own game that dosnt pretend to be elma, so thinkig vat 2 do about that
ass for open source elma etc
im think its god idea if vat u are trying to make is: eol but improved, which is somthink i would like to hav for sure
its a bit difrent kind of thing from vat i have in mind with my projekt (make elma great again, in the sense that roman empire was great)
basicly i think if try make somthink that primarily pleases the gomunity it limits the scope of vat u can achieve too much so not sur i vould be motivatet to contribute to it
that sed maby couple lines of my gode or vatever is help ful
status:ONLINE - - - drinking:GOFE - - - iq:85 - - - elasto mania ranking:#1
Re: What I'd change (and the Source Contribution Program)
isn't it a bit stupid that the hitman can speed up the release?:)kuchitsu wrote: ↑16 Sep 2020, 17:23 70 years since the author's death, according to this 2019 article: https://rmx.news/article/article/hungar ... -free-list
[carebox]
Re: What I'd change (and the Source Contribution Program)
Yeh it's a bit complicated thing. Currently the online version is not very attractive for newcomers because without quite a lot of training they don't stand a chance in battles against battle hardened veterans. Then again to get big enough player base from all skill levels the online version of the game would need to be a lot more advanced. So it seems that the current plan is just to attract casual players to cruise the game and not use the online-side as the base of the marketing.tej wrote: ↑16 Sep 2020, 16:46Brand new players are not representative of the community, so I think his poll was probably not meaningful. Online (inherently battles, competition, community, and sharing) stemmed from battle hardened players looking for the next thing to keep the game fresh. People, if they stick with the game, will naturally yearn for online eventually. If it is not an option for them, they'd probably not stick around.
The people who beat all the internals and move on are likely examples of what I said above, they may have stuck around if there was more excitement available to them in their experience (like, for example, online mode).
Re: What I'd change (and the Source Contribution Program)
I don't think it's that complicated. The online features provide more than just getting stomped by BlaZtek. I started out a few years ago and got stomped for two years before I won a legitimate battle, and loved every moment of it. Many people are interested in making levels too, which there is no element of stompage in, so those players are done a disservice in the original game that doesn't promote and real way of sharing and enjoying others enjoyment of your creations.Orcc wrote: ↑16 Sep 2020, 22:08 [quotes removed]
Yeh it's a bit complicated thing. Currently the online version is not very attractive for newcomers because without quite a lot of training they don't stand a chance in battles against battle hardened veterans. Then again to get big enough player base from all skill levels the online version of the game would need to be a lot more advanced. So it seems that the current plan is just to attract casual players to cruise the game and not use the online-side as the base of the marketing.
Re: What I'd change (and the Source Contribution Program)
If all steam players would suddenly be on eol it would probably be unbearable
-
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
Re: What I'd change (and the Source Contribution Program)
Of course the reality is not that, but it comes down to how to attract people to do that one-time purchase. Level making for a game you have zero clue about is probably not something that makes you want to buy the game, it only comes after you've learned to play and at that point there's no more money to be made without monthly fees. The same applies for multiplaying - you would have to make it seem appealing for the newcomers so that it would lead to the purchase.tej wrote: ↑16 Sep 2020, 22:29I don't think it's that complicated. The online features provide more than just getting stomped by BlaZtek. I started out a few years ago and got stomped for two years before I won a legitimate battle, and loved every moment of it. Many people are interested in making levels too, which there is no element of stompage in, so those players are done a disservice in the original game that doesn't promote and real way of sharing and enjoying others enjoyment of your creations.Orcc wrote: ↑16 Sep 2020, 22:08 [quotes removed]
Yeh it's a bit complicated thing. Currently the online version is not very attractive for newcomers because without quite a lot of training they don't stand a chance in battles against battle hardened veterans. Then again to get big enough player base from all skill levels the online version of the game would need to be a lot more advanced. So it seems that the current plan is just to attract casual players to cruise the game and not use the online-side as the base of the marketing.
- Kopaka
- 39mins club
- Posts: 6611
- Joined: 23 May 2002, 13:59
- Team: LAME
- Location: In a northern danish city beating YOUR record.
- Contact:
Re: What I'd change (and the Source Contribution Program)
I've had some of the same thoughts as you tej. I really don't know what the right direction is to go from here. Current EOL works "oke", but even with the source working on that is not espcially easy. From scratch projects like smibu's and okeol has been promising, but face legal issues. Making an EOL with the official source contribution program seems like a lot of work to give to a private entity that makes money off it.
I do see one option, provided the elasto mania team is okay with this. That would be making some smaller changes using the source contribution program, like api's/hooks/whatever that makes addons easier. Then the "EOL2" addon could be made as a workshop item, so that part could be made as open source.
That's of course still a lot of work, would need to make all 1.11h, 1.2, eol client changes and server just to get feature parity. And probably some limitations, but with access to main source as well those may be small.
I do see one option, provided the elasto mania team is okay with this. That would be making some smaller changes using the source contribution program, like api's/hooks/whatever that makes addons easier. Then the "EOL2" addon could be made as a workshop item, so that part could be made as open source.
That's of course still a lot of work, would need to make all 1.11h, 1.2, eol client changes and server just to get feature parity. And probably some limitations, but with access to main source as well those may be small.
Re: What I'd change (and the Source Contribution Program)
and it would good to start with the same hooks i did to include bs.dll
[carebox]
Re: What I'd change (and the Source Contribution Program)
Aren't the legal issues of EOL identical to the legal issues of okeol? Both reverse engineered Elma and modified it. (EOL took more of an add things to it approach, and okeol took more of a rip things from it approach)
Everything else you said makes good sense, and I agree.
Re: What I'd change (and the Source Contribution Program)
Hi everyone, I just discovered this topic and this prompted me to retry activating my account here on the forum, which finally worked ![Smile :)](./images/smilies/icon_smile.gif)
Let me explain a few things and maybe dispel a few misconceptions about the source contribution. Please keep in mind that I didn't have time to read through all the posts here yet.
I actually wanted to open source elma ('s source code). The source code has been decompiled, reverse engineered, reimplemented in various projects, and by itself today is not very valuable.
One reason this hasn't been done yet, and instead shifted this idea towards the contribution program, is that, surprisingly, open sourcing such a project costs money
From all of your point of view this may sound like bullshit, it could just be uploaded on github and all done, but that's not the reality of the situation. If somebody comes forward with an accusation that the code contains their algorithm or implementation, for example, it would incur potentially large costs, and would be a tough situation due to the history and change of ownership of the code. Things like this have happened in the past (e.g. https://www.theverge.com/gaming/2011/11 ... m-3-patent - not that I'm comparing Elma to Doom 3). At the very least a legal review may be required before open sourcing such a piece of code, and a potential rewrite of some parts as well. Simply based on this, the risk greatly outweighs the benefits.
A smaller issue is fragmentation. There are already a number of Elma versions (1.11a, Steam, EOL, okeol, maybe others). If anyone could simply modify the source code and release their own version of elma, it may lead to even more fragmentation. This is not a strong concern but a concern nonetheless.
So this program was created as a compromise between open-sourcing the code while not having to worry so much about legal implications. The idea was that by keeping it closed-source but giving a potentially broad audience access to it, it will essentially have the benefits of an open-source project (anyone can contribute) without incurring the costs of fully publishing it. As for granting usage rights, this is analogous to a lot of open source licenses that require you to apply the original license to your changes. I don't see how such a program could work without this, as it wouldn't make sense to have versions of elma that provide different features without the ability to reconcile them into one official build. And I really don't see this as "free work" anymore than voluntary contributions to an open source project would be "free work", but I acknowledge everyone's right to disagree.
About EOL integration: there are several hurdles to this, integrating the source code is just one of them. Even if there was a single unified binary that includes Steam elma + EOL, server-side support would be a problem as it's completely community-driven, and figuring out how to work together on that and provide an official multiplayer experience to players would be an issue. This, combined with the low interest of Steam players in EOL and the looming of okeol's release makes it seem like any work on this would cost more than it's worth. And again, this program was supposed to address this - if the community wishes to unify the code, it is an opportunity. And if not, hey, that's completely fine too.
Some of the points about the approachability of EOL here are also quite insightful. There may easily be a chicken-and-egg problem, where the broader audiences are currently not interested in EOL due to its complexity (steam workshop, registration, somewhat unfriendly launcher, hotkeys, not well defined challenges, rough learning curve), but would become interested if these were simplified. Solving all of this may be akin to making a brand new elma game - a very large and risky investment with unclear payoff.
And on the topic of okeol: I talked to Jon about its future and plans, but I did not get to a point where I understand what exactly the project is, and whether the community is interested in making okeol become the "official" version of Elasto Mania. But I also don't see a good reason it would have to become the "official" version necessarily.
I hope this cleared up some of the questions and I'm happy to have an open and honest discussion, as usual![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Let me explain a few things and maybe dispel a few misconceptions about the source contribution. Please keep in mind that I didn't have time to read through all the posts here yet.
I actually wanted to open source elma ('s source code). The source code has been decompiled, reverse engineered, reimplemented in various projects, and by itself today is not very valuable.
One reason this hasn't been done yet, and instead shifted this idea towards the contribution program, is that, surprisingly, open sourcing such a project costs money
![Smile :)](./images/smilies/icon_smile.gif)
A smaller issue is fragmentation. There are already a number of Elma versions (1.11a, Steam, EOL, okeol, maybe others). If anyone could simply modify the source code and release their own version of elma, it may lead to even more fragmentation. This is not a strong concern but a concern nonetheless.
So this program was created as a compromise between open-sourcing the code while not having to worry so much about legal implications. The idea was that by keeping it closed-source but giving a potentially broad audience access to it, it will essentially have the benefits of an open-source project (anyone can contribute) without incurring the costs of fully publishing it. As for granting usage rights, this is analogous to a lot of open source licenses that require you to apply the original license to your changes. I don't see how such a program could work without this, as it wouldn't make sense to have versions of elma that provide different features without the ability to reconcile them into one official build. And I really don't see this as "free work" anymore than voluntary contributions to an open source project would be "free work", but I acknowledge everyone's right to disagree.
About EOL integration: there are several hurdles to this, integrating the source code is just one of them. Even if there was a single unified binary that includes Steam elma + EOL, server-side support would be a problem as it's completely community-driven, and figuring out how to work together on that and provide an official multiplayer experience to players would be an issue. This, combined with the low interest of Steam players in EOL and the looming of okeol's release makes it seem like any work on this would cost more than it's worth. And again, this program was supposed to address this - if the community wishes to unify the code, it is an opportunity. And if not, hey, that's completely fine too.
Some of the points about the approachability of EOL here are also quite insightful. There may easily be a chicken-and-egg problem, where the broader audiences are currently not interested in EOL due to its complexity (steam workshop, registration, somewhat unfriendly launcher, hotkeys, not well defined challenges, rough learning curve), but would become interested if these were simplified. Solving all of this may be akin to making a brand new elma game - a very large and risky investment with unclear payoff.
And on the topic of okeol: I talked to Jon about its future and plans, but I did not get to a point where I understand what exactly the project is, and whether the community is interested in making okeol become the "official" version of Elasto Mania. But I also don't see a good reason it would have to become the "official" version necessarily.
I hope this cleared up some of the questions and I'm happy to have an open and honest discussion, as usual
![Smile :)](./images/smilies/icon_smile.gif)
Re: What I'd change (and the Source Contribution Program)
The simplest solution how to get around all the legal issues and keep EOL running as it is, is described above (and below). A dummy DLL would be (officially) included in elma, and a function from DLL would be called once per turn. Then EOL can be directly incorporated as it is, where dummy DLL is replaced with a new one. There are two more minor updates that need to be done inside elma - rendering loop should include an additional array of players (the same data structures as original 1-2 players) and additional array of texts (fonts can be simply included in .res file as befoer). Except that there aren't any major updates in original elma.exe, at least I don't remember any. Everything else is in DLL.
[carebox]
Re: What I'd change (and the Source Contribution Program)
Yes, I actually think that adding proper modding support would be a very good path forward, making the community happy while avoiding a lot of hassle around the elma source code.milagros wrote: ↑18 Sep 2020, 20:56The simplest solution how to get around all the legal issues and keep EOL running as it is, is described above (and below). A dummy DLL would be (officially) included in elma, and a function from DLL would be called once per turn. Then EOL can be directly incorporated as it is, where dummy DLL is replaced with a new one. There are two more minor updates that need to be done inside elma - rendering loop should include an additional array of players (the same data structures as original 1-2 players) and additional array of texts (fonts can be simply included in .res file as befoer). Except that there aren't any major updates in original elma.exe, at least I don't remember any. Everything else is in DLL.
Re: What I'd change (and the Source Contribution Program)
Hi kalmard. This post actually explains a lot. Originally I didn't get a very positive feeling about why you were so strict on taking legal action (as described in the source contribution program). I think you should have made that reasoning clearer, by explaining the risks, like you did in the post above.
One of the main reasons for having an open source based community is continuity. For example when milagros no longer contributed to eol the development got stuck. There is still some development going on, but many things are not possible to improve without some serious and big efforts.
So the day is inevitable when you, the elasto mania team, markku, kopaka or jonsykkel will no longer contribute to the scene. That day could be the end of eol, or it could be the continuity of the open source program.
The thing is, that if now the elma physics are so available as you say, and you don't want to release the source -- then why not release some dlls? (I'm not very experienced in this type of programming, so I'm not sure how dlls work, but elma physics could be made more easily available by releasing binaries rather than source code - as a library.) So the main binary would be elmaphys.dll, but there could also be binaries for recs and levels.
This way the core of elma could be made more easily available and still be part of an open source project. The GUI and online database could then be fully open source and community driven.
-
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
Re: What I'd change (and the Source Contribution Program)
Thanks Daniel for the clarifications! I have some thoughts/questions about the legal worries...
Is there some doubt that there may also be some other people involved, in addition to the above three? Or is the possible legal review mostly "general carefulness"? You said it "may be required", but it feels like a chicken-egg problem because you kinda already need a lawyer to determine whether a legal review is needed. :)
Anyway, I'm not trying to hurry you up in open-sourcing Elma or anything with these questions. :) I just got curious.
Of course, I'm an open source fan as well, so the possible eventual open-sourcing would be very nice.
I've been under the impression that Balazs wrote all the code, which should kinda guarantee that such accusations shouldn't happen, or? On the other hand, IANAL, and now that I look at the original readme, it says:kalmard wrote:If somebody comes forward with an accusation that the code contains their algorithm or implementation, for example, it would incur potentially large costs, and would be a tough situation due to the history and change of ownership of the code.
which could be read as "Peter Illyes and Imre Barczi wrote some algorithms for me".Elma readme wrote:Peter Illyes and Imre Barczi helped me a lot with technical issues.
Is there some doubt that there may also be some other people involved, in addition to the above three? Or is the possible legal review mostly "general carefulness"? You said it "may be required", but it feels like a chicken-egg problem because you kinda already need a lawyer to determine whether a legal review is needed. :)
Anyway, I'm not trying to hurry you up in open-sourcing Elma or anything with these questions. :) I just got curious.
Of course, I'm an open source fan as well, so the possible eventual open-sourcing would be very nice.
Re: What I'd change (and the Source Contribution Program)
I want to make it clear, there is no reason to believe there is any illegal/copyrighted material in the source code. There are some small segments that were clearly not written by him, I'm very certain that they come from public domain code (tutorials, or snippets posted online), but it's hard to track these things.Smibu wrote: ↑22 Sep 2020, 18:38 Is there some doubt that there may also be some other people involved, in addition to the above three? Or is the possible legal review mostly "general carefulness"? You said it "may be required", but it feels like a chicken-egg problem because you kinda already need a lawyer to determine whether a legal review is needed.![]()
Elma is also not a very high profile game to be a likely target for patent trolls or similar people.
However, you never know. There's no very strong reason to take a risk on this right now. Let's say your wording of "general carefulness" fits.
Re: What I'd change (and the Source Contribution Program)
There is no need to take any risk at all, just release elma physics as a dll. Then there will be no problem to make the game open source.
-
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020
"leader status in the Elma against-the-system underground" - Abula
-
IncrElastoMania - Elma Simulation - Browser Game 2020
Elma Imager - Command Line Tool 2020