hello friends! new(ish)!

/gedg/ - Game and Engine Dev General: Difference between revisions

From InstallGentoo Wiki v2
Jump to navigation Jump to search
>FroggyGreen
m (added link to /chad/)
>Zip
(Add O3DE)
 
(8 intermediate revisions by 2 users not shown)
Line 28: Line 28:
* [https://miniaud.io/ miniaudio]: A simple cross-platform audio library written in C, contained in a single source file.
* [https://miniaud.io/ miniaudio]: A simple cross-platform audio library written in C, contained in a single source file.
* [https://www.monogame.net/ MonoGame]: C# framework for making games and engines.
* [https://www.monogame.net/ MonoGame]: C# framework for making games and engines.
* [https://o3de.org/ O3DE]: 3D game engine with visual and Lua scripting.
* [https://www.ogre3d.org/ Ogre]: 3D game engine made in C++.
* [https://www.ogre3d.org/ Ogre]: 3D game engine made in C++.
* [https://www.opengl.org/ OpenGL]: Ubiquitous cross-platform rendering API.
* [https://www.opengl.org/ OpenGL]: Ubiquitous cross-platform rendering API.
Line 59: Line 60:
* [https://sites.google.com/site/broguegame/ Brogue]: Roguelike game.
* [https://sites.google.com/site/broguegame/ Brogue]: Roguelike game.
* [https://cataclysmdda.org/ Cataclysm: Dark Days Ahead]: Ambitious turn-based post-apocalyptic survival game.
* [https://cataclysmdda.org/ Cataclysm: Dark Days Ahead]: Ambitious turn-based post-apocalyptic survival game.
* [https://github.com/electronicarts/CnC_Remastered_Collection CnC Remastered Collection]: Open sourced 2020 remaster of Command & Conquer (1995) and Red Alert (1996).
* [https://archive.org/details/far-cry-1.34-complete Far Cry 1]: Leaked original source code.
* [https://mindustrygame.github.io/ Mindustry]: TD/RTS factory management.  
* [https://mindustrygame.github.io/ Mindustry]: TD/RTS factory management.  
* [https://opengoal.dev/ OpenGOAL]:  Native port of Jak and Daxter to PC which involved decompiling the original GOAL code and developing a GOAL compiler.  
* [https://www.minetest.net/ Minetest]: Pretty much an open-source Minecraft with some differences.
* [https://openrct2.io/ OpenRCT2]: Open source recreation of RollerCoaster Tycoon .
* [https://opengoal.dev/ OpenGOAL]:  Native port of Jak and Daxter to PC which involved decompiling the original GOAL code and developing a GOAL compiler.
* [https://github.com/XProger/OpenLara OpenLara]: Open source recreation of Tomb Raider 1 to 5.
* [https://openrct2.io/ OpenRCT2]: Open source recreation of RollerCoaster Tycoon.
* [https://github.com/id-Software/Quake-III-Arena Quake III Arena]: FPS famous for popularizing an [https://netlib.org/fdlibm/e_sqrt.c old bit hack trick].
* [https://github.com/id-Software/Quake-III-Arena Quake III Arena]: FPS famous for popularizing an [https://netlib.org/fdlibm/e_sqrt.c old bit hack trick].
* [https://runelite.net/ RuneLite]: Popular Old School RuneScape client.
* [https://runelite.net/ RuneLite]: Popular Old School RuneScape client.
* [https://supertuxkart.net/ SuperTuxKart]: Racing game that is similar to Mario Kart.
* [https://supertuxkart.net/ SuperTuxKart]: Racing game that is similar to Mario Kart.
* [https://git.net-core.org/tome/t-engine4/tree/master Tales of Maj'Eyal]: A well-known roguelike game written in Lua and C.
* [https://git.net-core.org/tome/t-engine4/tree/master Tales of Maj'Eyal]: A well-known roguelike game written in Lua and C.
* [https://github.com/Svxy/The-Simpsons-Hit-and-Run The Simpsons Hit & Run]: Leaked original source code.


== Resources ==
== Resources ==
Line 73: Line 79:
==== Programming and Architecture ====
==== Programming and Architecture ====


* [https://rentry.org/gedg-cbuild C Builds and Libraries for the Inexperienced]: Tutorial made for /agdg/, /chad/, and [https://wiki.installgentoo.com/wiki/C_Help_and_Discussion /gedg/].
* [https://rentry.org/gedg-cbuild C Builds and Libraries for the Inexperienced]: Tutorial made for /gedg/, /agdg/, and [https://wiki.installgentoo.com/wiki/C_Help_and_Discussion /chad/].
* [https://youtu.be/mJ-qvsxPHpY?si=KRXBsx4RXdlY6CL2 Git Tutorial For Dummies]: Solid first video on using git. Less than 20 minutes in length.
* [https://youtu.be/icZj67PTFhc javidx9's A* Video]: Video about the A* path finding algorithm.
* [https://youtu.be/icZj67PTFhc javidx9's A* Video]: Video about the A* path finding algorithm.
* [https://youtu.be/4l5HdmPoynw javidx9's Embedding Lua in C++ video]: Video about the Lua C API in a C++ environment. C users can also obviously learn from it. He has a follow-up video [https://youtu.be/E42Lyv2Ra1c here] where the topic is coroutines.  
* [https://youtu.be/4l5HdmPoynw javidx9's Embedding Lua in C++ video]: Video about the Lua C API in a C++ environment. C users can also obviously learn from it. He has a follow-up video [https://youtu.be/E42Lyv2Ra1c here] where the topic is coroutines.  
Line 127: Line 134:


* [https://www.gameenginebook.com/ Game Engine Architecture]: Powerful and thicc.
* [https://www.gameenginebook.com/ Game Engine Architecture]: Powerful and thicc.
* [https://www.amazon.com/Mastering-Algorithms-Techniques-Sorting-Encryption/dp/1565924533/ref=sr_1_1?crid=3GIFE1JFXSK97&keywords=mastering+algorithms+with+c&qid=1693241531&sprefix=mastering+algori%2Caps%2C146&sr=8-1 Mastering Algorithms with C by Kyle Loudon]: Data structures and algorithms explained and written out in C
* [https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628 The C Programming Language]: If you can't build your game in assembly, you may as well settle for this. A legendary tome that is easy to find online for free.
* [https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628 The C Programming Language]: If you can't build your game in assembly, you may as well settle for this. A legendary tome that is easy to find online for free.



Latest revision as of 17:03, 20 September 2023

Game and Engine Development General

The Game and Engine Development General, or /gedg/ is for the discussion of creating games and engines, including the many tools and libraries involved in dev. One large incentive for posting on /gedg/ is code blocks. On /g/, you can share code like so

[code] paste your code here [/code]

We have an IRC channel #/g/gedg on rizon!

Also make sure to check out the /gedg/ compendium: https://rentry.org/gedg!

Engines and Libraries

Open Source

  • assimp: Model loading library made with C++.
  • Bevy: Popular Rust game engine.
  • bgfx: Thicc C/C++ rendering library with numerous bindings for other languages.
  • Dear Imgui: C++ GUI library.
  • EnTT: Fast entity component system written in C++.
  • egui: Rust GUI library inspired by Dear ImGui.
  • GLFW: Multi-platform C library for making windows and handling input events.
  • Godot: 2D/3D game engine written in C++.
  • libGDX: Java framework with bits of C/C++ for performance.
  • LÖVE: 2D game engine in Lua.
  • Lua: Lua is a simple and powerful language that can be used to embed scripts in programs.
  • miniaudio: A simple cross-platform audio library written in C, contained in a single source file.
  • MonoGame: C# framework for making games and engines.
  • O3DE: 3D game engine with visual and Lua scripting.
  • Ogre: 3D game engine made in C++.
  • OpenGL: Ubiquitous cross-platform rendering API.
  • OpenGL Mathematics (GLM): glm is a ubiquitous math library made for use with OpenGL. It is also commonly used with other graphics API such as Vulkan.
  • PhysX: A powerful C++ physics library.
  • pygame: Python library for game dev.
  • Ren'Py: Engine for making visual novels.
  • raylib: Simple to use C game engine. The raylib website provides examples and simple games.
  • SDL: C/C++ library that provides access to graphics, audio, and hardware.
  • spdlog: Speedy C++ logging library.
  • sokol: Header-only C library that provides a large number of abstractions and utilities. This includes a wrapper for OpenGL + Metal + D3D11. There are also some handy samples.
  • Stride: C# engine under the MIT license.
  • Vulkan: OpenGL's hot younger sister.
  • wgpu: Rust graphics library based on the WebGPU API.

Closed Source

The term "closed" also includes "pay to view" code.

  • Havok: Physics engine, also has an AI module (pathfinding, navigation meshes, etc.).
  • RPGMaker: Tool to easily make nipponese text and number simulators. But more likely you will use it to make a porn/fetish game. Allows for customization if you know Javascript.
  • Unity: Widely known, uses C#.
  • Unreal: AAA game engine, uses C++.

Open Source Games and Projects

Opportunities to learn from the source code.

Resources

Gratis

Programming and Architecture

Linear Algebra and Spacial Transformations

Rendering APIs and the GPU

Noise

  • Improved Perlin Noise: 2002 algorithm by Ken Perlin used for terrain generation. Here is a Java implementation of the algorithm.
  • Noise-Based RNG: 2017 GDC Math for Game Programmers talk where Squirrel Eiserloh discusses how RNGs can replace noise functions. An update of the code by Squirrel was later created.

Fluid Simulation

General Math and Physics

The things here either don't fit in the other sections or they so largely encapsulate more than one section that putting them there wouldn't do the material justice.

Technically non-gratis, but we all know how to use search engines.

Programming and Architecture

Math and Physics

Rendering APIs and the GPU