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
kusumahendra: You need to adopt "the godot way" to use it effectively.
avatar
Lexor: What's that?
"The godot way" is a way to look design your game by logically dividing it into entities that interact with each other, and then create each entity by using/combining built-in node and script to define their behavior. it's very similar to OOP (object oriented programming)

So let's say you want to make a pong game, you divide your game into entities such as ball, paddle and levels. And then you create each entity as a scene so you have ball scene, paddle scene and level scene. And then you create for example ball scene by using build in nodes like RigidBody, paddle scene using KinematicBody and a script to read player input, and level scene by using StaticBody. After that, you can add ball and paddle scene into your level scene.

This feature exists in every game engine. In unity they call it prefab. The difference is Godot is focused on this feature, So they make it very easy to create, combine, add and remove any scene. While Unity has just recently added the ability for nested prefab.

The downside if you decided to look at it that way (I certainly don't consider it a downside) is Godot comes only with a number of basic game object (we call it node) that's design to do one thing well. So to create a complicated scene you have to combine many of them. That means Godot doesn't come with standard complicated feature usually exists in other game engine such as player controller (Unity has one, but most people write their own anyway)

For example, since Godot doesn't come with built in player controller I created my FPS player controller by using KinematicBody as base (to allow it to physically interact with level), a camera, a RayCast to detect floor, and an Area to detect if player enter / exit ladder. And I have to code my own script to allow them to work. This sounds like a downside. But the upside is, if I want to add complicated feature such as climbing like you see in Dishonored, I can easily create one. In Godot, I do it by adding to player a RayCast to check for a position in surface, an area to check if said position can be climbed and if both check pass I then can move my player there using code. In Unity, I have to do it all by code, calculating RayCast origin manually, casting your collision box and determine the correct size etc.

I've done this climbing feature both in Unity and Godot. I can say it clearly, it's a lot easier to do in Godot
avatar
Lexor: What's that?
avatar
kusumahendra: "The godot way" is a way to look design your game by logically dividing it into entities that interact with each other, and then create each entity by using/combining built-in node and script to define their behavior. it's very similar to OOP (object oriented programming)
So, I guess that engine won't work well for games that don't have entities of that sort.

(For example, it sounds like it wouldn't be the best choice for a game like Cookie Clicker, where you don't have such interactions, but instead have a lot of math regarding cookies and cookie gains. Is that correct?)
avatar
kusumahendra: "The godot way" is a way to look design your game by logically dividing it into entities that interact with each other, and then create each entity by using/combining built-in node and script to define their behavior. it's very similar to OOP (object oriented programming)
avatar
dtgreene: So, I guess that engine won't work well for games that don't have entities of that sort.

(For example, it sounds like it wouldn't be the best choice for a game like Cookie Clicker, where you don't have such interactions, but instead have a lot of math regarding cookies and cookie gains. Is that correct?)
Godot is actually a general use game engine. You can create any games using it. Godot comes with many basic built-in nodes including Gui elements , display sprites and 3d mesh, game logic, networking, pathfinding etc. Heck, someone even make a database front end using it.

I look youtube video of cookie clicker and I don't understand how to play the game. But from what I can see, all that's displayed, all entities that's I can think of that's used in what I see can be made by combining several built in nodes. Like for the cookie that's clicked can beade by using TextureButton (a button that uses custom sprite as display)
avatar
Darvond: Fair enough.
And that's all? :D I was hoping that you will present me some other engine from the list you were talking about, which, quote, "would be far more fulfilling" to my needs. ;)

avatar
amok: if you are looking for something to do quickly, Game Maker is a viable option, especially as it is 2D. There are not many tabletop games made in GM, but a few do exist.
Yes, time is important part of every project, but I would afraid to use Game Maker as a platform because "it looks too simply for my taste" and "it has own programing language" so if my project, at any time, grows up and become "huge" one I could have problems to develop it further in Game Maker and its "translation" to other environment could become painful.
Post edited October 05, 2018 by Lexor
avatar
dtgreene: So, I guess that engine won't work well for games that don't have entities of that sort.

(For example, it sounds like it wouldn't be the best choice for a game like Cookie Clicker, where you don't have such interactions, but instead have a lot of math regarding cookies and cookie gains. Is that correct?)
avatar
kusumahendra: Godot is actually a general use game engine. You can create any games using it. Godot comes with many basic built-in nodes including Gui elements , display sprites and 3d mesh, game logic, networking, pathfinding etc. Heck, someone even make a database front end using it.

I look youtube video of cookie clicker and I don't understand how to play the game. But from what I can see, all that's displayed, all entities that's I can think of that's used in what I see can be made by combining several built in nodes. Like for the cookie that's clicked can beade by using TextureButton (a button that uses custom sprite as display)
The way you play Cookie Clicker is this:
1. Clicking on the big cookie gives you a cookie (and later gives you more).
2. Once you get enough cookies, you can use them to purchase buildings, which will automatically give you more cookies over time. You can also buy upgrades, which can further increase the number of cookies produced by buildings. (There's a lot of math here, and it can get quite complicated.)
3. Every now and then, a golden cookie will appear somewhere in the game window (though not on the right side where you click to purchase buildings and upgrades); clicking it will give you a random beneficial effect (like multiplying cookie production for a certain amount of time).

There's more to that game, but that's the basics. The game logic is just math, and there's no pathfinding involved here.

Of course, that game engine doesn't fit the requirement that I have, which is that I need a 2D graphics library that doesn't depend on 3D hardware or 3D graphics libraries (in other words, I want one that doesn't depend on anything like OpenGL or DirectX).
avatar
i_hope_you_rot: What about the telemetry ?
Well, yes, that's another concern I was thinking about. Unless I'm mistaken (or something has changed recently) I think that in personal (free) version of Unity I won't be able to turn this off completely neither on my side nor for any player of my game. That's why I'm seriously thinking about trying the other two suggestions from this topic: Godot and/or libgdx.
avatar
kusumahendra: Godot is actually a general use game engine. You can create any games using it. Godot comes with many basic built-in nodes including Gui elements , display sprites and 3d mesh, game logic, networking, pathfinding etc. Heck, someone even make a database front end using it.

I look youtube video of cookie clicker and I don't understand how to play the game. But from what I can see, all that's displayed, all entities that's I can think of that's used in what I see can be made by combining several built in nodes. Like for the cookie that's clicked can beade by using TextureButton (a button that uses custom sprite as display)
avatar
dtgreene: The way you play Cookie Clicker is this:
1. Clicking on the big cookie gives you a cookie (and later gives you more).
2. Once you get enough cookies, you can use them to purchase buildings, which will automatically give you more cookies over time. You can also buy upgrades, which can further increase the number of cookies produced by buildings. (There's a lot of math here, and it can get quite complicated.)
3. Every now and then, a golden cookie will appear somewhere in the game window (though not on the right side where you click to purchase buildings and upgrades); clicking it will give you a random beneficial effect (like multiplying cookie production for a certain amount of time).

There's more to that game, but that's the basics. The game logic is just math, and there's no pathfinding involved here.

Of course, that game engine doesn't fit the requirement that I have, which is that I need a 2D graphics library that doesn't depend on 3D hardware or 3D graphics libraries (in other words, I want one that doesn't depend on anything like OpenGL or DirectX).
Well, I know godot has separated renderer for 2d and 3d so if you only use 2d feature the game won't export with 3d renderer at all. But I don't know what they use as 2d renderer. It might be opengl but I can't tell for sure
avatar
i_hope_you_rot: What about the telemetry ?
avatar
Lexor: Well, yes, that's another concern I was thinking about. Unless I'm mistaken (or something has changed recently) I think that in personal (free) version of Unity I won't be able to turn this off completely neither on my side nor for any player of my game. That's why I'm seriously thinking about trying the other two suggestions from this topic: Godot and/or libgdx.
Eh, both alternatif are free and small in download size. Just download and give it a try and see which one you like more
Post edited October 05, 2018 by kusumahendra
avatar
Panaias: I had a very brief interaction with Unity a few years ago
What stopped you at that time?
avatar
Panaias: I like coding my games in C++ from scratch so I am not familiar with commercial engines :)
Have you tried any other engines or just Unity?
avatar
Panaias: I had a very brief interaction with Unity a few years ago
avatar
Lexor: What stopped you at that time?
avatar
Panaias: I like coding my games in C++ from scratch so I am not familiar with commercial engines :)
avatar
Lexor: Have you tried any other engines or just Unity?
I was not in any way "discouraged" by Unity & I never tried to use another engine. To tell you the truth, I never had the desire to employ a commercial engine because of personal... curiosity! I am a programmer (not in the games industry) & I love programming games (even though I never had the time to actually make a full-length one professionally). The reason I create everything from scratch is because I always need to know what happens in the background that makes things work. Every small detail. But, I repeat, this is purely my personal curiosity & my need to dive deep and learn stuff that interests me. My experience with C++ goes way back, so I needed to learn graphics programming and started learning OpenGL, then I created an audio module for simple sound effects & music based on PortAudio, and so forth... Excuse my long post, I just wanted to emphasize that I never intended (or maybe never had a great idea!) to think about creating a commercial game. But in your case I would be more inclined to use one, especially if time is limited! And thanks to some previous posts, I actually just found out about Godot; I read through the descriptions & features and it seems really really good! If I were in your position right now I would probably try Godot. It seems easy to use, it's practically license-free, it's cross-platform and has no external dependencies to carry around.
avatar
adaliabooks: Libgdx is great, particularly if you are just looking to do 2D.
Are you able to compare Libgdx to Godot? Godot was also mentioned here as a very nice engine for 2D.
avatar
adaliabooks: Libgdx is great, particularly if you are just looking to do 2D.
avatar
Lexor: Are you able to compare Libgdx to Godot? Godot was also mentioned here as a very nice engine for 2D.
I've tried both, I much prefer Libgdx but they are very different beasts.
Libgdx is pure programming, no interface. Godot has somewhat of an interface, where you can create and manage scenes and place buttons etc. and uses it's own (python like if I remember rightly) script for most of the coding work.
Godot does have good UI stuff too, probably a little easier to use than Libgdx but overall less flexible.

Godot is quite good, but Libgdx is better I think, certainly if you are a reasonably competent programmer the freedom of Libgdx may be more appealing than working around Godot, Unity or UE4 (that's what I find anyway).

It may well be worth giving both a try, it shouldn't take long to whip up a sample project in each just to try them out and see what you prefer.
avatar
adaliabooks: Godot has somewhat of an interface, where you can create and manage scenes and place buttons
How precise is the "button placement" in terms of pixels? I hope I can use some coordinates as reference as I like details.

Yes, I used to write some programs but it was long time ago so I probably will not be so quick on my first code. :D
avatar
adaliabooks: Godot has somewhat of an interface, where you can create and manage scenes and place buttons
avatar
Lexor: How precise is the "button placement" in terms of pixels? I hope I can use some coordinates as reference as I like details.

Yes, I used to write some programs but it was long time ago so I probably will not be so quick on my first code. :D
I think you can both place them (drag and drop) and input co-ordinates, whichever you prefer.
avatar
kusumahendra: I am making a 3d fps game as a hobby project using the engine and I find it perfect for my need. I once made an unfinished 2d platformer too and find it very easy to do.
What convinced you to use Godot engine over any other? Did you do any research before?
avatar
Lexor: Full (and corrected) title of this topic: "Is Unity still considered as a good free environment to create a game or there are better options?"

I have some plans to create/release a game for PC - should I go for Unity or there are better options? It will be digital adaptation (probably in 2D) of my paper/card board game. My main reasons to make digital adaptation are: (at first) to do more additional tests and (later) to gather more funds before releasing paper version as well.

Is Unity hard to learn? I used to write some programs in C++ for DOS.

Which version of Unity should I use? I've heard that newest one is not always considered as the best one.
Have you checked these ?
http://battlegroundsgames.com/links/#anchor7
https://boardgamegeek.com/thread/299033/inkscape-extensions-boardgame-development