Jump to content

Jimmy's Dank Catalog of knowledge and shit


Oddly

Recommended Posts

In game development, knowledge of design is more important than most give credit for around here.

I was browsing through old bookmarks and decided I'd share my collection of game development articles that I have saved over time.

[Remember: Just because these articles aren't in your preferred or current working language, does not mean they do not apply. These concepts are not solely for the language the tutorials are shown in.]

 

- Update -

I have been working on a new game engine using the information i get from articles I share here. I am writing a full documentation to the design process of that engine. This article can be found in the link below.

https://1drv.ms/w/s!AjfWuGQffpNdgkk6j5j0meclYAo_
This article is a work in progress, updates made to this article will be pushed to this post:

https://www.ascensiongamedev.com/community/topic/1718-wipgame-engine-development/

 


Design Patterns:

 

Observer Pattern:
This is used in game design to create event handlers and in some cases even used to implement plugin and modding systems
https://en.wikipedia.org/wiki/Observer_pattern
http://www.oodesign.com/observer-pattern.html


Finite State Machines:
A pattern used to control game object states to determine when an action is and isn't permitted in game.
https://en.wikipedia.org/wiki/Finite-state_machine
http://gameprogrammingpatterns.com/state.html


Game-Loop Pattern:

(Probably the most important Game Design Pattern, super simple to learn, used for physics, updates, and rendering)
http://gameprogrammingpatterns.com/game-loop.html

 


Graphics Rendering:

 

 

OpenGl Complete guide, for learning low level graphics rendering:
https://learnopengl.com/#!Getting-started/OpenGL

Libraries of Interest:

GLFW, a C++ graphics library for creating windows and managing double buffer context: http://www.glfw.org/

SFML, a high level graphics rendering library, great for mid level developerst: https://www.sfml-dev.org/


 

 

Game Physics:

 

 

General Physics:
I honestly haven't read this article, but it looked good for over all (mostly 3D) physics:
https://web.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/D-Physics.pdf


2D Collision Detection Methods:
https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection (by mozilla)

3D Collision Detection Methods:
https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_collision_detection (by mozilla)

 

Side Scroller Physics:

https://gamedevelopment.tutsplus.com/tutorials/basic-2d-platformer-physics-part-1--cms-25799

 

 

Game Ai:

 

A* (a-star) path finding algorithm:

Used to detect the quickest route an AI can travel to a given point
https://en.wikipedia.org/wiki/A*_search_algorithm

http://www.policyalmanac.org/games/aStarTutorial.htm (Beginner's Article)
http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html (Advanced article, by Stanford University)

Have not read, but seems to contain good resource on various AI patterns:
http://julian.togelius.com/Treanor2015AIBased.pdf

 

(more to come, for this section later)

 

Networking Development:

 

Database Structuring:

 

 

Game Development (General):

 

Test Driven Development (General):

 

RESTful Services:

 

 


About Restful Services:
https://en.wikipedia.org/wiki/Representational_state_transfer

Writing your own REST Api's with NodeJs:
https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd
https://hackernoon.com/restful-api-design-with-node-js-26ccf66eab09
https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4 (pretty in detail, this is article is awesome)
http://adrianmejia.com/blog/2014/10/01/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ (With MongoDb if you're into that kind of stuff)

Good Practices for writing RESTful Services: (meant for nodejs, but some applies for all languages)
https://blog.risingstack.com/10-best-practices-for-writing-node-js-rest-apis/

~ I've been writing my REST API for GaiaEngine in node, so that's why there are all node related ~

 

 

Libraries Of Interest (WIP):

 

C++
Boost/Asio: (a large selection of libraries built to expand the C++ Standards, including an excellent networking library)
http://www.boost.org
https://codeyarns.com/2014/06/06/how-to-build-boost-using-visual-studio/ (and this tutorial to save your ass when trying to figure out how to build it)

 

QT: (primarily used for C++ Cross Platform User Interface design, but also contains content including web calls)

https://www.qt.io

https://www.qt.io/ide/ (qt creator, official ide and form designer for QT)

 

Software Security and Vulnerabilities

 

 

 

YOUTUBE OF INTEREST

ExtraCredits, a youtube channel dedicated to discussing "Why Games Matter": https://www.youtube.com/user/ExtraCreditz

 

[I will update this list each time i find enough well prepared learning materials]

Feel free to post articles if you have them. i'll glance through them, if they're note worthy i'll add them to the list.

Link to comment
Share on other sites

1 hour ago, JimmyJumpdrive said:

In game development, knowledge of design is more important than most give credit for around here.

I was browsing through old bookmarks and decided I'd share my collection of game development articles that I have saved over time.

[Remember: Just because these articles aren't in your preferred or current working language, does not mean they do not apply. These concepts are not solely for the language the tutorials are shown in.]


Game Design Patterns:

  Reveal hidden contents

Observer Pattern:
This is used in game design to create event handlers and in some cases even used to implement plugin and modding systems
https://en.wikipedia.org/wiki/Observer_pattern
http://www.oodesign.com/observer-pattern.html


Finite State Machines:
A pattern used to control game object states to determine when an action is and isn't permitted in game.
https://en.wikipedia.org/wiki/Finite-state_machine
http://gameprogrammingpatterns.com/state.html


Game-Loop Pattern:

(Probably the most important Game Design Pattern, super simple to learn, used for physics, updates, and rendering)
http://gameprogrammingpatterns.com/game-loop.html

 

 

GAME PHYSICS:

  Reveal hidden contents

 

General Physics:
I honestly haven't read this article, but it looked good for over all (mostly 3D) physics:
https://web.cs.wpi.edu/~rich/courses/imgd4000-d09/lectures/D-Physics.pdf

2D Collision Detection Methods:
https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection (by mozilla)

3D Collision Detection Methods:
https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_collision_detection (by mozilla)

 

Side Scroller Physics:

https://gamedevelopment.tutsplus.com/tutorials/basic-2d-platformer-physics-part-1--cms-25799

 

 

GAME AI:

  Reveal hidden contents

A* (a-star) path finding algorithm:

Used to detect the quickest route an AI can travel to a given point
https://en.wikipedia.org/wiki/A*_search_algorithm

http://www.policyalmanac.org/games/aStarTutorial.htm (Beginner's Article)
http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html (Advanced article, by Stanford University)

Have not read, but seems to contain good resource on various AI patterns:
http://julian.togelius.com/Treanor2015AIBased.pdf

 

(more to come, for this section later)

 

 

GAME NETWORKING:

 

[I will update this list each time i find enough well prepared learning materials]

Feel free to post articles if you have them. i'll glance through them, if they're note worthy i'll add them to the list.

 

16 minutes ago, Hanox said:

For a lot more useful resources and some more Dank knowledge : 

https://game-development.zeef.com/

Thank you guys, very useful!! :D

Link to comment
Share on other sites

Update, Added General Game Development section with articles on Drawing Maps and General 2D Game Development Tutorials

Update, Published a personal work in progress article to the top of the post

 

Update, articles I'm saving to be read later will be posted in these comments and added accordingly when I've completed reading them:

I'm also spending today reading articles on Unit Testing for work, these articles will also be added here.

https://visualstudiomagazine.com/articles/2013/03/08/unit-testing-with-c-plus-plus.aspx

 

Articles to read:

http://wiki.c2.com/?GameModelingDatabase

 

Up coming topics:

 

Unit Testing:

https://visualstudiomagazine.com/articles/2013/03/08/unit-testing-with-c-plus-plus.aspx

 

Network Security

Link to comment
Share on other sites

Update, added a section on Security and Vulnerabilities.

Added Article on NodeJs Security regarding Node Package Manager (NPM), highly recommend for anyone doing NodeJS Development

Link to comment
Share on other sites

On 5/9/2017 at 2:10 PM, Crest said:

Graphics Rendering:

 

  Reveal hidden contents

OpenGl Complete guide, for learning low level graphics rendering:
https://learnopengl.com/#!Getting-started/OpenGL

Libraries of Interest:

GLFW, a C++ graphics library for creating windows and managing double buffer context: http://www.glfw.org/


 

 

 

 

Updates! Added a section on Graphics rendering as I am beginning to learn OpenGL myself. This is some advanced stuff for anyone who is interested in learning game programming at its core. For anyone who is looking for a library that is easier for intermediate level developers, I recommend checking out SFML, I'll add some links to that later.

(Note: OpenGL in this area is for C++, same as GLFW, however there may be GLFW wrappers for other languages just as SFML has wrappers for C#, Python, Ruby and a few other major languages.)

 

Link to comment
Share on other sites

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
×
×
  • Create New...