It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
LiefLayer: Making your own engine is not impossible but doing it with cross-platform support and making it easy to use regardless of the game you want to create is really complicated.
Depends on what you're doing. If you're going full graphics whore, you're going to be constantly refactoring even without engine updates, anyway. If not, however, it's not as much of a problem to build via SDL or something like that. And, if you can abstract enough, switching libraries isn't as hard if all it does is acts as a HAL. For example, if you have a 2d game, it shouldn't take you nearly as long to rewrite "showpicxy(int, int)" as it would to write a bunch of lines, shaders, etc. It depends alot on what your project is. Personally, i'll leave that higher stuff to the AAA companies who are going to beat me with their development budget, anyway.
The problem you describe is a nuisance, but unity for example when updating something tries to automatically correct the code or to suggest valid alternatives ... the only problem is that it only works well from one version to the immediately previous one so you have to update often the engine. If you are too far behind it becomes much more difficult to keep the code up to date.
Still I think that's the only way to do things even with other engines, you need to keep the code updated to the last version of everything.
Depends on the complexity of your code. I remember learning java with an "up-to-date" and "certified" book, only for my code to be deprecated by the end of the school year, 'cause it was built in a deprecated class. That was fun. I mean, sure, it's not an engine, but how does that work down stream usually? And what if there's alot to update? The smoke on the ridge is smoldering code, because the languages themselves are starting to deprecate features of the language, not just libraries or individual functions.
There is one part I agree... I try to avoid to integrate 3rd-party code things on my game. Sometimes I need to rewrite the wheel but at least I can keep it updated with the engine and I don't need to wait for the update on the plugins part. The only 3rd-party thing that I have to use is the engine itself.
I used one for google drive (unitygoogledrive) for cloud saves, that still works but in the end I just created the same things on my own just to integrate the new PKCE code_challenge that was not compatible with Unitygoogledrive (it's great for security reason on desktop and mobile apps without a server, you don't need to use implicit grant anymore you can finally use code grant, and it should not require client_secret anymore (google still require it for reasons, but both dropbox and one drive do not require it). By doing that I was able to create the same thing for dropbox and one drive too.
Yes, very good abstraction technique. The key is to know how to create abstractions without creating bloat and/or unnecessary complexity that results in documentation issues.
avatar
Mr.Mumbles: Eh. As far as I'm concerned, game graphics have become good enough years ago. While I do appreciate some eye candy, it's gameplay I'm typically more concerned about.
OMG! One of them has escaped the metal asylum where Epic (and maybe Nvidia) forcefully admit people who are not impressed by ever more realistic graphics. Careful around this one - he is armed and dangerous, with a sharp whit and a keen mind! It is very likely he is also the possessor of brain dirt - I mean they tried to wash it out, believe me, but never could remove that gunk.

P.S.: While it does look nice, I sincerely hope people don't buy into all the BS that's flying around in the gaming industry as of late. Picture perfect graphics have always been available - it is called real life. That's not the fulcrum of a good game (or a good life, for that matter :P).
Post edited May 30, 2021 by WinterSnowfall
avatar
LiefLayer: As a developer what I think is that Unreal need to focus on the docs... last time I tried the engine (about 1 year ago) it was still a mess.
Unity is just amazing on that, you can start any day, try to do something and find the docs to both the way to do it and how to use the apis, updated to the last version.
And yes the fact the Unity also use C# (easier to write than C++ and my favourite programming language out there) and convert it to C++ at compile time to get the best of both world is just a plus not the main reason I stay on Unity (after all I just write scripts for the engine, it should be easy in C++ too, but the problem is the docs sucks so you need to find workaround).

Don't get me wrong I know engine try to "sell" on their light-shadow-real-life look, I'm just not really interested in that part. I only know how to write code for the logic of the game (make the character move by using the animator, move the camera, save the game, create the logic of the menu etc...) and I cannot really change that part (if the game looks like in real life or not) and I don't even care sometimes (in the end I think my style is more about cartoon and anime, I don't really like realistic style, still I will get 3D/2D artist to do the model for me and I will just get a shader that I like, I will not create one).

That's why I'm not really hyped about unreal engine 5. As a developer that wants to write code (not blueprints) I'm not even sure if I should test it another time... last time it was just a bad experience. The engine was slow on my laptop, the docs were not updated on the C++ part and I didn't really care about blueprints and when I tried to open Unity I was amazed by how many things I could do better.
In the video presentation of Unreal engine 5 I saw nothing for developers, if I cannot have fun by writing code there is no reason to use the engine, at least for me.
My main problem with Unreal is that my current machine can't run version 5 that is coming out soon. What I loved about Unreal was that they had just one version and one license that made everything simple. Another thing I loved about Unreal was that they don't ask money upfront and wait for you to become successful before stretching out their hand for your wallet.

What I loved about Unity was how easy they made everything look and obviously the asset store. It only took me two weeks, from scratch, to get my mockup/prototype up and running. What ruined Unity for me was that I had to keep track of what I could and could not do with my version. Despite all my efforts, I still managed to mess things up by including features my license didn't allow me to. But that was long time ago, when they had their own scripting language back then.

I have had some experience with C and from technical perspective, both C++ and C# seem equally difficult to me. My only preference for C++ over C# is that C++ is not PR, marketing and recruitment tool for Microsoft. True, Godot lacks many things, but in my eyes that is more of a pro than con. Since all the bells and whistles of both Unreal and Unity are bit overwhelming at times. Godot is small, simple and clean. And it has most things that indie dev can wish for. Before I couldn't even imagine any language without { & }, but once I fell in love, it inspired me to start learning about true Python a swell.

P.S. Yes, I still don't think that <> are real languages. :D
avatar
ConanTheBald: My main problem with Unreal is that my current machine can't run version 5 that is coming out soon. What I loved about Unreal was that they had just one version and one license that made everything simple. Another thing I loved about Unreal was that they don't ask money upfront and wait for you to become successful before stretching out their hand for your wallet.

What I loved about Unity was how easy they made everything look and obviously the asset store. It only took me two weeks, from scratch, to get my mockup/prototype up and running. What ruined Unity for me was that I had to keep track of what I could and could not do with my version. Despite all my efforts, I still managed to mess things up by including features my license didn't allow me to. But that was long time ago, when they had their own scripting language back then.

I have had some experience with C and from technical perspective, both C++ and C# seem equally difficult to me. My only preference for C++ over C# is that C++ is not PR, marketing and recruitment tool for Microsoft. True, Godot lacks many things, but in my eyes that is more of a pro than con. Since all the bells and whistles of both Unreal and Unity are bit overwhelming at times. Godot is small, simple and clean. And it has most things that indie dev can wish for. Before I couldn't even imagine any language without { & }, but once I fell in love, it inspired me to start learning about true Python a swell.

P.S. Yes, I still don't think that <> are real languages. :D
About Unity license I started with version 3 so I know where you are coming from... I think right now it's the best license (they ask money only for the engine and only when you start to make real money. and they don't take a royalty once you stop to use unity and you publish the game). Unreal license it still not that bad, not the reason to avoid it for me.

I think both C++ and C# are easy, I just like to use C# more than C++, less verbose and easier to read when I pick up old code (I'm more used to java than C since I work as a web full-stack developer, and I think that's the main reason I find C# so easy, basically it's a better version of Java, the best microsoft product (it's also open source right now), the second is visual studio code... I just use it for everything, so light so good).

I have to say that I don't really like Python... but I still used it a while ago at work and it was fine after I got used to it. Still Godot let you use C# and that's what I used when I tried the engine.
avatar
LiefLayer: About Unity license I started with version 3 so I know where you are coming from... I think right now it's the best license (they ask money only for the engine and only when you start to make real money. and they don't take a royalty once you stop to use unity and you publish the game). Unreal license it still not that bad, not the reason to avoid it for me.

I think both C++ and C# are easy, I just like to use C# more than C++, less verbose and easier to read when I pick up old code (I'm more used to java than C since I work as a web full-stack developer, and I think that's the main reason I find C# so easy, basically it's a better version of Java, the best microsoft product (it's also open source right now), the second is visual studio code... I just use it for everything, so light so good).

I have to say that I don't really like Python... but I still used it a while ago at work and it was fine after I got used to it. Still Godot let you use C# and that's what I used when I tried the engine.
Unity still is fractured with their different versions and licenses. When it comes to licenses then nothing, not even Unreal, can beat Godot. MIT is a real Open Source license, not like that Nazi GPL shite. Unreal, at least, has source available for everyone, unlike Unity (to my knowledge).

When I started with Unity then I used "UnityScript" (basically JavaScript). Dumping it is another reason why not to use it (for me anyway). So this is another reason why I love Godot. They have their own scripting language that they aren't going to abandon AND they support various other languages. Like C# for example. As long as MS keeps sponsoring, C# is going to be supported in the future as well. There is a community behind the Godot project and things aren't going to be abandoned simply because some imbecillic corporate board member had a bad dream at night.

So, even though we use different languages, we still both can use Godot. That's my point.
Very Nice Graphics. Still visible that it is kind of not real life. Also this realism advancement is pretty concerning as well.
avatar
albinistic: Very Nice Graphics. Still visible that it is kind of not real life. Also this realism advancement is pretty concerning as well.
well ai development is more concerning imho , especially when they can start faking people
avatar
albinistic: Very Nice Graphics. Still visible that it is kind of not real life. Also this realism advancement is pretty concerning as well.
avatar
Orkhepaj: well ai development is more concerning imho , especially when they can start faking people
combine faking people with faking environments with green screens and with unreal engine 5. You can create massive problems and concerns.
avatar
ConanTheBald: Unity still is fractured with their different versions and licenses.
that's not 100% true, the free version from unity5 includes all the things that unity pro included until unity4.
You basically need to upgrade only if you work on a team or you get more than 100k usd each year from selling your game and only if you are using the engine.
Basically you are talking about a decade ago.

avatar
ConanTheBald: When it comes to licenses then nothing, not even Unreal, can beat Godot. MIT is a real Open Source license, not like that Nazi GPL shite. Unreal, at least, has source available for everyone, unlike Unity (to my knowledge).
of course a MIT license is amazing but Godot is not ready for production.
Maybe in the future it will be even better than unreal and unity like Blender, right now it's not.
About the source code what you even need that for? I don't know about you but I never even used the source code of godot or unreal... For unreal there is not even a docs for it, I don't even know where to look at to start and I don't even need to do it.
Unity got many open source part, that's good enough for me, I just need to use the engine I don't really need to know how it's done. If I need to create an engine there are many out there to learn from.

avatar
ConanTheBald: When I started with Unity then I used "UnityScript" (basically JavaScript). Dumping it is another reason why not to use it (for me anyway).
I disagree it was a bad implementation, slow to use and difficult to debug (it was just the first thing they made in version 1.0 that was mac only... and at that time C# was microsoft only).
I think dumping it was the best way to improve performance. Also it was actually easy to convert code from Unityscript to C#, basically you just needed to refactor it a bit (with types for example, a good way to avoid stupid errors). Nobody was using it anyway when they dumped it (most people were using C#, the other half were using plugins that were updated to C#, a few people were just not developers and copied the code from really old youtube tutorials).
Also in an engine you don't really write code in C# or anything else, you just use the framework methods to write scripts (C# code in Unity use something called IL2CPP so it will be converted to C++ before realese, so you are not writing regular C# and it will not be the same binary as a regular C# application)... Even if they change language in the future it will be really easy to convert the code.

avatar
ConanTheBald: So this is another reason why I love Godot. They have their own scripting language that they aren't going to abandon AND they support various other languages. Like C# for example. As long as MS keeps sponsoring, C# is going to be supported in the future as well. There is a community behind the Godot project and things aren't going to be abandoned simply because some imbecillic corporate board member had a bad dream at night.

So, even though we use different languages, we still both can use Godot. That's my point.
There are so many open source programs that nobody support anymore... Community change you cannot be sure that they will support something forever even if there are no money and no corporations.
I think that sometimes a good company that support the software for profit is a good thing... For Unity it was a good way to evolve the engine that on version 3 was still not so great. Closed sourse is not always a bad thing, and if you think about it most games are closed source.
Finally like I said, I cannot use Godot for a real product. I can just test it once in a while to see the progress.
avatar
LiefLayer: I think both C++ and C# are easy, I just like to use C# more than C++, less verbose and easier to read when I pick up old code (I'm more used to java than C since I work as a web full-stack developer, and I think that's the main reason I find C# so easy, basically it's a better version of Java, the best microsoft product (it's also open source right now), the second is visual studio code... I just use it for everything, so light so good).
C# isn't light... I also couldn't help but notice the nested paretheses.
I have to say that I don't really like Python... but I still used it a while ago at work and it was fine after I got used to it. Still Godot let you use C# and that's what I used when I tried the engine.
[s]Let's use indentations instead of brackets, because brackets are unreadable and using indentations and line instead of semicolons is going to make it so that all code is totally readable.[/s]

avatar
ConanTheBald: Unity still is fractured with their different versions and licenses. When it comes to licenses then nothing, not even Unreal, can beat Godot. MIT is a real Open Source license, not like that Nazi GPL shite. Unreal, at least, has source available for everyone, unlike Unity (to my knowledge).
While we're bashing unity, can we talk about it's preformance? I don't know if that's unity specific or related to C#, though.
When I started with Unity then I used "UnityScript" (basically JavaScript). Dumping it is another reason why not to use it (for me anyway). So this is another reason why I love Godot. They have their own scripting language that they aren't going to abandon AND they support various other languages. Like C# for example. As long as MS keeps sponsoring, C# is going to be supported in the future as well. There is a community behind the Godot project and things aren't going to be abandoned simply because some imbecillic corporate board member had a bad dream at night.

So, even though we use different languages, we still both can use Godot. That's my point.
Any games i might know made in it?

avatar
Orkhepaj: well ai development is more concerning imho , especially when they can start faking people
Man, i miss not-real-Jordan-Peterson. It was good and bad at the same time. I think more of these should be out there, so it can raise awareness. Deep faking can only be beat by exposure so we can come to learn how to detect them.

avatar
LiefLayer: of course a MIT license is amazing but Godot is not ready for production.
Maybe in the future it will be even better than unreal and unity like Blender, right now it's not.
Feel free to elaborate.
About the source code what you even need that for? I don't know about you but I never even used the source code of godot or unreal... For unreal there is not even a docs for it, I don't even know where to look at to start and I don't even need to do it.
Unity got many open source part, that's good enough for me, I just need to use the engine I don't really need to know how it's done. If I need to create an engine there are many out there to learn from.
And this is why unity games have preformance issues. If you don't know the underlying system, you can't build to it's advantages. Information hiding as a concept is great for getting your feet wet, but it's not good for learning and self-improvement, which is crucial for effective code wrting.

I disagree it was a bad implementation, slow to use and difficult to debug (it was just the first thing they made in version 1.0 that was mac only... and at that time C# was microsoft only).
I think dumping it was the best way to improve performance. Also it was actually easy to convert code from Unityscript to C#, basically you just needed to refactor it a bit (with types for example, a good way to avoid stupid errors). Nobody was using it anyway when they dumped it (most people were using C#, the other half were using plugins that were updated to C#, a few people were just not developers and copied the code from really old youtube tutorials).
And C# still didn't help much.
Also in an engine you don't really write code in C# or anything else, you just use the framework methods to write scripts (C# code in Unity use something called IL2CPP so it will be converted to C++ before realese, so you are not writing regular C# and it will not be the same binary as a regular C# application)... Even if they change language in the future it will be really easy to convert the code.
Yes, because the best way to spend a company's (or private developer's) time is rewrting old code. I know of a unity game that is no longer updated precisely because of this: they see no point in rewriting old code that not many are using anymore. The game was sold here on GOG, even.

There are so many open source programs that nobody support anymore... Community change you cannot be sure that they will support something forever even if there are no money and no corporations.
The same thing can be said about many corporate programs. Projects get abandoend, plain and simple. Some things don't need alot of support, though.
I think that sometimes a good company that support the software for profit is a good thing... For Unity it was a good way to evolve the engine that on version 3 was still not so great. Closed sourse is not always a bad thing, and if you think about it most games are closed source.
This is a false dichotomy.
avatar
kohlrak: ...
Hi, I like your posts! :)
avatar
kohlrak: ...
avatar
albinistic: Hi, I like your posts! :)
Thank you. What about them amuses you, though?
avatar
albinistic: Hi, I like your posts! :)
avatar
kohlrak: Thank you. What about them amuses you, though?
It gives me information and makes me want to look more into the topics and form my thoughts around them.
avatar
kohlrak: Thank you. What about them amuses you, though?
avatar
albinistic: It gives me information and makes me want to look more into the topics and form my thoughts around them.
At which level? Atoms? Hardware? OS? Programming? Engine? I could easily find you some material that goes into detail at any one of those levels.
avatar
albinistic: It gives me information and makes me want to look more into the topics and form my thoughts around them.
avatar
kohlrak: At which level? Atoms? Hardware? OS? Programming? Engine? I could easily find you some material that goes into detail at any one of those levels.
Well, almost about anything. It is just I find other people's thoughts and explanations interesting, which encourages me to research more to deepen my thinking on topics. You know what I mean?
Post edited May 31, 2021 by albinistic