ID:1893169
 
I have been thinking about trying to do an open-source BYOND game.

I do recognize that there have been attempts in the past on BYOND to create an open-source project and they didn't succeed. But I think this is due to several underlying factors, particularly

  • Lack of Active Maintainers
  • Lack of Public Interest
  • Lack of proper licensing


SS13 is apparently open source. I think that this might be the reason it has had such longevity. Is it possible to recreate such success with a new project?

I have been asking myself if it's possible to create a successful open source project on BYOND and how to go about doing it. I thought this might be interesting to talk about.

What are your thoughts?

Would you be interested in such a project?
What are your thoughts?

Use a copy-left license to start out with.

Also, be the one to start the project. Don't set out with a specific goal. Just set the theme for the game, be it a side-scroller, a top-down game, a dungeon-crawler, an rts, whatever. Just get to a minimum viable product as fast as possible.

Most of the other projects that have set out to do this have failed because nobody ever actually started. They talked about it for a long time and then never went anywhere because nobody could agree. Just get started and let people play around with what you are doing through contribs and forks.
In response to Ter13
Well I guess I can start up a project..

How about GitHub?

EDIT:Made a bare-bones repo on GitHub : https://github.com/IchiroKeisuke/Sage
Github is always nice.
In response to Ter13
Well, it's technically a started project now..
Added some starter assets to get the party rolling.

Still need to figure out:

  • Basic project guidelines
  • How to evaluate contributions
  • What my exact "role" in all of this is supposed to be
I am willing to contribute. I am certain others will be, too.

Excellent way to start? Create some 'issues' in Github that we can look at it and begin using in order to contribute. Create a direction to go through, and I can actually do something.
I'm going to have to add that by far the majority of the work will still need to be done by a specific number of highly interested and motivated people i.e currently you.

What usually happens with large groups is they spend a month deciding what the logo is going to be so despite it being open source I don't think it will really change your workload at all.
That is generally the case with pretty well all open source projects, yes. In many respects, that is what you need anyway to provide an overall sense of direction or objective in the development process, especially when it comes to a game.

I assume OP, you are providing that direction and overall vision of what kind of game you're making (genre, vague theme etc)?
In response to Stephen001
Stephen001 wrote:
I assume OP, you are providing that direction and overall vision of what kind of game you're making (genre, vague theme etc)?

yes. Although the specifics are undecided and I am effectively "raw meat" when it comes to managing Open source projects.

The genre is Action RPG (BYOND's specialty - go figure) with PvP.
In response to Fallen Seraphim
I'll see if I can get around to creating some goals for the project when I get home.
In response to IchiroKeisuke
Who? Where? When? What? How?

Are these from pre-school? Yes. Are these actually quite helpful? I think so :)

If you're gonna make anything on BYOND.. Action RPG is a good bet.
In response to Zecronious
Some issues have been opened up if anyone wants to tackle some of them.

When - Time era?

hmm..1500's.

and let's say this all takes place in an nameless location in asia, since the title somewhat infers that region anyway.

Of course, if anyone else has a better idea - feel free to say something.
I'd recommend creating a style guide on the github wiki that you would use.
In response to Fallen Seraphim
style guide?

never seen one or heard of one, so I'm afraid you'll have to elaborate.
Well, a lot of people write code a lot of different ways. Like in byond, we can do this:

mob/proc/ProcedureName()
DoThis...


Or, we can do this:

mob
proc
procedure_name()
DoThis...


I personally prefer the former, because I consider it more readable. However, the vast majority of people prefer the latter.

Likewise, naming conventions-- should all procs be capitalised? Or camelCase? Or things like that.

When working on a group project, it is a good idea to get those things set in stone, and then /enforce/ them in pull requests. This way, the project retains a uniform style of coding.


I usually like to use a variation of PEP 0008 for Python in Byond. Feel free to take a look here:

https://www.python.org/dev/peps/pep-0008/
In response to Fallen Seraphim
I see what your saying.

I can certainly understand wanting to keep things similar in the code. On the other hand, I don't want to be overly restrictive as that might discourage people from contributing.

I will put some thought into it and type up some basic regulations all pull requests should adhere to. I'll try to get this done within the next few days.
I prefer this too for the reason that it's easier to copy individual functions to share and when your functions extend over a page long it's easy to forget what heading you're currently under. It removes a lot of headaches for me.

mob/proc/ProcedureName()
DoThis...
mob :: ProcedureName(){
DoThis...
}