Teapong – A two-player game for fans of Pong and the Utah teapot

栏目: IT技术 · 发布时间: 4年前

内容简介:A two-player game for fans of Pong and the

Teapong – A two-player game for fans of Pong and the Utah teapot

Teapong

A two-player game for fans of Pong and the Utah teapot !

Teapong – A two-player game for fans of Pong and the Utah teapot Click on the image above to see a two minute demo of Teapong!

Technical details

This is the first game that I ever make! :blush:

It was written using C++ and OpenGL, and it is currently supported on macOS and Windows.

The external libraries it uses and their purposes are the following:

  • GLFW is used to interact with the windowing system and to receive inputs.
  • GLAD is used to load pointers to OpenGL functions.
  • GLM is used to perform 3D math.
  • Assimp is used to load 3D models.
  • stb_image is used to load textures.
  • irrKlang is used to play sounds.

The sources of the assets it uses are the following:

  • The 3D models were created using 3ds Max .
  • The textures were created procedurally using 3ds Max and the Open Shading Language .
  • The sound effects can be found here .
  • The background music is Filaments by Podington Bear, and it can be found here .

For a more detailed description of this project's code, see this presentation.

Rules and controls

The rules are simple: the first player to score three points wins!

The controls are as follows:

  • Press Esc to close the game.
  • Press F to toggle between the full screen and the windowed modes. When in the windowed mode, you can manually resize the window using the mouse.
  • Press 1 , 2 , 4 or 8 to set the number of samples used for anti-aliasing. By default, the game starts with 1 sample. The higher the number of samples, the better the game looks.
  • When in the menu, press Space to start a game.
  • When ready to play, press Space to launch a teapot.
  • The left paddle is controled with G and B , while the right paddle is controlled with Up and Down .
  • Press P to pause the game.
  • Press C to toggle between the fixed and free camera modes. When the camera is free, you can position it using W , A , S , D and the mouse. You can also zoom in and out using the scroll wheel.
  • Press R to reset the camera to its original position.

Running the game without building it

macOS

To run Teapong on macOS, you must follow these steps:

  • Download or clone this repository and open a Terminal window in its root.
  • Execute the following command to install GLFW, GLM and Assimp:
$ brew install cmake assimp glm glfw
  • Execute the following commands to install GLAD:
$ cp dependencies/mac/inc/glad/glad.h /usr/local/include/
$ cp dependencies/mac/inc/KHR/khrplatform.h /usr/local/include/
  • Execute the following commands to install irrKlang:
$ cp -r dependencies/mac/inc/irrklang /usr/local/include/
$ cp -R dependencies/mac/lib/ /usr/local/lib/
  • Download Teapong_macOS.zip from release 1.0.0 , open a Terminal in its root directory and execute the following command to launch the game:
$ ./Teapong

Windows

To run Teapong on Windows, simply download Teapong_Windows.zip from release 1.0.0 and double click Teapong.exe .

Building the game

macOS

To build Teapong on macOS, you must follow the same steps listed in the " Running the game without building it " section, except for the last one, which you must replace with the following:

  • Execute the following command to build the game:
$ make Teapong

Thanks to Daniel Macario for writing the Makefile!

Windows

To build Teapong on Windows, simply download or clone this repository and use the Visual Studio 2019 solution file that is stored in the VS2019_solution directory.

Learning resources

The following sources of information are the ones that helped me the most while working on this game:

  • The external libraries I used are presented with excellent clarity in this page.
  • The design pattern I used for game state management was inspired by this article.
  • The classes I wrote for resource management were inspired by this code.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

科学计算导论

科学计算导论

希思 / 清华大学出版社 / 2005-10 / 48.00元

本书全面地介绍了科学计算中解各种主要问题的数值方法,包括线性和非线性方程、最小二乘法、特征值、最优化、插值、积分、常微分方程和偏微分方程、快速傅里叶变换和随机数生成。 本书的特点是: 以使用算法的读者为对象,重点讲授算法背后的思想和原理,而不是算法的详细分析。 强调敏感性和病态性等概念,对同一问题的不同算法进行比较和评价,提高读者对算法的鉴赏能力。 对每类......一起来看看 《科学计算导论》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具