Re: CRYENGINE Learning Initiatives

#11
Having come to Crytek with no experience using CRYENGINE, I know what it feels like to be new to and overwhelmed by its feature set, whether you’re an artist, a level designer, animator, or programmer.
Forgive me for asking Brian, but are you an experienced C++ programmer ? Or an experienced computer graphics artist ? Cause if you are neither of those (I believe you are not) and adding the fact that you say you have 0 knowledge of CryEngine, with all due respect, you do not know how it feels to work with a software project of CE5's complexity. Not even remotely.

I also have a question for you: how much experience you have in documenting large scale software projects and engineering workflows ? It would be interesting to know for the community. DId you managed teams documenting such large engineering systems before ? Or your role will be just to ensure production values ?

Also, you do not want to run a democratic vote for "how should we document our engine" , and ask people on forums. You'll get a lot of opinions and request-for pet peeves. What I would do is to look at established benchmarks in industry. I would realize that this engine has ZERO technical documentation so far. I would realize that is imperative to get technical documentation out early. Unfortunately Crytek already lost this train, those are overdue by at least 12 months.

So yeah, what one should do is look at projects which are very well documented, realize the difference between tutorial and documentations, and proceed to put out *documentation*. One should also pay attention to detail. For example, whatever you record make sure you use a decent microphone and a isolated room. Details matter, not because they make the content better, but because they tell a lot to the world about the company which produced them and the seriosity they give to a project.

Btw, Unity, which you wrongly claim it sell its documentation on pluralsight, has at this moment an order of magnitude better than CE5 *FREE* documentation. It is ordered logically, CE5 docs are a chaotic mess atm.

So yeah, fix whats broken, and add docs where there are none. DO not ask "what new broken things can we add to the documentation ". Use expert knowledge and solve the issue. Asking the public for "what should we do" is useless in my opinion. You are new here, so you do not know that those things where already discussed way too many times and nothing has been done . Just do something regarding docs **fast** (we hard the term incoming months way too often) and you'll start to be ahead.

Re: CRYENGINE Learning Initiatives

#12
Having come to Crytek with no experience using CRYENGINE, I know what it feels like to be new to and overwhelmed by its feature set, whether you’re an artist, a level designer, animator, or programmer.
Forgive me for asking Brian, but are you an experienced C++ programmer ? Or an experienced computer graphics artist ? Cause if you are neither of those (I believe you are not) and adding the fact that you say you have 0 knowledge of CryEngine, with all due respect, you do not know how it feels to work with a software project of CE5's complexity. Not even remotely.

I also have a question for you: how much experience you have in documenting large scale software projects and engineering workflows ? It would be interesting to know for the community. DId you managed teams documenting such large engineering systems before ? Or your role will be just to ensure production values ?

Also, you do not want to run a democratic vote for "how should we document our engine" , and ask people on forums. You'll get a lot of opinions and request-for pet peeves. What I would do is to look at established benchmarks in industry. I would realize that this engine has ZERO technical documentation so far. I would realize that is imperative to get technical documentation out early. Unfortunately Crytek already lost this train, those are overdue by at least 12 months.

So yeah, what one should do is look at projects which are very well documented, realize the difference between tutorial and documentations, and proceed to put out *documentation*. One should also pay attention to detail. For example, whatever you record make sure you use a decent microphone and a isolated room. Details matter, not because they make the content better, but because they tell a lot to the world about the company which produced them and the seriosity they give to a project.

Btw, Unity, which you wrongly claim it sell its documentation on pluralsight, has at this moment an order of magnitude better than CE5 *FREE* documentation. It is ordered logically, CE5 docs are a chaotic mess atm.

So yeah, fix whats broken, and add docs where there are none. DO not ask "what new broken things can we add to the documentation ". Use expert knowledge and solve the issue. Asking the public for "what should we do" is useless in my opinion. You are new here, so you do not know that those things where already discussed way too many times and nothing has been done . Just do something regarding docs **fast** (we hard the term incoming months way too often) and you'll start to be ahead.
totally agree

Re: CRYENGINE Learning Initiatives

#13
So yeah, fix whats broken, and add docs where there are none. DO not ask "what new broken things can we add to the documentation ". Use expert knowledge and solve the issue. Asking the public for "what should we do" is useless in my opinion. You are new here, so you do not know that those things where already discussed way too many times and nothing has been done . Just do something regarding docs **fast** (we hard the term incoming months way too often) and you'll start to be ahead.
Thanks for your input, as always Dan.

However, I feel like your statement is unnecessary harsh. Just because your mind is already made up, we won't stop ask people for their opinion and feedback. Community discussion and feedback is very valuable for us, even if we can't come back to everybody individually all the time. This topic is meant to be a funnel of ideas towards the goal of making CRYENGINE learning better, one step at a time.

And this is what's happening. We're tackling issues one at a time and Brian is having all resources available to do his task as well as bringing in great experience in the field of adult learning and technical education. I get that some of you are torn, but trying to dismantle our effort or the people who work towards the goals CRYENGINE has set together with our community, with your guys, just doesn't help tackling these problems. We are looking forward and hindsight is 20/20; we strive to be better and more transparent and that's why we're opening the dialogue here.

So let's move on, together and keep your suggestions coming. Some really great ones and it's already good to know we're heading the right way.

Cheers,
Nic
CRYENGINE Brand Manager

I'm manning the CRYENGINE stations on Facebook & Twitter as well, so come and say hi!
My personal Twittering may contain nuts.

Get to know me.

Re: CRYENGINE Learning Initiatives

#14
@ahmad0karami We have no tutorials for sale. Everything we have is freely available. Webinars are streamed live for subscribers, then released to the general public a month later. Unity, for example, does indeed have many free tutorials, but you have to pay to access their game development course through PluralSight. We currently have no such policy or content.
I'd want to point out that Pluralsight also have paid training for Cryengine too and that the course you picked for Unity and Pluralsight collaboration is just one course. Picking that as example isn't really fair comparison when Unity does way better job on free learning materials overall. Unity provides all the info newcomers need to get started with their engine and also provide stellar docs for EVERY engine version separately. They also constantly keep giving free tutorial series to the users on how to build different types of games or systems (https://unity3d.com/learn/tutorials, https://www.youtube.com/user/Unity3D/playlists). These are probably core reasons why so many pick Unity as it's easy to get started with it.

Re: CRYENGINE Learning Initiatives

#15

And this is what's happening. We're tackling issues one at a time and Brian is having all resources available to do his task as well as bringing in great experience in the field of adult learning and technical education. I get that some of you are torn, but trying to dismantle our effort or the people who work towards the goals CRYENGINE has set together with our community, with your guys, just doesn't help tackling these problems. We are looking forward and hindsight is 20/20; we strive to be better and more transparent and that's why we're opening the dialogue here.

Cheers,
See Nic, It's not an issue of technical education. It's very simply, very basically, an issue of providing technical **documentation**. Software vendors provide documentation, not education. No-one is trying to dismantle anything , but for all those great efforts you mention all we seen in the last 18 months from documentation point of view are some screenshots. And tbh, I believe that when documenting programming interfaces and technical workflows, you need specialists in the field itself to lead the effort, and not people from very remote fields who at their first posts pick up on competition with snide remarks and cherry picked examples (Unity in this case, have much better docs than CE and they are **free** ) rather than looking into solving domestic (namely CE5 lack of docs ). You also need someone who realizes what is the difference between tutorials and documentation provided by a a software vendor, and who actually was involved in building software or assets or technical documentation (and by that I mean things like MSDN, Unix manual pages, API docs , not things from very remote disciplines)
Moderation Note: Merged content from two posts as they where violating the 'thread hijacking' rule of the Forum Guidelines. - Nic

My mandate can be summarized pretty simply: I’m here to make it as easy to learn CRYENGINE as it is rewarding to use. We’ll be rolling out a whole suite of major learning initiatives in the coming months that you’ll see announced on all of our media channels, including online tutorials, classes, courseware, tips, documentation updates, webinars, articles, master classes, and other programs to be announced.
And also more constructive feedback regarding strategy. Above there are enumerated no less than nine (9) ways in which the learning experience of CryEngine is to be improved. This is pretty much unfocused. And overhyped, since you want to go from 1 to 9. Stick to the *basics* and you will go a long way. There are only 2 directions which should be your focus. Spread yourself thin in 9 directions and the results will most likely be bad. Countless software vendors managed to document their products very well, by focusing on 1 max 2 directions and they did an outstanding job. All the hyped masterclasses , schools , classes, course-ware, tips, webinars CANNOT replace product documentation. . They are all welcome, once you have solid(decent?) basics. One of the reasons your competition fares much better than you is that they made sure they covered the basics (that being decent product documentation).

Re: CRYENGINE Learning Initiatives

#16
As far as the learning materials go, I personally wish there would be more focus on written docs instead of video tutorials. Video tutorials have their place for getting people started, especially in the editor and art pipeline but there are very little reasons to have them for shader programming or programming in general, properly written docs will help more people and are what most programmers want. Nobody really wants to sit and watch random tutorials wishing people will mention the thing they want to know at 1 hour mark in the video.

We've had this discussion many times in CryCommunity Slack, but I'll summarize what I'd personally feel most important in the learning materials from game programmers point of view:

1. Visual graphs and overviews on all CE systems and frameworks so that people who use then engine actually understand what they are dealing with

No more guessing or false assumptions. Current docs do explain some of the systems but that info is usually hidden in endless paragraphs of text. Please, put more visualization, those graphs etc that make these connections between different things crystal clear. To make example of this, look at this page about CryPhysics: http://docs.cryengine.com/display/CEPROG/CryPhysics and then look this lumberyard doc page: http://docs.aws.amazon.com/lumberyard/l ... reads.html. LY doc has graph that immediately tells how physics execute in the bigger picture while in CE doc the info is hidden in the text and you have to figure out what the words really mean in this context. More graphs the better IMO to avoid confusion. Few more examples on why graphs are useful:
ExecutionOrder (look at the graph in the end, for a programmer, this is priceless info), GameFlow, ActorLifecycle, QuickReference

If all those graphs in those pages were just text or list, it wouldn't be as easy to understand the relations between the things.

2. API docs that actually tell something useful

Just having API docs that parse the function declarations and parameters doesn't really do much good. When you actually use the engine, you need to know how it individual things work. Nobody knows everything so API docs should be your go-to place for telling how to properly use the functions and classes in question. How Unity does this is great, for example lets have a look at https://docs.unity3d.com/ScriptReferenc ... ycast.html , you open the page, looking at how to raycast, not only they explain every variable, they also provide direct links on how to setup and understand every variable you need to use there, like link directly to https://docs.unity3d.com/Manual/Layers.html on LayerMask. Then after that, they tell what the function returns and describe briefly what it does.

Here's one important thing to note: there's a huge difference in describing what the function actually does and just spelling the function name there (for example, only putting "Casts a ray" there would be terrible description as the function name already told us that and it would provide zero value for the reader).

Also after description, they actually give out code snippets that show how you can use the thing, in CE and c++, things like these would be really valuable as people wouldn't have to search around the proper usage, they could just open API docs and immediately use the thing. So the key thing I'm trying to tell here is that please try to make the docs informative and easy to navigate. In ideal case, you'd only use search bar once and then you could navigate to the relevant pages directly instead of doing separate searches for everything.

3. Have programmer introduction docs to get new users on-board faster

Pretty much what the topic said. At the moment, CE template code is basically closest thing to this but it only gives you the entry point to the engine + new users might not understand what they see there. For example, Unreal does this to get new users up to speed: https://docs.unrealengine.com/latest/INT/Programming/

4. Current docs and tutorials aren't organized in any way

While trying to find the CryPhysics page for 1st point, I had to search with google and internal docs search for quite a while to even find the right place. There are tons of different physics articles in the official CE docs that all discuss different things but they are not linked under same subsection at all. It's incredibly difficult to find anything that's related to your own interest unless you actually know such doc page exists somewhere deep in that jungle of random documents. And you pretty much need to know such document exists before you can even find it. Current documentation looks like things have just been added along the years and nobody enforced the structure. It's already bad enough that most editor side things still have only CE 3.x docs but then there's CE V docs, technical docs, beta docs, website tutorials, beta tutorials, youtube tutorials, vimeo tutorials. These all are scattered around and many are not up-to-date. It would benefit to have all tutorials in one centralized place for example.

5. There's no indicator what version of the engine most of the docs and tutorials apply to (besides CE 3 or CE 5)

While dates can hint something, often even old docs get updated with some small corrections so it's impossible to tell from dates alone if the learning material is relevant for the current engine or not. If you look Unity or UE4 docs, they are really exact on what engine version those docs are for. Also those small corrections and engine updates is one reason why I'm not fond of any video tutorials that go beyond the basic editor usage: they are almost always outdated and you can't easily update parts of the video like you can with written doc page.
Last edited by 0lento on Wed Dec 06, 2017 1:34 pm, edited 1 time in total.

Re: CRYENGINE Learning Initiatives

#17
I personally talked to Filip Lungdren a bit about what I find important to document in engine. First and foremost is:

1. Order. Make things easy to find. Currently the CE5 docs are pretty much in dissaray.
2. Correct. It is important that things are correct, else the docs will cause more harm than good, and cause pecuniary loss to the users.
3. Properly labelled and versioned.

----------------

Then

1. Document main game loops
2. Document public API of the engine. Per subsystem. Offer an overview of the subsystem first. Then document both the functions/classes which are exposed to the clients, and the data structures involved.
SOme will differ, but I always found Microsoft's way of documenting their APIs pretty good. See an example:

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

Note 1. Parameters 2. Return Value 3. Remarks and 4. Requirements. Point 4 is actually very important. It is part of the contract you offer as an API. Without it, the users of the contract will suffer :P

3.Make a priority list. Document the systems which will have the greatest impact on game play implementation first. Those are IMO animation, physics then entity components.
4.Based on priority list, release documentation *yesterday*. Then iterate on it, but publicly ! Or else Ragnarok will come first.
5. As 0lento said, offer high level overviews into the engine systems and interaction.
3. Keep it straight to the subject , at least technical documentation. it is my opinion that most of the humans who write code or design workflows for others don't really buy into fluf and misplaced marketing a software vendor documentation.

3. Stop thinking about C++ CE tutorials and videos for programming / tech docs. They do not make too much sense at the time being. I could talk about a couple of APIs 1h for example. That would be a tutorial , going extremely in-deep in 1 or 2 APIs. It makes no sense for Cryengine, as it is today, since you have to cover an enormous ground, you have almost 0 tech docs. Cover this ground before going "tutorial". Think documentation like all sane software vendors do. It is also much faster for us to read then watch someone painfully writing code in a IDE in a video. Waste of time. Time is precious. A scenario where a video would make sense is high level overview of an engine subsystem, like some of the better CE masterclasses on animation., but that is all. Makes 0 sense for programming.

Re: CRYENGINE Learning Initiatives

#18
Hey Brian, I'm looking forward to what you'll bring to the community.

If I may post my thoughts for learning material:

In addition to improved written documentation, covering glaring gaps (I can't find anything about using particle attributes) and improved c++ documentation, I'd like to see learning material & tutorials that are focused on more advanced cryengine-specific things like creating game loops with c++ and schematic 2.0 when it's released. While I appreciate the time and effort put into tutorials like using megascans with cryengine, using the designer tool, importing mesh and other basic how-to's, I don' t think they are really necessary. The basic how-to's should already be covered in documentation and I feel are easy enough to get ahold of by playing around in engine, and there are plenty of resources for general stuff like 3d modeling and texturing.

Edit: Also, I'd really like more tutorials, specifically audio programming with WWise for creating dynamic audio, like creating & linking rtpc triggers with WWise, or creating audio states like a combat state or idle state.

Re: CRYENGINE Learning Initiatives

#19
Guys, thanks for your feedbak! Please keep it coming.

However, I feel like I need to give a gentle reminder what this thread is for, and ask you all to focus on this topic. I had to clean up a lot of off-topic, derailing posts and I don't want anybody to be discouraged from posting their requests for tutorials here - which is the main topic, still.
  • This topic isn't for telling Brian how to do his job. He just started. Let his work bear fruits and results before you provide further detail - don't be a dick, frankly.
  • It's also not for lengthy arguments how you aren't doing that at all.
  • This topic is by no means a rant-thread about what you hate about the CRYENGINE business strategy or documentation.
This topic is about Brian, our Learning Manager, who would like to have your suggestions for tutorials and learning content.

The fact that some people in here know exactly what they want our documentation to look like has been made clear. Thank you for that. However I issue you to
  • not make double- or even triple posts about the same revolving idea; disrupting the cause of this thread.
  • not to highjack this thread by posting a large number of replies here. Think before you post, make one post that compiles your most relevant thoughts on the matter; and help us keep this thread free of wall-of-texts by making clear, comprehensive suggestions.
  • if truely necessary hide long texts behind spoiler/hidden tags and let others make suggestions, too.
  • discuss other community member's suggestions as well; but don't make this all about you and your ideas only.
Besides, while Documentation is part of learning; it makes NO sense to argue about how you feel tutorials are useless anyways because all you need are good docs in a topic that is actively asking for tutorial requests. That's thread-derailing and only discourages other people to post suggestions. Go on and make your own thread for that if you feel so strongly about beating a dead horse that you have to.

And no, my statement is not up for discussion at this point either. :) From this point on we will remove further disruptive content without further notice and posting derailing replies will warrant a warning. Thanks for your understanding!

Cheers,
Nic
CRYENGINE Brand Manager

I'm manning the CRYENGINE stations on Facebook & Twitter as well, so come and say hi!
My personal Twittering may contain nuts.

Get to know me.

Re: CRYENGINE Learning Initiatives

#20
I don't think comparing, say, Unity documentation to that of the CryEngine documentation makes a lot of sense. Sure, that is where we'd like it to be, but CryEngine is relatively new to the whole 'engine as a service' thing. Unity has been around for many years, and they also have a much larger team (as far as my research goes). They have done loads to make the engine itself more usable - and it feels less and less like some in-house tool. Some of us are actually looking forward to the what the future brings for this engine - definitely more excited about the roadmap for this engine (for 2018) than for any other engine at this point. Once schematic 2.0 hits, and they add updated examples, I'll be switching from Unreal as I'm tired of baking light-maps - and you don't have to worry about royalties with this engine..

I would like to see some replacement for gameSDK. Sure, not everyone's interested in building FPS games, but I am. I stopped working with it since it is being deprecated, but there are so many cool tools and things in there, such as the smart objects system, cover, climbing over walls, ladders, lots of gun examples, vehicle examples, and more. These are things I have to build from scratch in other engines before I can even begin to test whether levels would be fun - and I don't want to buy some kit every time I want to do something either.
A modern sample, without the multiplayer component, would be invaluable - multiplayer code just makes the project even more difficult to take apart and study, and surely to keep the sample up to date. Gamesdk was awesome, and invaluable resource, so sad to see it being deprecated. Wish they had a sample like that, that they keep up to date and improve with each release - there are so many assets that they could use right out of gamesdk itself.

Finally, curricular help/content for educators/schools. Similar to what Foundry offers for Modo, Mari & Nuke. Unity has curriculum help for educators too. These are much more than simple videos, but instead curriculum and lesson ideas and assessment examples.

Oh yeah - please add the beta versions of the engine downloadable from the launcher, instead of having to manually get it from github and install it in some awkward way or something. People who are excited in testing out the cool new toys, but who are not programmers, will not find that a very user friendly approach (as compared to Unreal Engine).

Looking forward to what you come up with - cheers.

Who is online

Users browsing this forum: No registered users and 1 guest

cron