Showing posts with label helpful. Show all posts
Showing posts with label helpful. Show all posts

Friday, 3 March 2017

Godot Is The Best Engine - Godot vs Unity



This is a video I made to compare these two engines. The transcript is below, enjoy!


So, this is a new series I’m doing where I’ve decided I’m gonna be an unpaid shill for the Godot engine, and compare it to some other engines. This first episode is going to compare Godot to its obvious competitor, the Unity engine.

At a first glance, Godot and Unity are not so different from each other. Having said that, Unity puts a massive emphasis on its 3D editor, while Godot is primarily made for 2D development. That’s a pretty big difference right off the bat, I mean they are primarily designed for two completely different jobs. However, given that they both have support for 3D and 2D editing, they can be suitably compared.

While Godot’s 3D renderer isn’t the best thing in the world, Unity’s 2D renderer is literally just the 3D renderer locked into an orthographic viewport.

The fact that Godot at least uses a separate dedicated renderer for 2D is an advantage in itself, seeing as that minimizes the amount of performance overhead that may otherwise be detrimental to applications that rely on a high frame-rate- which just about all games do.

Another thing that Godot has over Unity is that Godot is totally free. While Unity is proprietary and closed source, Godot is maintained by around a hundred developers on Github under the MIT license. This means that Godot is free as in free speech, not as in free beer. Stallman would be proud.

Leading on from this, Unity forces users of the free version to have a “Made with Unity” splash screen at the beginning of their game. Godot has no such limitation. Though it is there by default, it can be either changed or totally disabled as the user wants.

I will give Unity some credit, in that it does not use its own constructed programming language for the programmatic side of things. This is a genuine advantage that Unity has over Godot. However, having said that, Godot’s GodotScript can be made to integrate with precompiled C++ modules very easily, for more performance-sensitive tasks.

A massive thing that Godot has above Unity is the fact that Godot is cross-platform, and available on Windows, Mac, and Linux. This is very important for myself, considering that I use Linux as my primary operating system and Unity crashes usually within about 5 minutes of work. Last time I checked, right clicking on a drop-down menu forced it to close as of about 6 months ago.

Also, Godot exports to BSD running X11. Just consider that for a moment- what other engine even acknowledges BSD exists? I don’t think anyone developing the Unity engine knows what BSD is, but that’s speculation more than a criticism of their product.

Regardless, Godot’s user interface is a lot more intuitive, at least in my opinion. It makes efficient use of space and colours, something which I do not feel Unity does as well. A petty complaint, but if there ever was a time to say it then hey, here it is.

Also, Godot’s mascot is better than Unity’s so fu

Now look, obviously I’m not saying that Unity is a bad engine. Objectively speaking, it’s powerful and has been used for a number of very high-profile cases. Having said that, Godot beats Unity at every level in so far as 2D is concerned. I haven’t used Godot’s 3D options so I can’t speak much to that, but I’m confident in saying that it’s a worthy contender.

Either way, thanks for watching. Stay tuned for the next episode in the series on… I dunno a different engine probably.

Thursday, 22 December 2016

Preventing Burnout

This is a legitimately useful post that I'm making, rather than highly subjective musings. Enjoy!

I am very prone to what is called "burnout", a term referring to a developer getting tired or otherwise dissuaded from continuing to work on their project. This has been problematic, considering that it's caused me to kinda abandon two other projects in the past, so I've decided to share some tips that I've either come up with or seen somewhere else online.

One of the most useful things I've noticed is that it's important to pace yourself - even if you don't want to. This means that you shouldn't try to work more than 4-6 hours on your project per day. Of course, this is coming from the perspective of someone who has to go to school regularly, so perhaps 6-8 would be a more appropriate number for someone who otherwise has no other preoccupations.

The feeling of "I want to work on this project but I can't" in my own experience helps to keep the enjoyment of working on it fresh and lively in my own mind, which means I'm less likely to experience burnout.

Another thing that helps more than I would have expected is keeping an hour count. I use the Godot editor on Steam, which automatically records your hours spent "playing" any particular application and by now I have about 90 hours on record. This helps just for the sake of a number ticking up being somewhat satisfying. Maybe this won't work for you, but it's worth a go.

A pretty useful tip that I use a lot is that if I discover a bug or something that I really don't want to do, I schedule it for either tomorrow or the day after. The most important thing is that I do it then, procrastinating sets a bad precedent for the future. This can be difficult, but it's very useful. If you can suppress thoughts like "ugh I don't want to do this" or "grr this is going to be so much trouble" in lieu of thoughts like "I can make this bit blue" or "where can I add dithering", it helps a lot.

Something that helps quite a bit is making a post on your devblog - provided you have one. If you don't have one, make one and post it to /r/devblogs or something similar. There's another whole post to be made to talk about devblogs and how they're helpful, but just trust me, seeing the "All time views" number tick up slowly is tremendously satisfying.

This is something that I've seen is commonly suggested but somewhat underrated. If you're stuck on something, shut your eyes for a few moments and picture it in your mind in as much excruciating detail as you can. Besides the beneficial side effects of exercising your imagination, this helps you with design, as well as allowing you to recognize the potential of what your game could be if you do everything exactly right.

One last thing that is tremendously useful; if you're not feeling motivated, think of one very small thing that you can do to your game. Bonus points if its very menial or repetitive and doesn't require creative effort, because while interacting with your game in any way you might start being able to think of ways to tackle other problems, whether they're how to recreate something graphically or how to tackle a tricky bug.

Even if you plan on working for 5 minutes, you will often work for much longer once you start. Sometimes the hardest part of something is to start it, and then the rest becomes quite enjoyable.

Anyway, that concludes my list of (hopefully) helpful tips, and if you have done, thanks for reading!