piston icon indicating copy to clipboard operation
piston copied to clipboard

Piston needs introductory docs

Open icefoxen opened this issue 8 years ago • 9 comments

Which outline the ecosystem, point out the most notable projects, and describe how to make them fit together into an actually useful game. They should describe the goals of Piston, the overall design, and where it lies in terms of meeting those goals; ie, what works and what doesn't.

That way when people come into #rust-gamedev on IRC and ask "How do I Piston" we have somewhere to point them.

icefoxen avatar Jul 09 '17 00:07 icefoxen

The README contains links to an overview of Piston https://github.com/PistonDevelopers/piston/blob/master/README.md. An advanced Piston tutorial is in progress https://github.com/PistonDevelopers/Piston-Tutorials/tree/master/advanced.

bvssvni avatar Jul 09 '17 00:07 bvssvni

The overview is insufficient, because it a) does not describe how to actually use any of the components it talks about, b) does not describe how they relate to each other beyond (admittedly nice) dependency graphs, and c) most of the crates it links to (eg, ai_behavior) are essentially undocumented.

icefoxen avatar Jul 09 '17 00:07 icefoxen

Do you have any thoughts about how we could explain better how to use the components?

We are working on improving the docs.

bvssvni avatar Jul 09 '17 01:07 bvssvni

I think the advanced tutorial is the right direction, but that also needs to exist for getting started. On this page: https://github.com/PistonDevelopers/piston/wiki/Piston-overview it lists what is under piston core, but doesn't really show how to use them to put something together. Clicking on the examples, I can see some smaller pieces of code, but it's not explained. When i was first getting into Rust, I remember looking at some of those loops, but i had no idea where the graphics methods were coming from.

So I think there needs to be a fairly in depth tutorial leveraging some of the more important crates. Make a pong game or something simple, using textures, not just flat colours. So you can show an example on loading textures.

This tutorial should explain the different crates you're pulling in, why you're pulling them in, and how we're supposed to use them.

agmcleod avatar Jul 10 '17 14:07 agmcleod

I wrote a skeleton outline for a "The Piston Game Engine (TPGE)" book a few months back. Forgot about it while waiting for approval from legal to work on it. Still relevant for this discussion.

echochamber avatar Jul 10 '17 18:07 echochamber

Also the discussion in this thread is relevant

echochamber avatar Jul 10 '17 18:07 echochamber

yeah that looks like a great idea. Might be a bit heavier to flush out compared to what myself & icefoxen are referring to though.

agmcleod avatar Jul 10 '17 19:07 agmcleod

@echochamber Please go ahead!

Making a game tutorial is a great idea. I'll start writing on it, and see how it goes. I don't want to create Pong so I'll do Sudoku instead.

bvssvni avatar Jul 11 '17 08:07 bvssvni

I've now written the first 6 chapters of the Sudoku tutorial https://github.com/PistonDevelopers/Piston-Tutorials/tree/master/sudoku.

Feedback issue https://github.com/PistonDevelopers/Piston-Tutorials/issues/164

bvssvni avatar Jul 12 '17 08:07 bvssvni