Though I’ve used engine but never used forums. Used to get some questions on stackoverflow.
My point was based on mutual learning, not keen selling on own product but yeah that’s the ultimate, anyways.
Unity tutorials are no doubt great. I learnt game programming from Unity from it’s 2 tutorials(it only had 2 at that time). It took me just 2-3 weeks to be comfortable with it. And in that time, youtubers also made videos bcoz they themselves didn’t face any difficulty in learning the software, so they saw scope of teaching others. But as I said, previously, open source framework team might not want to allocate resources on this due to limited fund or other reasons. They “also” rely on community which is justified.
It’s a great framework. Yeah you’re correct about the point. Learning curve is difficult not because of complexity of engine but bcoz C++ might not be the expertise of a person. Eg- Although, I know OOPS and C, but I started learning C++ directly from cocos2d-x and both were my interest.
Sorry for all, but in my opinion for cocos2d-x would be the best:
Throw away the complete web shit with js, and concentrate only for the C++, open source, extendable engine.
Who want to develop web, or js, there is enough alternative.
For c++, open source, with easy extend there is no alternative. (maybe godot, must to check the modules)
Market and Store: who the f… cares about it. Who has money can buy content, or rent a guy.
Or if i make some cool feature, then i sell it for newbies? Sorry, but then the complete community will die.
In my opinion concentrating only on c++ engine would be the best option. Its your best product, so improve it further.
In my case, the current game I’m working on was suppose to launch 8 months ago. But the performance on android was so poor(sounds,extreme lag, unstable results on different android devices) that i had to shift to a desktop build first for steam. Desktop’s performance was much better than android but for it being a desktop build and yet lagging on a gaming windows laptop and was a bit slow on a mac 2015 with a graphic card. This was very troubling (yes i have opened issues on this). The new audio engine is terrible on mac and had to switch back to CocosDenshion.
Note: My game works at 60 fps on iphone 5 ( considered a low end device now). I want all platforms to perform as good as iOS.
All that being said I still consider cocos2d-x to be the best engine by far and cocos2d-x team is doing a great job on the engine and they are always willing to help out.
I am new to game programming and learning/using Cocos Creator. Many thanks to developer team for this promising tool.
The problem here is that support for these tools are not well organised and enough. I see lots of the things on web sites which are outdated and won’t work because of changes/updates. We really need more tutorials and a well-organised web site.
All I want to say is that I’ve been following this thread.
We need both a modern engine and good editor.
Right now we are adding stability, fixing bugs, implementing “low-hanging fruit” features in v3.x.
And in the meantime the Creator team is further developing the editor.
As you all know, we are currently supporting 3 languages: JS, Lua and C++.
In the western market, C++ seems to be the most used one.
But in Asia, Lua/JS are the most popular languages. So, we are trying our best to support all three languages.
I understand that some of you might not care about the Asian user-base, but Cocos2d-x is an Asian product.
And, being open source doesn’t mean that we work for free. Some of us are payed employees. So, some decisions are are made thinking of the business, some decisions are made thinking of the technology, etc…
Hi ricardo. I think it’s not about asia-west habits. Cocos2d-x is the best active c++ 2d game engine project in the world right now. Because actually most of engines are using scripting languages today.(JS,LUA,C#…etc) But cocos2d-x is also filling the c++ development field now. Other alternative projects died in last years. So c++ side of engine is very important for some developers because of that.
But the main problem; documents, tutorials, sample projects aren’t enough to start for beginners.(Cocos Creator and Cocos2d-x) Too many developers of my friends gave up in the beginner period.
We definitely don’t have enough samples and tutorials. I think I am seeing that this is how most developers learn. A sample or a step-by step guide. do x,y, z. This feels weird for me because I tend to learn towards reading an API reference to know how things work and looking at the underlying source. It is clear though that not everyone works this same way.
Also, what do you recommend we do when we create tutorials or samples and they go out of date? We have this issue now. Our Wiki is out of date. The Sonar Systems videos are out of date as well in some cases. Make School did a few tutorials and now they are gone. It almost seems like we would need to create new tutorials and samples frequently and I don’t know how we would keep up.
A lot of folks are very interested in the live stream next week. But when I see people complaining about docs and struggling with getting Cocos2d-x setup, is it really the best use of my time to do a live stream when I could spend the day writing.
I wish more of the community sent in PR’s to add content to our docs. This is helpful because each PR shows us an area we should review and improve further.
Centralized the documents into the knowldegebase…Have a video section in the knowledgebase, embed youtubevideos into the video section with tutorials from sonar systems,, live stream. Get rid of the dead links…These are just some simple observations…Most newbies / developers learned through simple steps like you mentioned. God Bless…
Samples/tutorials/documentation have to be given the same priority as pushing new code features in order to do them properly. There is no way around that fact.
I know you do a great job providing new documentation and trying to keep things up to date, but it is obvious that the “powers that be” do not consider documentation anywhere near as high a priority as new features.
I love Cocos2d, but I agree with some of the sentiment in this thread (although I am a huge fan of Cocos Creator and think that is the right move for you guys). Documentation and tutorials is definitely a sore spot, and as an outsider looking in, I would guess the problem is that you do not have enough people working on them to adequately address the issue.
It’s easy for me to sit here and suggest that you guys hire more people to work on documentation, I don’t have to pay them. But at the end of the day proper document/tutorials/samples maintenance is a lot of work, and requires manpower. You can’t just solve that problem by putting some best practices in place, and you can’t really rely on the community to solve the problem either. It has to be handled in an organized, focused, and consistent manner.
Few months back, I explicitly asked question from walzer whether Cocos Future is planned for well skilled/core developer or allow everyone to make games(obviously more skilled, more use of features!). Also, I am not talking about “no programming needed” game engine like BuildBox!!
So, walzer told that, the aim is that it’s easy for every one to make games!
You said, you look at api to figure out things! It’s because you’re pretty skilled programmer with expertise not just in programming language C++ but also in design patterns, openGL, etc!! Even I try to see apis. But I’m only decently skilled with C++ to write decent code for cocos2d-x… I’m not skilled to modify/understand enough openGL and others things or high level complexity of C++.
(Hence, I never demanded from community to teach me how can I customise the some/entire engine. I just expect whatever is available, I can use that. And you also know, more than enough is already there in cocos2d-x to make top quality games)
Hilarious it is??? As if a person doesn’t know the meaning of getInsetLeft, that it’s explicitly written “Query the left sprite’s cap inset”. Lot of part of api guide is done like this.
There are lot many instances in MOST FREQUENTLY USED PARTS IN GAMES like ScrollView, ListView. There api documentation is done exactly like I showed in pics above. Do you expect me to dive deep in the code to figure out what those functions are or else forget to use the awesome api? If I would be so expert, I would be creating engine myself…
Till Date, I’ve not good idea how can I effectively to use 9-slice sprite!! So, basically 90% of this api is WASTE for me. Similarly for other apis as well. 50-90% of those apis is waste for me because average cocos2d-x user(average game developer) CANNOT understand it.
Basically 50-60% of the great cocos2d-x engine is WASTE for me because I will never understand how to use it because I came here to create games and not the engine itself!
(Don’t get me wrong. I’ve you putting effort in writing Programmer’s guide and clearly see the ability of this engine which is why I’m sticking to it since March 2014)
I also check Cocos2d-x cpp tests which is my handy guide! And it itself is not written “practically” at some portions! For example, I wanted to see how the height can be dynamically set for a scroll view. I checked everywhere! No single info. Ultimately, I had to put a hack which was to put in element from last to first instead of natural order.
It’s not that some people don’t put effort.
Simple question is!! Why has the code-writer of such awesome apis decided to write function description in a way that only he or Level 10 developers can understand!! Why do you want me to dig the code to figure out what is the api all about and that too lot of times??
My background is, web developer with 1yr experience and I want to use C++ for obvious reasons with Cocos2d-x. I’ve full time job, use my free time to make games… I am single member indie developer. I want to create professional quality games, not just to please myself or feel good about it!!
Where do you think, it’s “weird” to expect guide for most frequently used features in a game?
It’ll save my time. I can focus on my creativity. And if I would be able to finish the game in time. I could even take out time to help community by giving back some example tutorial!! But the fact is that, I spent “2 days” to get my ScrollView working as expected(with that hack!) because I wanted to set the height dynamically depending upon elements whose height are calculated based on the various sprites!!
I hope, it still won’t feel weird to you that why do people need programmer’s guide!
Do, you know how many were in Cocos2d-x?? I was disappointed because such a great engine got such low popularity.
And Unity? From 163 courses atleast 60-70% tutorials on various topics!!
Because people creating tutorials know that all kind of developers can use Unity and their reach is much wider!
I’m sorry for such long message. But it was all to justify why you should not feel “weird” about why developers need it. Cocos2d-x is in itself is a great engine. I’ve already made games in past with Unity, Corona, and seen apis of few other engines. But crucial part is missing-ladder.
And this is the reason why ALL resources(video tutorials, books) in market are covering BASIC topics except 3 books… Because they themselves don’t know cocos2d-x enough or they can’t spend their hard-spent time for others!! Had they learnt the engine easily, they would have been more willing… Few people, like MakeSchool, Sonar, tutorial writers started from making basic tutorials and they stopped!
We talked about a knowledgebase in the past but the conclusion is that you can’t read a knowledgebase like you can a chapter in a book. This is why we decided on the programmers guide. You can start reading a chapter and get the flow from start to finish. I think users would just start searching topics, read enough to get wet behind the ears and stop. Next time they have a need they search for a new term and read just enough, but not everything.
I guess I see two philosophies here. Those that search to solve and those that read to understand.
Then besides this, there are those that want to watch step by step.
I read your whole post and I understand what you are saying.
But, when I read this above, I think “we would have to document everything, for every possible combination” and I don’t know that is ever possible.
We document scrollview, simple use cases, manipulating it, etc.
This solves the needs of some.
Someone else then wants a more in-depth sample of how to use a ScrollView to do something really custom.
Rinse and repeat 3
Rinse and repeat 3
Over time you can see how this stacks up. If we documented every question we got for specifics, I don’t know how we would manage it all. Plus, another way observation is not even Unity and Unreal have this level of docs. I look at their docs a lot. They are surely superior to ours.
The other thing I see is that we would need docs for:
those that have never written code, ever
those that have some coding, but not games
those that have some basic knowledge of game development, but new to Cocos2d-x
those that know enough to be dangerous, but don’t have enough experience to read the source code of the engine.
those that can read an API ref only
those that program games in their sleep, but still need the advanced under-pinnings of the engine.
We have a meeting tonight and I will add documentation to the list of topics to discuss.
Yep It’s not easy problem. Maybe we can fix that problem with an public web learning portal for samples and resources. Everyone can be an content owner. Yep, some resources will be bad (or out of date). But most of web resource systems works with rating orders, new sections today. And cocos2d-x team can also share official tutorials, samples in there. I don’t know, is it utopian?
Yep, most of my firends gave up in the setup period. Maybe cocos team can write a simple app for setup operations? (just like marmalade, Corona sdk…etc) New developers don’t like working with terminal operations. I remember, Cocos Studio was also a platform setup,build,run manager application. Maybe we need to get only that part of Cocos Studio. Is it possible?
But I’m glad to you be aware and worries of these problems. Thank you.
No slackmoehrl. We don’t have to document everything. We can have poll, or you can yourself decide about the most frequently things in a game. And things can be added in Programmer Guide which is already good for half part of basic things.
ScrollView kind of apis, I’ve noticed hasn’t changed since long. You can document the functioning of it. Rest how a person can use is upto his creativity of manipulating APIs and it’s totally on the understanding level and not the expertise level!!
You can leave such things on community to answer on forums or motivated people can start tutorials. Otherwise, everyone will always start from explaining what the heck if scrollView which in first place should have never been repeated if was mentioned in a nice way somewhere.
I’m not asking to make game tutorial! I’m asking to show the feature of cocos2d-x in written form…
Believe me!! There have been several times when I wanted to add some tutorial! But I myself end up spending unnecessary time on basic topics… You do scroll View… I (Community) add animations to it so that people can see the possiblity of its usage. My(community) part is creativity. Your(cocos) part is feature documentation.
This means we need to improve here. This is really important. What is the best approach to fix this? I can go through every setup platform doc and test it (and I have done so before a few times) but I guess I also need eyes from our community on if it makes sense. Someone posted a detailed thread about this yesterday and it is so involved, yet I don’t ever need to do half these steps. I printed that entire thread to read it in great detail and see what we should add from it.
Maybe for you, but some of the comments above and in recent thread suggest that this is a step everyone wants. Look at @luke2125 and @KAMIKAZE recent posts. They both suggest that we need to document all sorts of use cases, above and beyond the basic use.
Yes, I’ve also read their comments. I don’t agree with them because use case is the possibility which is ALWAYS out of scope of engine feature description. And everyone can agree that it’s part of creativity about how we can use and can be easily asked on forums.
I believe if the picture/nice description of some api is given, which should be the minimal part from engine developers. Rest they can put if they wish like 1-3 games showing different possibilities like Unity did 3 years back. It had only 3 games in its plate for 1.5 good year!!! Their 3rd game was advanced 3D type. Following their both games, made me learn game development and I was confident of me pursuing game development as my permanent hobby and in future professionally.
Rest tutorials on youtube were done by users displaying the possibilities, games, etc.
NO ENGINE, I’ve ever seen writes every possibility!
They just give simple to understand definition of everything used with working code for general use cases and the other cases if drastically different from general case, they mentioned explicitly. And diagram always helps.
For example- If scrollView is there. I saw cpptests. It hard coded the height and width which is the least practical case. You can use cpp tests for showing possiblities and PG Guide just like the idea I described above.
Sure, yes that isn’t the best case. Devs might want a scrollview that the size is based upon a percentage of the screen, etc. I recently spend some detailed time with ScrollView by implementing a landscape calendar view.
Most practical use case it calculating dynamically using screen width and height. But if we logically think, calculating height and width is the easiest thing. Main thing would be to add dynamic size elements in scrollView which quite a few ketchapp games, I’ve seen do. Even I used it, but I put a nice hack in it.