• Advertisement
  • entries
    437
  • comments
    1000
  • views
    336489

GMGX Tutorials

Sign in to follow this  

116 views

I started writing some simple text file tutorials on using GMGX last night. There's a couple of reasons for this, the main reason is that I will need some tutorials ready for when GMGX ships out to you lot. The second, more sinister reason is that it lets me gauge how much else I have to do before I have a working preview version ready to go. If I can write a full series of simple tutorials it'll let me see if there's any obvious API functions missing, or glaring issues in the system.

The plan for the tutes is roughly like this:

  1. Introduction; introduction to GMGX, required tools and prerequisite reading
  2. Textures; how to load images into GMGX and display them onscreen
  3. Sprites and Entities; how to assign images to entities and display them as sprites
  4. Entity - motion and 'think'; how to set up motion manually, how to use the 'think' callback to let the entity move itself
  5. Events; How to use events with entities; firing and catching events
  6. Collision; How to test for collisions (manually), how to automatically handle collisions with the event system
  7. Triggers; how to set up triggers, using triggers with entities and events
  8. States; game states and entity states - setting up state functions, transitions between states
  9. Scrolling; how to set up scrolling backgrounds (and parallax)
  10. Tilemaps; how to set up tilemaps, scrolling tilemaps, multi-layered maps, tilemap collisions (this will be a biggie!)
  11. Input; how to test for input by reading buffered states; how to handle input events as they occur
  12. IO; how to use the filesystem/db system to load/save game data
  13. GUI system; how to use simple controls to display lives, scores and health status
  14. GUI #2; more on the GUI (TODO)


That's pretty much all I can think of right now. You may think I'm missing something obvious and you'll be right - there is no sound! That's right, GMGX currently has no soundsystem - the reason for this is that I seem to hardly ever put sound in my games, probably because I can never find any good samples. Sound will make it into GMGX at some point, provided I can find a zlib compatiable library. I may have to recruit someone in to help me with it though.

GMGX is currently built entirely on Open-Source software, which is brilliant. Everything in there is compatiable with the zlib, which lets the authors retain their copyright on their code but the users do almost anything with it. This is what I'm aiming for, to have GMGX so that the actual system is free of viral licensing so that people using it can write some games and release them without having to worry about anything aside from distributing a text file with a copyright notice or two.

GMGX currently uses the following libs:
  • GLFW - Used for setting up cross-platform windows and an OpenGL environment
  • GTL - Not fully used, but the final version will use it for texture loading across many formats
  • Physics FS - Used to read from disc and zip files in a cross-platform way
  • TinyXML - Used to read/write XML data for game content
  • GameMonkey Script - Used to power the whole thing, providing an API for users to program the whole system

    As you can see, it's using a lot of open source software to do its magic. I intend to build in RakNet networking support and use SQLite for some simple data-access at some point, but that's a while off for the preview version. I'm hoping to get a preview version out in January for y'all to play with - I'll need some games to go with the first 'true' release, so anyone interested in coding something simple should contact me around then ;)

    Oli Out.
  • Sign in to follow this  


    5 Comments


    Recommended Comments

    Quote:
    Ouch, your journal makes my eyes bleed at the moment.

    I'd be inclined to agree... but I can't actually see any of the text until I highlight it. One big black page [grin]

    Seriously though...

    If you're going to write up those articles any chance you'd consider explaining by example (or case study)?

    Given that it's fairly simple (compared with something like C++) it's possible to just read the code examples and an explanation of which bits are doing what and be done. Leave precise definitions/explanations of parameters to the documentation...

    Jack

    Share this comment


    Link to comment
    Damn it, I'll have to scrap my journal theme. Stupid friggin white theme

    Jack, my articles will all be case-study examples. I don't think much to tutorials that are just step by step guides through the API unless it's the actual API documentation itself. The aim of the tutorials will be to give you enough to work with yourself, feeding you enough information to add to what you know and go from there. The final few tutorials will be the 'putting it together' articles, where you get to apply the knowledge yourself...

    Share this comment


    Link to comment
    Damn, this library will kick some ass.

    Oli, I think I've officially finished Tao.PhysFs for hard .NET bindings to PhysicsFS. It'll be in the Tao framework soon. I'll give you massive props in it for your DLL builds, they helped a lot. Once everything is up and running, care to do some work on a nice OO interface for it [wink].

    Share this comment


    Link to comment

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Advertisement