Live data from Hacker News

Show HN: Toy – A thin C++ game engine

hugoam.github.io

21–30 of 40 posts

Re: Show HN: Toy – A thin C++ game engine

#21
post #18
post #6

Note that the engine is licensed under GPLv3. Which means that any game must be licensed as such as well.

GPL has great provisions against hostile forks, but as is it's a bit too restrictive for games as final products. I'd imagine that LGPL would give both an incentive to contribute to the engine , and a way to commercially release games based on it, without GPLing all the assets and all the game mechanics.

[deleted]

Re: Show HN: Toy – A thin C++ game engine

#22
post #6

Note that the engine is licensed under GPLv3. Which means that any game must be licensed as such as well.

Hi, the license is a temporary choice. I wish to release it under a permissive license in the future, I'd just like to secure a tiny bit of funding before that !

Investor funding or patronage?

Re: Show HN: Toy – A thin C++ game engine

#24
post #12

Earlier quoted context omitted.

Is that true though? I thought all third party contributed changes are licensed separately, with the contributor still having all rights, unless they explicitly say otherwise.

IANAL: My understanding is the same as @halfastack's. > I thought all third party contributed changes are licensed separately, with the contributor still having all rights, unless they explicitly say otherwise. That's true, but it prevents the project owner from changing the license unless either the contributed code's license is compatible with the new license, or all contributors consent to the license change. That…

My understanding is a bit different, but also not a lawyer.

> going from MIT to GPL is fine, but GPL to MIT is not

AFAIK both are _not_ fine, eapecially because the licenses are totally incompatible.

When you publish a patch under a certain license (that of the project at the moment of the contribution), you _only_ allow using your code under that license. This is why dual licensing is a thing.

Except when you sign a CLA - mostly used by companies to gain copyright over your work. In that case the company can do whatever they want - even charge you later to use your own code.

Re: Show HN: Toy – A thin C++ game engine

#25

Mud is an odd choice of name for a component of a graphical games engine, given that a MUD is a Multi-User Dungeon: the old-school style text-only MMORPG. (There are still a few active ones such as Alter Aeon and Miriani).

I immediately thought of MUD's as well. There's an active community on Reddit and still many hundreds (maybe thousands) online and playable!

Re: Show HN: Toy – A thin C++ game engine

#26

Earlier quoted context omitted.

IANAL: My understanding is the same as @halfastack's. > I thought all third party contributed changes are licensed separately, with the contributor still having all rights, unless they explicitly say otherwise. That's true, but it prevents the project owner from changing the license unless either the contributed code's license is compatible with the new license, or all contributors consent to the license change. That…

My understanding is a bit different, but also not a lawyer. > going from MIT to GPL is fine, but GPL to MIT is not AFAIK both are _not_ fine, eapecially because the licenses are totally incompatible. When you publish a patch under a certain license (that of the project at the moment of the contribution), you _only_ allow using your code under that license. This is why dual licensing is a thing. Except when you sign a…

> AFAIK both are _not_ fine, eapecially because the licenses are totally incompatible.

MIT licensed code can be relicensed under GPL with or without modification to the code. It is only the other way around that won’t work. The reason for this are the specific demands made in each license.

See https://www.gnu.org/licenses/license-list.en.html#GPLCompati... where the Expat license is listed as compatible. The Expat license is the same license that is usually referred to as the MIT license.

Also https://en.wikipedia.org/wiki/MIT_License:

> The MIT license is also compatible with many copyleft licenses, such as the GNU General Public License (GPL); MIT licensed software can be integrated into GPL software, but not the other way around

IANAL.

Personally I encourage people to prefer the ISC/BSD/MIT family of license over GPL, but anyone that is set on using a GPL license is within their rights to do so for code derviative of said licenses (and several others as listed in the above linked list of GPL compatible licenses).

Re: Show HN: Toy – A thin C++ game engine

#27
post #12

Earlier quoted context omitted.

Is that true though? I thought all third party contributed changes are licensed separately, with the contributor still having all rights, unless they explicitly say otherwise.

IANAL: My understanding is the same as @halfastack's. > I thought all third party contributed changes are licensed separately, with the contributor still having all rights, unless they explicitly say otherwise. That's true, but it prevents the project owner from changing the license unless either the contributed code's license is compatible with the new license, or all contributors consent to the license change. That…

I don't think that's quite accurate either. Although you can include MIT-licensed code in a project that is, as a whole, licensed under the GPL, you still must include the original license and copyright, rather than "going from MIT to GPL."

For example, if you have an MIT-licensed project and I contribute to it, my MIT-licensed contribution will remain MIT-licensed, regardless of what you do in the future. If you change your project license to GPLv3, and later can prove that someone used my code from your project after downloading your project's source, I do not think you will be able to successfully hold them to the GPLv3 and force them to release the source of their derivative work.

Re: Show HN: Toy – A thin C++ game engine

#28
Engine looks good. Open source needs more projects like this.

That GPL3 in the license.txt is a fun document full of dark places where less experienced adventurers might get eaten by a grue. Certainly makes it easier for plenty of interesting times and exciting quicksand sidequests for those without a suitable guide.

Re: Show HN: Toy – A thin C++ game engine

#29
post #18
post #6

Note that the engine is licensed under GPLv3. Which means that any game must be licensed as such as well.

GPL has great provisions against hostile forks, but as is it's a bit too restrictive for games as final products. I'd imagine that LGPL would give both an incentive to contribute to the engine , and a way to commercially release games based on it, without GPLing all the assets and all the game mechanics.

LGPL isn't great for games either.

One of the most celebrated changes in SDL2 was moving from LGPL to ZLIB license. All the linking requirements of LGPL are a pain for games and distribution.

Re: Show HN: Toy – A thin C++ game engine

#30

Tried it on my 2016 Macbook Pro. Has some performance issues, I don't know how many exactly, but I'd say I'm getting around 10 FPS or less.

The PBR pipeline of toy is not well optimized yet: I'll have more time to tackle this issue now that the heavy lifting work has been done !

Framerates are much better in the non-web version somehow: I suspect some unnecessary texture sampling ops are to blame, but I need to investigate.

Resizing the window to a smaller helps greatly improve the framerate, which tends to show that the bottleneck is in the fragment shaders.

Post reply on HN