hajimehoshi / ebiten

Ebitengine - A dead simple 2D game engine for Go
https://ebitengine.org
Apache License 2.0
11.02k stars 660 forks source link

Write an article about comparison with other game engines (e.g. Unity) #1249

Open hajimehoshi opened 4 years ago

hajimehoshi commented 4 years ago

The most difficult thing is to benchmark the speed like building speed. How can we do that?

CC @wasedaigo

LuccaPrado commented 4 years ago

I don't know, but, i guess that if we could make the same test game and just time it would be enough to people see the difference.

einthusan commented 3 years ago

any update on this? would be good for marketing ebiten!

hajimehoshi commented 3 years ago

I don't have an experience using Unity then it's hard for me to write an article. I feel like Unity and Ebiten are too different to compare.

einthusan commented 3 years ago

here, use some tips from this guy. https://youtu.be/t4TWOoQrqRs

You must address the question instead of dodging it. Because end of the day they both are a game engine. Maybe you don't need to compare it but say when it would be better to use Ebiten instead. There has to be a reason, think about it.

wasedaigo commented 3 years ago

@einthusan Is there any reason you can't do it?

einthusan commented 3 years ago

@wasedaigo this is the very first game I am ever developing ... never used unity or anything for that matter of fact. I did a lot of research and the choose Ebiten because I am an "expert" Go developer and I like Golang for its language benefits (speed, easy to read, etc.) and I hate "click click click" game development (just looks terrible) vs. using Go AST to generate a ton of code for me! lol... I also like the fact that Ebiten gives me complete control because it has no GUI.

Btw, another video by someone who has experience. https://www.youtube.com/watch?v=C4pBVkv75jU

einthusan commented 3 years ago

some of the comments on those pages are good points as well,

e.g. the following comment..

Unity is very intrusive in how they want your code to be organized, that is very true and that's what I don't like about it. Everything is centered around the editor and gamebojects and if you're a pure coder, there's just no way you can like this. I think Unity Dots will change all that, or at least allow you to progam more freely.

hajimehoshi commented 3 years ago

Unity is very intrusive in how they want your code to be organized, that is very true and that's what I don't like about it. Everything is centered around the editor and gamebojects and if you're a pure coder, there's just no way you can like this.

Ah yes, this is just my preference but I prefer less glue layers than uncontrollable black boxes like Unity.

wasedaigo commented 3 years ago

I have professional experience with both Unity3D and ebiten (I might be the only one in the world), I am lazy as hell writing an article though... Maybe we can talk about pros/cons on this issue and eventually some fairies would do all the writing work for us?

hajimehoshi commented 3 years ago

+1 for just posting ideas or any thoughts here. This should not be complete or organized.

einthusan commented 3 years ago

At least this issue can serve to help anyone for the time being and later, after the fairies do all the writing, we can put it up on the ebiten.org website towards the bottom of it.

Here is another reason I just came up with. I had been thinking of using Box2D with Ebiten as someone suggested in the Ebiten slack chat, but after doing some more research ... I want to use something more simple to being with, like this..

A Simple 2D Golang collision detection and resolution library for games https://github.com/SolarLune/resolv

It has no external dependencies and written in Go entirely! Definitely less compute intensive and lightweight than box2D for most people building 2D platformers. But ..... wait for it.... Unity will NOT allow you to swap out physics engines! Another +1 for Ebiten!

hajimehoshi commented 3 years ago

Unity will NOT allow you to swap out physics engines!

Interesting. In theory would it be possible to implement your own physics engine for Unity in C#?

LuccaPrado commented 3 years ago

Unity will NOT allow you to swap out physics engines!

Interesting. In theory would it be possible to implement your own physics engine for Unity in C#?

Interestingly, just the fact that we are asking if it is possible can already be considered an "extra point" for ebiten, because as @einthusan commented, we even have libraries created in go, while for unity + c # it is a mystery and if you google it, you 'll just find a lot of devs asking if is possible or not and long discussions, but never the exact answer. Meanwhile I just found people talking about it in godot.