[Poll] Help create NxOgre tutorials!

Lykaios

19-05-2008 21:59:53

In an attempt to prevent Beta from going all Hulk and rampaging through the streets of your town, I'm hoping to get some input on what the community feels would be an effective method of creating tutorials.

The first method that came to mind, and one that seems effective would be to kind of mimic the Ogre tutorials. It seems a safe assumption that most people would have run through them, and also would let us build in NxOgre code slowly, by plugging it in to the ExampleApplication.

So that's what the poll is about. If you are a noob, let me know what you think. And if you aren't, let me know of some more advanced subjects you would like the tutorials to focus on.

And if you're feeling REALLY helpful, a brief account of your journey through learning NxOgre.

All this in an effort to create good, effective tutorials.

betajaen

19-05-2008 23:14:54

Just to add, Lykaios is an author of the NxOgre wiki now. So do treat his poll with some respect and thought.

BloodyFanatic

19-05-2008 23:16:21

there is something called 'cake'. i think it should be the perfect base for a series of simple tutorials.
i had the luck of being of to start learning NxOgre (and PhysX, of course) from the beginning of it. in those old day, a beginner had the PhysX tutorials on the one hand and the corresponding NxOgre tutorials ( well, they weren't complete ) on the other - that was fantastic.
in my opinion it would be great to do that again - in cake or the like. learning by doing is the best way ;)

betajaen

19-05-2008 23:25:05

Sadly; Ageia stopped doing the Physics tutorials in the turn of 2.7.x (or was 2.6.x). So I stopped doing them to.

Cake is a wonderful framework to work with, but from an Ogre developer point of view it's a little daunting; when someone is saying "Look you embed NxOgre with these three lines of code", whilst you have a mysterious header file that is thousands of lines long, you don't know what to think. Working with the Ogre Sample Application code is a good start at migration, it also proves that NxOgre can be used with three lines.

I'm still working on this ruddy BetajaenCC red-black tree code now for the second week in a row. If/When I finish this and don't go mad in the process, I have some ideas on how to improve Cake and make it a bit more prettier too. Which those changes will come with '22.

Lykaios

20-05-2008 01:44:03

I can see both sides of what you're saying. We could do a "demystifying OgreCake.h" tutorial, but that would be loooooooong.

Unfortunately, I tried to get Cake up and running last night (both the .zip and the SVN branch) and had some issues. If we could nail down the exact steps needed to compile either one of those against Bleeding, I would pop it on the wiki quick as you can say.... something really long, cuz it would probably take an hour or so.

I would feel comfortable doing some cake-based tutorials if/when we could get such a page up, but Beta and I thought that starting off with the exampleApp would not only give noobs comfort (since they have been using ExampleApp for the Ogre tutorials), but also allow for small injections of Nx that would be easy to explain and follow.

Thoughts?

BloodyFanatic

20-05-2008 09:28:46

i was just my first thought about it. to be honest, i never even tried to use cake ;) ogre's ExampleApplication would be fine as a base for tutorials.

And if you aren't, let me know of some more advanced subjects you would like the tutorials to focus on.
ragdolls, soft bodies, simple AI integration, network synchronisation ( when it's done of course :) )

mgoodman

20-05-2008 13:08:40

In my experience with NxOgre (which isn't much yet), I found that Cake was good for two things: Making sure NxOgre works on your system, and a nice showcase of the technology, something you can show to the development team.

I'll have to say I'd prefer something closer to the Ogre tutorials. I liked how ExampleApplication hid most of the complex concepts at first, but in later tutorials they drop it and show you how to take care of that part yourself, IIRC.

xadh00m

20-05-2008 16:01:14

In my opinion the PhysX/nxOgre features can be explained in a very effective way if you build the tutorials on each other.
There should be a simple Ogre Framework around it (like "ExampleApplication") and the really interesting part should take place in
a derived framelistener which allows to implement startup (constructor), cleanUp(destructor) and runtime code (onFrame etc.).

Imho this would be a flexible base for all coming tutorials.
The content of the tutorials could build on each other.

I´ve seen Betajaens addiction to the retro style. Maybe the tutorials could
start with creating something like TIM ("The incredible machines" http://en.wikipedia.org/wiki/The_Incredible_Machine).
Starting with a simple rigid body and later include a small vehicle which drives down a ramp after it is pushed there etc.
Fluids could run into a pall which is hanging at a rope etc.

Ok I don´t have a corresponding ragdoll example but I think you get it... :wink:

betajaen

20-05-2008 16:07:22

There should be a simple Ogre Framework around it (like "ExampleApplication") and the really interesting part should take place in
a derived framelistener which allows to implement startup (constructor), cleanUp(destructor) and runtime code (onFrame etc.).


We have that. It's called Cake.


Starting with a simple rigid body and later include a small vehicle which drives down a ramp after it is pushed there etc.
Fluids could run into a pall which is hanging at a rope etc.


I have a secret plan regarding that; which does involve an application, and a lot of community participation.

xadh00m

20-05-2008 16:39:39

We have that. It's called Cake.

Sure, I just described it for the sake of completeness...

I have a secret plan regarding that; which does involve an application, and a lot of community participation.

Very interesting! :shock:

Lykaios

22-05-2008 01:21:43

Okay, well I've decided: the first tutorial will be based on the Ogre Intermediate tutorial 3 - Mesh Selection and RaySceneQueries.

The first version will use the normal gray floor that we're all used to, then I will learn how to get terrain into it, then finally, we'll learn complex shapes to give the Robots used in the Ogre version of the tutorial more accurate behavior.

Sound good?

toglia

22-05-2008 06:28:16

Hi Lykaios, Interesting thread!

I am very new to game programming. Just a couple months ago I discovered both Ogre and NxOgre, (Vectors, Quaternions and all that stuff), so this is what I think.

First, I must say that it is very common that people like me fill the forum out of simple questions like: how do I make a ball bounce, how come I can't do a dynamic triangle mesh shape, I'm getting a crash when I load my super convex shape, bla, bla, bla, things like that. And a lot of times people complain that NxOgre doesn't have enough documentation (like if betajaen had the obligation of writing it for them), others DEMAND for help in the forum, and they want the answers NOW! (whip) So, I'm thinking a Howto page with a lot of quick code snippets should take care of those annoying starter threads. :twisted:

What do I think about the Example Application framework?

1) You got the Ogre and the samples installed.
2) Cool!!! Look what i can do! :P
3) Lets change that walking jaiqua!
4) Lets now add that, and that, and that!
5) and that!

Weeks pass and people keep using the example application (without understanding true ogre) cause they just want to keep playing...

6) and that!

So, my point is to keep the code as simple and plain as possible, don't try hiding anything, see it this way, if you force noobs to read and hang out with the ugly code they will slowly start to get us to it, understand it, and later on customize it.

I know NxOgre is very independent now, and you should try to focus on that, but as a beginner I started using NxOgre almost at the same time as Ogre, and I believe other people too (easy to see on the forum) so that could help straighten some people out.

I think the Example Application is good for fast showcase, but tutorials are meant for learning and they should be coded differently. Personal thoughts :idea:

Lykaios

22-05-2008 10:15:50

Wow! Thanks so much for the thoughtful post!

I really do understand your point. However, the reason that I liked Beta's suggestion that we use the ExampleApplication is that most people here want to quickly get started plugging NxOgre into their existing Ogre code.

And since most people who ask the beginning questions are new to Ogre as well, it is likely that they will be very comfortable with the ExampleApplication (and likely ONLY comfortable with that).

To be honest with you, I am not too far from this place myself. Only the first couple of tutorials would be built on the ExampleApp. From there, we would run through marrying the Ogre and NxOgre startup sequences, and then create tutorials that point out how to inject many different subjects within one's code.

Tutorials should be created to pander to the full learning curve a total beginner might take.

What do you think??

toglia

22-05-2008 15:51:47

In my case I would have preferred beginning from the ground. And I mean a blank screen, no starting render options, no logo, no resource, no parsing config files, no plugins, etc. After I had controlled that initial code I would have chosen what to learn next, then the take off!... Anyway, off topic.

The thing here is that NxOgre is not an Ogre school, so Betajaen is right when considering the Example Application an acceptable easy solution, I just wanted to let you know what I felt.

I would say my learning curve was pretty clumsy, after some time playing with Ogre-NxOgre I felt like an ignorant with a lot of power and a bunch of magic tricks. Very dangerous! :D and it was not until now that I have decided to learn the real basics of Ogre.