arcade icon indicating copy to clipboard operation
arcade copied to clipboard

Documentation Reorganization

Open pvcraven opened this issue 3 years ago • 5 comments

Reorganize the documentation into the following four sections.

The programming guide and the tutorials will be made into printable/downloadable PDFs.

  • Programming Guide

    • Installation on Windows, Mac, Linux, and Raspberry Pi
    • Basic drawing commands (this is where we might need to use pyglet shapes instead?)
    • Sprites
      • Using Sprites
      • Using sprite lists
      • Drawing sprites in layers
      • Textures
      • Texture Atlas
      • Sprite animation
      • Sprite movement
      • Avoid spawning sprites on walls
      • Sprite drag and drop
      • Fixing edge artifacts
    • Sprite physics
      • Sprite collisions
        • Collision detection methods (Normal, Spatial, GPU)
      • Simple physics engine
      • Pymunk
    • Working with views
      • Adding instruction screen, game over, pause screen
    • Working with the camera
      • Scrolling around
      • Full screen
      • Window resizing
      • Camera shake, panning
    • Tile map editor support
      • Loading maps
      • Animation
      • Custom hit boxes
      • Object layer
    • Sound support
      • Streaming vs. Loading
    • GUI
      • GUI stuff here
    • OpenGL
      • OpenGL and the pipeline (How data flows)
      • High level explanation of each opengl type we have (buffer, texture, geometry, etc etc)
      • A library explaining various rendering techniques to get people started
    • Distributing your game via PyInstaller
    • Performance tips
      • Arcade performance information
    • Headless Arcade
    • Vertical synchronization
    • Arcade vs. Pygame
    • Contributing to Arcade
      • Release check-list
  • Tutorials

    • Simple Platformer
    • Pymunk Platformer
    • Using Views for Menus and Game Over Screens
    • Solitaire Game
    • Shadertoy Glow
    • Shadertoy Particles
    • Using the CRT filter
    • GPU particle burst
    • Ray-casting Shadows
    • Lights
  • Example Code

  • API Docs

Certain items would remain outside these sections, but still appear on the homepage:

  • Social links
  • Example games
  • Links to GitHub
  • Release notes
  • Diverse coders section

pvcraven avatar Apr 16 '22 14:04 pvcraven

Definitely. Texture, Sprites, SpriteList etc etc. They are closely linked so there can be other categories like "Drawing sprites best practices" etc. It will probably make things easier to explain. It can quickly become too much stuff at the same time unless separated properly.

I also want an opengl sub-section explaining:

  • OpenGL and the pipeline (How data flows)
  • High level explanation of each opengl type we have (buffer, texture, geometry, etc etc)
  • A library explaining various rendering techniques to get people started

einarf avatar Apr 16 '22 14:04 einarf

I also want an opengl sub-section explaining:

Ok, I updated it with this.

* A library explaining various rendering techniques to get people started

I'm not sure what this means?

pvcraven avatar Apr 16 '22 14:04 pvcraven

I'm not sure what this means?

After explaining opengl concepts the hardest part is knowing what you can do with it. The idea was to make a "Techniques" section showing various use cases for tranforms, frag shader, geo shader, compute shader. There's a lot you can cover.

This would be a way for more advanced users to get started with the lower level stuff.

einarf avatar Apr 16 '22 16:04 einarf

Improving installation doc is on my todo list.

Is there a way to manually set where the next/prev buttons on the pages go? It would make installation instructions easier to follow for absolute beginners by avoiding linking to the start of instructions for another OS.

pushfoo avatar Apr 26 '22 22:04 pushfoo

One other area we should look into is curating links to resources on math topics, or find a good source that's already doing that.

pushfoo avatar Jun 05 '22 13:06 pushfoo