Giter Club home page Giter Club logo

challenges's Introduction

Graphics Programming

This repo contains some challenges about Graphics Programming. Challenges are organized in folders and include the solutions. They are intended to be used as tutorials to learn graphics programming for videogames development.

Some of those challenges are based on raylib, a simple and easy-to-use library to enjoy videogames programming.

A blocks game where player has to break a wall of blocks controlling a ball with a paddle.

This game is developed using raylib library.

Learning outcomes:

  • raylib functionality and possibilities
  • Videogame life cycle (Init -> Update -> Draw -> DeInit)
  • Basic screens management with screens transition
  • Basic shapes drawing (circle, rectangle)
  • Inputs management (keyboard, mouse)
  • Collision detection and resolution
  • Textures loading and drawing
  • Fonts loading and text drawing
  • Sounds and music loading and playing

blocks game

A tile-based dungeon 2D game where player moves around a 2D dungeon finding keys and defeating monsters.

This game is developed using raylib rlgl low-level library module.

Learning outcomes:

  • rlgl functionality and possibilities
  • Window creation, configuration and management (GLFW3)
  • Context creation (OpenGL 3.3) and extensions loading (GLAD)
  • Inputs management (keyboard, mouse) (GLFW3)
  • Basic shaped drawing defining vertex data (immediate-mode)
  • Image loading (RAM), texture creation (VRAM) and drawing
  • Tilemap data loading from text file
  • Tilemap drawing and collision detection

dungeon game

A cubes-based maze 3D game where player has to escape from a 3D labyrinth.

This game is developed using OpenGL graphics library.

Learning outcomes:

  • OpenGL 3.3 graphic pipeline functionality
  • Window creation, configuration and management (GLFW3)
  • Context creation (OpenGL 3.3) and extensions loading (GLAD)
  • Inputs management (keyboard, mouse, gamepad) (GLFW3)
  • Image loading (RAM), texture creation (VRAM) and drawing
  • Models loading, transform and drawing (3d meshes)
  • Level map data loading and vertex buffers generation (VBO)
  • Camera system creation and management (1st person)
  • Collision detection and resolution (AABB collisions)

maze game

License

All challenges lectures are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

All challenges code is licensed under an unmodified zlib/libpng license.

Check LICENSE for further details.

Copyright (c) 2017 Ramon Santamaria (@raysan5)

challenges's People

Contributors

raysan5 avatar fluffykittenmika avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.