- How to structure SFML project?
- Have only one window rule. 2.1. screen styles [fullscreen, borderless, with border, ...]
- Poll events from window. // 3.1. configureable controls from configuration files.
- Have a game class, that have [GameLoop(), Update(), RenderGraphics(), RenderAudio(), ...] functions.
- sprites and texture classes.
// . have modular structure to easy integrate new entities and classes. // . save, load game states/levels/configurations/controls. // . Have Entity and Deriveable Entities. // . add audio support. // . add ai elements. // . noise producers. // . path finders. // . scene graphs + ECS (Entity-Component System). // . Back-Middle-Front Buffer rendering [aka thriple buffer rendering] // . add volume and shape to particle to form a rigid body. // . particle must have position vector, velocity vector, and a scalar mass. // .
- Splash Screen.
- Main Menus/Sub Menus.
game mechanics and story ideas
........................................................................................................................
- [Architecture level] Update, RenderGraphics, RenderAudio, RenderSprites, RenderTextures, can be a part of Entity class, or can be a part of main game class that can be extended to other entities
- [Game Level] can user customise game environment?
........................................................................................................................
- Core:
- Entity:
- Game:
- Physics:
- Math:
- Profiler:
- Asset management:
- Time:
........................................................................................................................
- https://dev.to/fkkarakurt/matrices-and-vectors-in-game-development-67h
- https://www.void1gaming.com/post/fundamentals-of-vector-math-in-game-development
- https://www.gamedev.net/tutorials/programming/math-and-physics/practical-use-of-vector-math-in-games-r2968/
- https://www.gamedev.net/tutorials/programming/math-and-physics/vector-maths-for-game-dev-beginners-r5442/
- https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics
- https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
- https://www.toptal.com/game/video-game-physics-part-iii-constrained-rigid-body-simulation
- https://github.com/Sopiro/Physics
- https://stevelilley.com/category/physics-engine/
- https://www.gamedesigning.org/engines/bullet/
- https://www.toptal.com/game/ultimate-guide-to-processing-simple-game
- https://www.toptal.com/unity-unity3d/unity-with-mvc-how-to-level-up-your-game-development
- https://www.gamedesigning.org/category/engines/
- https://www.gamedesigning.org/engines/haxe/
- https://github.com/fallahn/xygine [scene ghaph with ECS]
........................................................................................................................
- app [Application]
- game [Game]
- player [KeyboardInput, Renderer]
- enemies
- spider [SpiderAI, Renderer]
- ogre [OgreAI, Renderer]
- ui [UI]
- hud [HUD, MouseInput, Renderer]
- pause-menu [PauseMenu, MouseInput, Renderer]
- victory-modal [VictoryModal, MouseInput, Renderer]
- defeat-modal [DefeatModal, MouseInput, Renderer]
- game [Game]
// vector math https://www.geeksforgeeks.org/using-class-to-implement-vector-quantities-in-c/ https://www.haroldserrano.com/blog/developing-a-math-engine-in-c-implementing-vectors https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/math-operations-on-points-and-vectors
add (vector and scalar) (vector and vector) (vector and matrix) (matrix and matrix) [using operator and function] subtract (vector and scalar) (vector and vector) (vector and matrix) (matrix and matrix) [using operator and function] dot product (vector and scalar) (vector and vector) (vector and matrix) (matrix and matrix) [using operator and function] cross product (vector and scalar) (vector and vector) (vector and matrix) (matrix and matrix) [using operator and function] magnitude [using function] normalisation [using function] Vec3f translate(Vec3f P, Vec3f translateValue) { ... } Vec3f scale(Vec3f P, Vec3f scaleValue) { ... } Vec3f rotate(Vec3f P, Vec3f axis, float angle) { ... } ...
sairat (2016) bhetli tu punha (2017) tu hi re (2015) timepass (2014) mitwaa (2015) double seat (2015) kakaan ti sadhya kai karte (2017) coffee and barach kahi (2015) ashi hi ashiqui (2019)
friendship unlimited (2017) bus stop (2017) dostigiri (2018) lucky (2018) classmates (2015) 35% kathaavar pass (2016)
According to Newton’s First Law, its velocity will only change when a force is applied on it. When its velocity vector has a non-zero length, its position will change over time.
Each particle must have a fixed mass, an initial position in space and an initial velocity For each particle, we have to compute the force that is currently acting on it, update its velocity from the acceleration produced by the force, and then update its position based on the velocity we just computed.
The force may come from different sources depending on the kind of simulation. It can be gravity, wind, or magnetism, among others – or it can be a combination of these. It can be a global force, such as constant gravity, or it can be a force between particles, such as attraction or repulsion