Sonic and Sega Retro Message Board: Mobius Engine Project General Discussion - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 9 Pages +
  • ◄ First
  • 5
  • 6
  • 7
  • 8
  • 9
    Locked
    Locked Forum

Mobius Engine Project General Discussion Formerly known as: ITT: Engine Project Proposal Discussion

#91 User is offline Aerosol 

Posted 02 March 2012 - 10:32 PM

  • FML and FU2
  • Posts: 7119
  • Joined: 27-April 08
  • Gender:Male
  • Location:Not where I want to be.
  • Project:Sonic (?): Coming summer of 2055...?
Should there be a plugin API, to load model formats not native to the engine (among other things)?

#92 User is offline Azu 

Posted 03 March 2012 - 07:02 AM

  • I must be stupid.
  • Posts: 1437
  • Joined: 23-February 08
  • Gender:Male
  • Location:Home
I wouldn't mind seeing an Application Programming Interface for that. :V Although, have you guys decided on a standard model format, or you're going make one? Like how the Xbox306's are .xno, and the Wii's are .brres.
This post has been edited by Azu: 03 March 2012 - 07:03 AM

#93 User is offline Aerosol 

Posted 03 March 2012 - 07:05 AM

  • FML and FU2
  • Posts: 7119
  • Joined: 27-April 08
  • Gender:Male
  • Location:Not where I want to be.
  • Project:Sonic (?): Coming summer of 2055...?
I'm pretty sure that was discussed. Try checking through the topic.

#94 User is offline Gen 

Posted 03 March 2012 - 09:19 AM

  • This is halloween! This is halloween!
  • Posts: 309
  • Joined: 03-August 06
  • Gender:Male
  • Project:The Mobius Engine

View PostAzu, on 03 March 2012 - 07:02 AM, said:

I wouldn't mind seeing an Application Programming Interface for that. :V Although, have you guys decided on a standard model format, or you're going make one? Like how the Xbox306's are .xno, and the Wii's are .brres.

Those are typically the final format that the engine tends to use on a given platform. We will have a source format that the engine reads from (which may just be one format, or it may be many if we can find a stable enough library to support it).

#95 User is offline James K 

Posted 03 March 2012 - 06:56 PM

  • Posts: 30
  • Joined: 16-March 11
What's your stance on source code licensing, Gen?
You're the lead of this project and you can choose any license you want with your code.

Personally, I think ZLIB or MIT might be the best for this type of project.


It's kind of knee-jerk to say GPL because of the fan-game intention of this project, but when you think about, there would be perfectly good rendering code and later a physics system that could be useful for people wanting to make other kinds of games. (Skateboarding, pinball, etc. - games that use loop/ramp physics). Making the code license permissive like ZLIB would let people be able to learn from / use this engine for things outside just fangames.

(Any default artwork or assets included with this project would be under different licenses of course, especially since Sonic-related artwork would not be something you'd want to put under a permissive license.)

To my knowledge there are currently no open source engines(and I mean engines, not APIs like Ogre) that really have a good graphics system, so I see your work on this project as a new opportunity for more impressive open source games.

And who knows? Having a permissive license for source code could attract new developers and make the project get support from other programmers, making the engine into more of a truly open source, community driven, general purpose game engine.


On the other side, if you make it GPL, you'll have any other projects that use the engine stay open source, meaning all games that use the engine be fangames/free games.
But then again, there's open source game engines with ZLIB licensing that have derived projects that are still free and open source.

So I guess there's not really any negative side to using ZLIB vs using GPL, if anything, ZLIB might attract more programmers to use the engine.

#96 User is offline Gen 

Posted 04 March 2012 - 11:47 AM

  • This is halloween! This is halloween!
  • Posts: 309
  • Joined: 03-August 06
  • Gender:Male
  • Project:The Mobius Engine

View PostJames K, on 03 March 2012 - 06:56 PM, said:

What's your stance on source code licensing, Gen?
You're the lead of this project and you can choose any license you want with your code.

Personally, I think ZLIB or MIT might be the best for this type of project.


It's kind of knee-jerk to say GPL because of the fan-game intention of this project, but when you think about, there would be perfectly good rendering code and later a physics system that could be useful for people wanting to make other kinds of games. (Skateboarding, pinball, etc. - games that use loop/ramp physics). Making the code license permissive like ZLIB would let people be able to learn from / use this engine for things outside just fangames.

(Any default artwork or assets included with this project would be under different licenses of course, especially since Sonic-related artwork would not be something you'd want to put under a permissive license.)

To my knowledge there are currently no open source engines(and I mean engines, not APIs like Ogre) that really have a good graphics system, so I see your work on this project as a new opportunity for more impressive open source games.

And who knows? Having a permissive license for source code could attract new developers and make the project get support from other programmers, making the engine into more of a truly open source, community driven, general purpose game engine.


On the other side, if you make it GPL, you'll have any other projects that use the engine stay open source, meaning all games that use the engine be fangames/free games.
But then again, there's open source game engines with ZLIB licensing that have derived projects that are still free and open source.

So I guess there's not really any negative side to using ZLIB vs using GPL, if anything, ZLIB might attract more programmers to use the engine.

I'd go for LGPL. Reason being, is it allows for the linking of libraries of different licensing types without automatically considering them to be "derivative works" as opposed to GPL, and still encourages people to release their code back to community.
This post has been edited by Gen: 04 March 2012 - 12:24 PM

#97 User is offline Conan Kudo 

Posted 05 March 2012 - 07:57 PM

  • 「真実はいつも一つ!」工藤新一
  • Posts: 477
  • Joined: 12-January 09
  • Gender:Male
  • Wiki edits:14
The other very important thing to mention is that GPL/LGPL projects are not likely to get the banhammer thrown at them in the form of cease-and-desist notices. One thing that the S2HD project should be worried about is the fact that the instant a release with a full level is made (aka Alpha release), SEGA can and will likely immediately throw the banhammer straight at it. As a closed source project, the cease-and-desist letter can include the destruction of all infringing property. Open source code typically cannot have its sources destroyed that way. Then again, I doubt they care.

For this project, implementing an engine to make it possible to develop Sonic games means that we're on the radar. As long as the project is GPL or LGPL, then SEGA will not care. The reason is that companies are extremely unlikely to pick up a GPL/LGPL licensed game engine for commercial works. I mean, there's no reason that it can't be done, it just isn't done because game companies freak so much at GPL code that they try hard not to incorporate it in critical engine code (aka, within engine itself).

Out of necessity, I believe it is best that it is either licensed as a GPL or LGPL project. If we want to use libraries like FMOD (guuuh), then LGPL it is. Otherwise, use the GPL.
This post has been edited by Conan Kudo: 05 March 2012 - 07:58 PM

#98 User is offline Gen 

Posted 06 March 2012 - 01:50 AM

  • This is halloween! This is halloween!
  • Posts: 309
  • Joined: 03-August 06
  • Gender:Male
  • Project:The Mobius Engine
We could potentially just license the core engine as LGPL, which would allow plugins and other dynamically linked modules to take on whatever licensing the author chooses. An SDK separate from the core engine to create such modules could be licensed under a much more permissive license, such as MIT or BSD to better enable their authors to keep their code to themselves.

#99 User is offline Candescence 

Posted 06 March 2012 - 02:02 AM

  • Posts: 1407
  • Joined: 22-October 10
  • Gender:Male
  • Location:Sydney, Australia
  • Project:Construct stuff
Alright, so, what now, now that we have a name picked out? Discuss ideas for features and stuff, and set up a roadmap for development?
This post has been edited by Candescence: 06 March 2012 - 02:05 AM

#100 User is offline StreakThunderstorm 

Posted 06 March 2012 - 03:25 AM

  • Posts: 187
  • Joined: 10-July 11
  • Gender:Male
  • Project:Mecha Madness
Importing heightmaps for terrain. Vertex panting for detail layers. Auto LOD of terrain to not assrape memory.

#101 User is offline Candescence 

Posted 06 March 2012 - 03:57 AM

  • Posts: 1407
  • Joined: 22-October 10
  • Gender:Male
  • Location:Sydney, Australia
  • Project:Construct stuff
I'd also advocate looking at Overgrowth for some nifty features.

Each Alpha release has its own changelog and video, so you can check out the interesting stuff. I'll go through them and grab the stuff we can possibly used.

Edit: But, to avoid feature creep, we should focus on three major goals, in order:

1) Get something rendered
2) Get a player running around
3) Get Sonic physics working in 3D as well as possible

THEN we can focus on adding other features.
This post has been edited by Candescence: 06 March 2012 - 04:33 AM

#102 User is offline Gen 

Posted 06 March 2012 - 04:43 AM

  • This is halloween! This is halloween!
  • Posts: 309
  • Joined: 03-August 06
  • Gender:Male
  • Project:The Mobius Engine
We need to do two things right now for this project, before continuing much further.

First off, we need to discuss a general scope for something like a pre-alpha. I think there's an idea of what a final version should be, but there's still many, many steps between here and there. So lets start with a pre-alpha. Where should this project be for a pre-alpha version of the engine? Keep in mind that pre-alpha doesn't have to be perfect, it doesn't even have to really run very well. After work is underway for the pre-alpha, and we've gotten a general idea of how things will evolve for the Alpha, we should begin focusing on ideas for an Alpha to build upon what has been and will be accomplished with the pre-alpha. We can iterate through the process as needed for future milestones as well, refining it as need be along the way.

Next, we need to discuss licensing. Should we use LGPL? How about GPL? Maybe a more permissive license such as MIT, BSD, or ZLIB? What if we used GPL + Exceptions, or even licensing the core engine under one license, and a smaller module SDK of sorts under another? Maybe a custom license? This is a topic that should be discussed at length, as it will effect what people can and can't do with the engine's code, and will likely effect the general direction of development. Some licenses have more benefits than others, and some are more restrictive than others.

#103 User is offline StreakThunderstorm 

Posted 06 March 2012 - 04:57 AM

  • Posts: 187
  • Joined: 10-July 11
  • Gender:Male
  • Project:Mecha Madness
Well first things first. For the alpha, there must be some sort of asset importing. Will the engine have its own IDE for asset editing, maintenance, etc? Will there be some sort of material editor as well? I was pretty impressed with UDK's material editor and how it was compiling down to HLSL. Unity has something similar created by someone else that compiles down unity shaders based on the editor. Its not very optimized though. Something like that could be great for beginners for the simple fact that its actually compiling down a shader. They could compare the connections they made to the code that was compiled and learn from that. Obviously we'd need a basic render engine. Something to see everything with. I don't think the alpha should have anything like HUDS or any extraneous things. Maybe just a simple movement to show that the engine works. Basic camera functions. Lights. There have to be scene lights. What kind of lighting methods would you be looking to incorporate into the engine? What kind of shadowing methods do you wish to incorporate with that? As far as performance goes, it would be nice if characters would be GPU skinned. It'll take the load off of the CPU.

As far as licensing goes, I'm not too knowledgeable on the subject. I can't really contribute much. I know for a fact that if this is going to be based off of a Sonic engine, we obviously cannot sell the games we're going to make. To me, thats fine because it would provide a great foundation for people to get into real programming so that when they're done making Sonic fangames, they'll have enough knowledge to branch out and maybe even make their own engine. Thats probably expecting too much but it would be nice.

It would be nice to have things implemented further down the line like global illumination, SSAO or even SSDO. A global illumination method would be nice because it wont require multiple lightmaps to be loaded to the GPU. I don't know where those would come into play but there's plenty of examples of how to implement them. SMAA would be nice too since its a really cheap and smart method of AA.
http://kayru.org/articles/dssdo/
http://www.ogre3d.or...1e059b2eef4e0ce
http://www.iryoku.com/smaa/
This post has been edited by StreakThunderstorm: 06 March 2012 - 05:15 AM

#104 User is offline Gen 

Posted 06 March 2012 - 05:10 AM

  • This is halloween! This is halloween!
  • Posts: 309
  • Joined: 03-August 06
  • Gender:Male
  • Project:The Mobius Engine

View PostStreakThunderstorm, on 06 March 2012 - 04:57 AM, said:

...

Let's not get so much into the alpha, and lets focus moreso on the pre-alpha.

For the pre-alpha, I'm thinking there should be more discussion about the lower-level functionality of the engine, than tangible features. We need to determine what libraries will be useful to development, how some libraries would be better than others, what we need to do to establish the basis of different systems in the engine, and other shit that no one will probably want to touch again later on in development.
This post has been edited by Gen: 06 March 2012 - 05:10 AM

#105 User is offline StreakThunderstorm 

Posted 06 March 2012 - 05:25 AM

  • Posts: 187
  • Joined: 10-July 11
  • Gender:Male
  • Project:Mecha Madness
Well basically, how will the engine be programmed? What language(s) will be supported? Define that and move forward. As far as pre-alpha features... Basic input response. Press something, something happens on the screen. Maybe something basic like directional movement based on arrows. As basic renderer that will just show something on screen.
This post has been edited by StreakThunderstorm: 06 March 2012 - 05:33 AM

  • 9 Pages +
  • ◄ First
  • 5
  • 6
  • 7
  • 8
  • 9
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users