Games have long since moved from the usual fun in the gaming halls to a serious global industry. According to Newzoo, in 2018 the total market volume reached $ 134.9 billion. Industry leaders are fighting with all their might for the attention of the players. Someone is trying to stand out with realistic graphics, someone with an open world, and others with cool technical features. But beyond that, the developers are very fond of the “hidden” mechanics that help you get involved in the game. Last strawHow often did it happen that after a tense fight with a strong opponent you somehow emerged victorious from it, having a minimum amount…
-
-
Integrating Your Game on Steam: Working with the Lobby in Steamworks.NET
Few gamers have not heard of Steam. The first appearance of the site falls already in 2002. On it large publishers could safely distribute games. A dozen years later, Steam Greenlight appeared, which made it possible to get to the site not only for large studios, but also for ordinary indie developers. Users themselves chose which games they want to see on the site. But due to the emergence of a mass of second-rate games, such a system had to be closed. Direct has replaced Greenlight. According to the developers, such a system should make the publishing process orderly, transparent and accessible to new developers from around the world. For…
-
Interesting projects: mathematical C library for developing video games
The MATHC project is a collection of objects for developing 2D and 3D games.Today we will take a look at the MATHC project. At its core, it is a simple math library that can be used to develop 2D and 3D games. It contains realizations of the following mathematical objects in pure C: 2D and 3D vectors;quaternions;matrices;smoothness functions.Object implementations support both the C99 standard and newer ones. Float typeEach structure and function of the library uses a float type, since this data type is used in most of the development of 2D and 3D games using OpenGL. Passing by value or by pointerFor functions that accept structures as parameters, there…
-
About Vectors
All vectors (2D, 3D and quaternions) are in the form of structures of type struct vec. Note that the z component can be used for 2D vectors as well, since it is used in OpenGL to check depth. The w component is used only to describe the quaternion. / * Flip the 2D vector 90ยบ * /struct vec direction = to_vector2 (0.0f, -1.0f);direction = vector2_rotate (90.0f * M_PIF / 180.0f); / * Get the slope in radians for the 2D vector * /float angle = vector2_angle (direction); / * Create a 3D vector * /struct vec position = to_vector3 (0.0f, 0.0f, 0.0f); / * Create quaternion * /struct vec quaternion…