Skip to content

Commit

Permalink
fix: game dev tools research
Browse files Browse the repository at this point in the history
  • Loading branch information
tolstenko committed Sep 1, 2024
1 parent 837987e commit 729e9b9
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
59 changes: 59 additions & 0 deletions docs/introgameprog/02-GameDevTools/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Game development tools

There are plenty of tools available for game development. I dont want to cover all of them this is just a brief overview of the most common ones.

The most types of tools for developers are:

- Game Engines
- Game Development Frameworks / Libraries
- Programming editors and IDEs

But there are other types of tools that are also important for game development:

- 3D Modeling Tools
- 2D Art and texture Tools
- Sound and Music Tools
- Planning and Management Tools
- Marketing and Monetization Tools
- Testing Tools
- Publishing and Distribution Tools and platforms
- Analytics, metrics, remote config and A/B Tools

## Game Engines

The powerhouses of game development, game engines are the software that packs lots of tools and features needed to create a game. They are the most important tool in a game developer's arsenal. Ex.: Unity3D, Unreal Engine, and Godot.

You might understand a game engine as the "orchestrator of the game".

!!! note

Not all game engines provides embedded visual editors (ex.: Ogre3D), some of them are just a bunch of libraries and tools nicely integrated that you can use to create your game.

Instead of listing all the game engines, I suggest you to search for the most popular ones and try them out. I suggest going to search engines and type some of these queries:

- "Game engine landscape"
- "Top game engines"
- "Game engine market infographic"
- "Game engine popularity"
- "Game engine comparison"

If you are a open-source enthusiast, try to explore game engines on github. A nice search query involves the word "game engine" and the word "awesome", but here goes some links to help you:

- [GitHub Collection of Game Engines](https://github.com/collections/game-engines)
- [Awesome GameEngines](https://github.com/collections/game-engines)

## Game Frameworks / Libraries

Sometimes you don't need a full game engine, or you need to create something that no other one provides. In this case, you can use a game development framework or library. Ex.: SDL3, LibGDX, Phaser, and others.

If you follow this path, you will have more control over your game, but you will need to code more things that are already done in game engines.

I am afraid there are so many frameworks and libraries that I can't list them all here. But you can search for them using the same queries I suggested for game engines, but replacing the word "engine" with "framework" or "library", you will get amazed by the amount of tools available. Try it!

## Assignment

1. Create an account on GitHub. If you don't want to expose yourself publicly, create a new account with a nickname unrelated to your real name. You can use any AI tool to help brainstorm a nickname for you. Extra: [apply to GitHub Student Pack](https://education.github.com/pack).
2. Create a Repository on GitHub. The name of the repo should have "Awesome" somewhere in the name, and it should be related to game development tools. Ex.: "Awesome-GameDev-Tools". This will optmize SEO and make your repository more visible to others.
3. Probably the repo will already have a README.md file, if not, create a README.md file on the root of your repo. Write a brief introduction to the repository and list some of the tools you are planning to cover.
4. You should research and list at least 10 tools that you think are important for game development. Please explore others tools than the main-stream. Describe briefly each tool and provide a link to the tool's website or repository.
5. You will present some of them in class, so be creative and avoid listing tools that everyone knows.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ nav:
- Home: README.md
- Intro. Game Programming:
- introgameprog/README.md
- Game Dev Tools: introgameprog/02-GameDevTools/README.md
- AI:
- artificialintelligence/README.md
- Spatial Quantization: artificialintelligence/readings/spatial-quantization.md
Expand Down

0 comments on commit 729e9b9

Please sign in to comment.