Heavily considering switching to Godot. Should I?

Heavily considering switching to Godot. Should I?
0

I’m beginning to really consider using Godot. It looks like it’ll make things a lot easier. My main 2 questions are:

  1. Any reasons cocos2d-x is better? Godot, in my opinion, looks a whole lot simpler to use. It just like Visual Basic, drop the objects on the screen and assign them jobs. In cocos2d-x it’s a bit more different.

  2. If I did switch to Godot, would I still be able to get help from this cocos2d-x forum? Let’s say I, for example, wanted to make an in-game slingshot within Godot, would it be exactly the same way I’d make it inside cocos2d-x?

Thank you.

I think that with these words you have answered your question.
I would like to have 100% control of my code. I don’t like the tools that generate code automatically because, in the end, you don’t understand your code.

Yes, maybe it’s friendly, but I’m a programmer, not a user. :slight_smile:

P.S.: I prefer cocos2d, obviusly.

Have you looked at Cocos Creator yet?

Godot and cocos2d-x are not the same. So if you switch to GoDot why would you ask questions in these forums?

Take the time and figure out which engine is good for you. If a more visual path to development suits you better use GoDot or Unity. If you want to learn to code and apply your coding skills to your future (in any industry) then stick with cocos2d-x. If someday you write a console level game use UnReal for that (unless we target consokeanofficially by then).

If you want to switch to JavaScript try out Creator.

To really learn programming or game creating I think you should learn about a programming language first. Go with a managed language to understand the concepts of coding.
You can create powerful games using managed languages like java. If you really want to push the boundaries in perfomance consider switching to e.g. c++ then. It doesnt make a huge difference on 1 person projects I think.

Godot is about creating a game by dragging and dropping. If thats your only goal go with it. You wont learn about concepts of actual programming.

I personally like to manipulate existing classes to fit my need and I also want to know at all times whats going on backend. Thats stuff you will not know on godot or any other major engine.

@Rascake Typically, when someone is considering using a piece of software, then any queries they have regarding that software should be targeted at the makers of that software. As slackmoehrle already mentioned, if you’re curious about Godot, then your questions really don’t belong on these forums.

The Godot drag-and-drop functionality you mentioned is more like Cocos Creator, not cocos2d-x. That isn’t to say that you can’t write a game purely in code with Godot, since it is actually possible. You need to know what you’re comparing, so saying Godot + GUI is easier makes no sense when comparing it to Cocos2d-x.

If you want to do a true comparison, then check out the code-only Godot (not using the GUI), and then you may come to the conclusion that Cocos2d-x is actually simpler in many ways, especially compiling and building the games for different platforms. If you don’t what I mean, then don’t ask, but do what any programmer would do: read the documentation.

Now, for your second question, regarding asking for help on the Cocos2d-x forum if you’re using Godot… I don’t speak for everyone else here, so what I am about to say is only my opinion. I personally would find it inappropriate to do such a thing, given these forums are for supporting developers using the Cocos2d-x platform and related tools. Getting help for general game-design and non-engine specific issues, especially when not really using Cocos2d-x, is perhaps best left to other sites that better cater for such things, like:

https://gamedev.stackexchange.com/
https://gamedev.net/

I guess for me I never got into visual development. I learned on DOS in my teens. In college it was mostly Solaris and some windows. My first jobs were Linux and windows but never using visual tools. I always preferred hand coding everything.

2 Likes

Ras, let me be really sicere with you. The framework nor the Engine will make any difference on your task. As i stated before, programming is about solving problems. You need to learn how to solve problems, and how to use google (no, really, every professional programmer use google, we don’t know everything).
So, as i know your background, i could say you are trying to build a 27 story building without knowing how to put a brick on top of another. Many of us here will tell that doing a andgry bird clone is not hard, its not really if you have all the knowledge… that knowledge is not just a free course online that you just read without excercising as a homework from your school. Learning to program is a thing of years, or at least many months.

when i had 15, i am 27 right now, i used to read a book about python, it is a really cool and simple(of sintax) language. But i wasnt able to understand what a string was, or a char, or an int was.

It took me 1 year to understand what a variable, a pointer and a function was. That mean, 1 year to learn how to read/write binary files, how to make functions, how to build basic stuff like an inventory of 3 or 4 fields. Basic calculations. Half of that time i used seudocode (That is, drawing in a paper simbols like a little house that meant an ‘If’ branch, for example)

It took me 1 year to understand what indirection was, what a double or a triple pointer was, what a pointer to function was, how to create space in memory for all the data types C has, how to create a maxtrix with pointers in the heap. It took me more than a year to understand and do my own data structures like lists, queues, trees, graphs.

It took me more than a year to understand what POO is (and i am still learning, you never know enough).

I have programmed hundreds, or thousands of little programs and a couple of big and complex ones.

Aside of learning C++, i learnt Maths, REAL maths, not just inequations or how to resolve X. I talk about matrix, 2D, 3D, 4D, Vectors in different coordinates and spaces, Quaternions, Eulerian Spaces, Change of basis of different spaces. I talk about more real maths, like derivatives and integrals in multiple spaces with multiple variables. I have 2 years of university level physics. I know for sure many here knows A LOT more than me, thats granted. And let me tell you, all that info is REALLY usefull in gaming, you can do Anything knowing maths in the gaming world.

Most of us here know more than one language, the most common probably C++, Java, C#, C, VB, Python, LUA, Javascript, ActionScript, plus many others.

Ofcourse it will be easy for us to make an angry bird, we just have to learn how to use a new library function, cocos in this case.

So, you wanna make an angry bird clone knowing nothing. You wont be able to do it with C++, nor with Lua, nor with Godot, nor with Node based programming languages (Like game maker for example). What you really need is to sit down in front of your computer, grab Kernigan & Reachie’s Book of C, and start learning something, a hello world for example. You need to start simple bro, REALLY simple, and you wont learn overnight.

Most of the time, the problem is not the language nor the framework, but the person trying to do something there and failing because of many factors, like the lack of real knowledge.

Programming is not just writting printf(“Hello World”); Programming is learn how to overcome problems. You can ask on the way, if you know what to ask, and proving you have something to show to the people trying to help you.

You wanna learn to drive? just jump in your car and learn how to use the 3 pedals. Then learn how to use the clutch, then how to turn on the car. You wont start racing in Indianapolis.

Here is the same. In my opinion you have a lack of knowledge. That by itself is not a problem, you can learn, but you need to learn something of your level. Probably a game engine is not at your level yet, you dont know what a class is for example.

In my opinion most of the engines out there are good enough. I am in love with a little one named MiniWin, it has les than 20 functions… you can handle inputs, you can print something on the screet, draw 2 shapes (circles and line segments). And with just that you can do EVERYTHING for a basic game like an asteroid. Lets say MiniWin is a .22 cal bullet… Cocos2D is a Tomahawk missile with the potential to make you win millions of dollars with a game. I would say the same of Godot or any other game framework. The problem is… do you know how to handle a tomahawk? wouldn’t it be better if you start shooting .22 cal pistols first ? I am not saying to use such or such framework like MiniWin, i am saying start simple.

I see you have many cool ideas, we all have cool ideas, we all wanna build the next Fornite or the next MMO. But You need more than ideas, more than papers. You need to start giving a fu*ck about planning and imagining games in your mind, and start programming basic stuff… like a main with a printf and a multiplication inside for example.

THen we have the discussion, X language is easier than Y. Godot Vs C++ for example… neither of them are easy… Not even MiniWin is easy, you need to know how to solve problems, you need to think with an algorithmic mind. What most people mean with easyness , in my opinion, is just the sintax, and how easy the framework makes you the different things you have to do in your everyday life as a programmer. Syntax is just like Spanish(my language) and English (What i try to learn lol). Both are difficult to learn, not because you can spell vocals easier in one language that means its an easier language. I hate from english for example that you dont spell a word the same way you type it, i am learning tho, i do speak it, i can communicate. The same is with programming, Javascript is easier in syntax than C++ for example, that doesnt mean its better or worse than C++, you need a lot to learn and master javascript. The same with godot.
In C++ you type
ReturnType ClassName::MethodName(Type&name for parameter){}
In Javascript its just
Function helloWorld(var name){}
Again, it is only syntax.

I would suggest, stop drawing in papers, stop planning projects, stop imaging games in your mind, stop looking for easier languages, stop everything, download Kernigan & Ritchie’s book, and start coding… Download Codeblocks, download anything, but start coding. If you start today, tomorrow you will have a lot more than what you know today. I bet you, you will learn… If you are dedicated enough, in 3 or 4 months you will learn how to program things, i dont know if you will learn games in 3 months… but anyways, you wont be stuck here like you are now, and in maybe 3 or more months after that you could learn basic games.

Just Start learning, keep it simple, keep the passion up, ask more questions, seek for help about your doubts… but start typing things in your IDE. Just start doing something. And stop planning projects, stop looking for shortcuts, there aren’t anyone.

Well i am done, it took me an hour of writing my feelings, always with my most sincere respect and humbleness. I am not a master here, i have 7 days with cocos and i haven’t event scratched its surface.

5 Likes

Thank you. This was awesome. And true.

3 pedals. Hmm I still drive a manual shift but none of my friends or family have for many years :slight_smile:

3 pedals. Hmm I still drive a manual shift but none of my friends or family have for many years

I live in a third world country sadly :stuck_out_tongue: lol Some day sir(Insert here my dreamer face looking at the horizon)… some day i will leave this shi*t hole country… Very offtopic but i would love to live in Czech Republic, Canada, Australia, Spain… I had offers to work from Scotland, Ireland and California… but i need to finish my degree first, just 1.5 years more :frowning:
Driving automatic cars must be awesome lol
Well, thanks for the feedback hahah

Props, that was an incredibly touching statement. I HAVE begun, I’m no longer planning as much as I was before. currently, my progress is not great but its a START:

I just want to enter this darn game into the competition and sit back. I don’t want to do coding as a full-time job… anymore. I want to be a 3D designer, which I’m BOSS at. I am entering this competition partly to look good when it comes to finding a college.

  • for an English learner that was fantastic!

Would you know how to create a function that receives a vector (as a pointer), put it in order then return it as a pointer? no [ ] notation, just indirection and pointers. That is problem solving.

Thank you for all your kind words, you have no idea the countless hours i have spent learning english lol. I would love to see your 3D artwork. I am an enthusiast 3D modeler… not a pro, just little things lol

About Angry bird clone, you can just watch youtube, there are countless youtubers explaining step by step the process, and while you copy what they are doing on their screens, you can learn what you dont know… that is a nice way to learn too.

1 Like

Another way you can go is , looking some youtube channel that teaches Cocos… if you dont know what something is, you can stop, google it and learn that way… you can google almost ANYTHING… just google this " int array* "; and you will find something, somewhere that teaches you what that thing is.

1 Like

Dear Rascake, I think competitions are motivating but you don’t necessarily need to win a one to become a developer at all. You are young and you live in the golden age of self-education.

For your competition, I would say you go with the most simple development kit. If it is “dragging and dropping” for you, go with it. If you are (or will be) into programming in the future, Cocos2d-x, combined with C++ would be a good choice. Don’t take large steps. Make it in smaller steps. Don’t forget winning that competition is not a big deal. Improving your skills and enjoying what you do is the big deal.

3 Likes