šŸ™ CyberSquid: A comunity developed video game set in Eclipse Phase

:mechanical_arm::octopus: Cybernetic Cephalopod :new_moon::space_invader:

I have started a community developed video game based off the Eclipse Phase cc-by-nc-sa license. The game is designed to be completely community driven from the start so theres not much decided about it yet. The project is currently named Cybernetic Cephalopod or CyberSquid for short. This is just an alpha code name that will be changed when theres more decided on the story.

CyberSquid is being community devolved and every one is welcome to contribute. In fact, it will only happen if people do so. Currently there are no real rules for submissions. Generally the person who provides the material has the greatest control over the nature of that material. If there are disputes they will be handled democratically, according to the games Constitution. Community development tools are being used to make sure that mistakes can be easily fixed, so donā€™t worry about it just to it! For more information on how to contribute see here or read below.

Pure information, such as story, map sketches, and the web pages are hosted on WikiDot. This allows everyone to easily modify the ideas held within. To work on pure information create an account on WikiDot. Then click ā€œedit this pageā€. This is something that any one can very easily do, so just give it a go. Specifically the Game Design Document can be edited here.

Art and code are hosted on OurProject using Subversion. It will require that you install a Subversion client, probably TortoiseSvn. More information on how to do this can be found here.

There is also a ftp server at ftp://cybersquid.ourproject.org/pub/cybersquid. In order to upload to it, you need an account with Commit Rights on OurProject. Visit here to learn how.

Theres not much of a game yet, but if you want you can download the alpha. You will have to use Subversion and UpBge, the same way you contribute art and code. If all you want to do is download, then you dont need an account. More information can be found here.

Basically if you want to help you should create an account on WikiDot, another one on OurProject, then join the project on the project page. Remember, this will only happen when people like you actually contribute!

1 Like

Interesting, just curious: Why subversion over something like git+lfs?

Iā€™m not an expert on this subject so my information is only as good as the blogs Iā€™v read about it. From what I can tell, Git is a distributed system. There are no masters, trunks, or branches. Every copy is its own master, and can be merged with every other copy. No one uses it this way tho. Instead they use a centralized server and create masters, trunks and branches sort of artificially. Subversion is a centralized system where users only have the most recent copy on there computer. You canā€™t merge the copies, instead every one merges back to the server. Subversion has trunks and branches, while Git has LFS. Its possible to use Git like its Subversion and possible to use Subversion the same way Git is used. The difference seems to be mostly psychological.

The main advantage of Git seems to be that there are some Value Added Servers with additional code placed on top of Git. Mainly GitHub and GitLab. GitHub has a one gb storage limit. If you do any revision control (backups) of art, then this will not be sufficient. GitLab provides 10gb witch might be enough, but they donā€™t allow community art project on there servers. SourceForge is probably usable but some of the wording of there terms of service concern me. I would be willing to start a fresh project on SourceForge, but I donā€™t feel comfortable using it for a project based off some one elseā€™s intellectual property. The project is based off Eclipse Phase, so SourceForge is out. Sence the main advantage of Git is the Value Added code, and we cant use any Value Added Servers, thereā€™s no real advantage of using Git. The primary disadvantage of Git is that new art has to be submitted using LFS. Maybe thereā€™s a graphical front end for Git, I donā€™t know, I didnā€™t check, but I donā€™t want to have to teach artists about the command line, and I doubt many of them want to learn about it.

The reason I like Subversion is because it works like a Mmo Launcher. Clients donā€™t store the whole repository, so i think it could be used for product distribution. This is my thinking. We wrap pySide and pySvn using py2exe. This reads a bunch of config files that contain information about the different projects Subversion servers and such. Then a person could download and update all there Bge games in one place. It would be like Battle for Wesnothā€™s addon browser, but the files would be on there own individual servers. In my experience the primary area where proprietary software excels over community software is in marketing. So, if Iā€™m going to use Subversion for distribution, then it would be preferable to use it for development as well. But Iā€™m not sure Ill ever make a launcher. I havenā€™t even done a prototype for it yet.

Regardless, I had to click a button, and I clicked Svn. As some people have mentioned, thereā€™s been some talk but not much action. Eventually you have to try something. I would also like to point out that the Constitution is almost entirely comprised of how it can be changed. If people want Git they can simply out vote me.

Thanks for the feedback. Just shimming in on a few points:

Branches still exists, but they get synchronized between your upstream ā€œmasterā€ repository and your local one. The advantage of that is that you can work offline against your repository, and then push your offline commits to your remote repository whenever.

No, as I said, the distributed aspect of Git allows one to essentially have the whole state of a remote repository locally, and make changes without asking the ā€œcentral serverā€. But of course when collaborating on a project, you want a single ā€œsource of truthā€ for everyone. But people will operate on independent copies. Then you push your new commits on top of already existing branches upstream, most of the time it just works. If you happen to push your local commits on top of a branch that already got contributed to, then you will need to proceed to a merge or rebase with upstream in order to make sure your changes can be contributed back to the new state of the branch. This is usually prevented by having everyone working on their own feature branch, avoiding risk of collisions.

Another aspect of this distributed system allows person A to make contributions to a project P by ā€œforkingā€ the repository into a sub-repository F. Then A makes commits onto a branch on F, and then you can ask project leads to merge Fā€™s feature branch with Pā€™s master branch. This is how ā€œPull Requestsā€ on GitHub are managed, allowing anyone to ask to contribute on a project, even though they donā€™t have writing rights. They simply operate on copies of the repository, and then ask to merge branches, which usually is a breeze using Git.

Git is a simple command-line program to manage source changes without imposing the notion of a central server. Then platforms such as GitHub or GitLab effectively spawned to address the collaboration issue, providing visual feedback of the state of the repository, branches, and ā€œPull Requestsā€ (intent of merging one branch back to master). But there are self hosted solutions as far as I know. I donā€™t know where you are hosting your SVN server, but the same could be done for Git in case the current services donā€™t fit your needs.

Wasnā€™t trying to change your mind, I just wanted to understand your reasoning behind this choice as in software dev today SVN is not commonly used, except within legacy projects :slight_smile:

I wish you luck with this.

1 Like

@Cortu

Feel free to edit the main page of upbge.wikidot.com to match your convenience. For the moment, iā€™ll resume my game dev later.

1 Like