ToyCeption - Utilitar - București - Lucrari 2019 Online

Informatii generale

Descriere

ToyCeption este un joc 3D in care intri din perspectiva unei jucarii. Cu toate astea, jocul țintește orice categorie de vârstă. Nivelele sunt formate din diverse castele și jucării de plastic cu care trebuie să interacționezi pentru a avansa. Scopul jocului este simplu: să ajungi pana la finalul nivelului și să colectezi câte un ,skin" în fiecare dintre aceste nivele. Pentru a face jocul mai interesant am adăugat o mica schimbare la conceptul de ,skin" des întâlnit în alte jocuri. Acesta creaza acum un efect vizual pentru jucător. Aceste efecte variaza de la a face lumea alb negru la a face lumea să pară desenata cu creioane. ,Skinurile" colectate deblocheaza efectele vizuale aferente în sectiunea de ,Extras" unde poti folosi camera web a calculatorului / laptopului pentru a încerca aceste efecte în lumea reală. Jocul conține momentan 3 nivele și fiecare dintre ele are propriul lui ,Skin" care poate fi colectat. În viitor doresc a adăuga nivele noi mai bine conturate.

Tehnologii

Descriere Engine
Engine-ul a fost dezvoltat de mine si este responsabil de fizica, ,randarea" graficilor, raportarea erorilor și încărcarea / managementul resurselor. Pentru partea de fizica am folosit o librărie numită Bullet Physics. Pentru partea de ,randare" am folosit driverul OpenGL. Engine-ul include atât componente primitive cum ar fi încarcarea unor zone de memorie pe placa grafica si desenarea lor folosind un ,shader program" presum și clase care pot incărca obiecte 3D din fișiere OBJ sau care pot ,parsa" un fișier text de format propriu care specifica cum să fie incărcate obiectele, luminile, obiectele fizice și alte date in lumea 3D.
Descriere MenuApi
MenuApi este librăria de meniu pe care am dezvoltat-o în vederea creerii acestui proiect. Este probabil prima astfel de librărie implementată folosind SFML. Am folosit-o deja totusi în alte programe personale si am testat-o îndelungat. Ea face crearea meniului în joc foarte ușoară iar meniul o sa se poată conforma cu diverse rezolutii de monitoare fără probleme.
Tehnologii
-Limbaje: C++, GLSL.
-Graphic driver: OpenGl.
-Librării dezvoltate de mine:
OpenGlEngine: este enginul 3D în care jocul a fost creat GitHub - meemknight/OpenGLEngine: A simple 3D game engine implemented using openGL.
MenuApi: este o librărie care imi permite sa creez un meniu pentru joc într-un mod foarte ușor: GitHub - meemknight/MenuApi: Just a simple sfml api for adding the menu to your program.
-Librării:
glew: pentru driverul de OpenGl http://glew.sourceforge.net/
SFML: pentru a crea fereastra și pentru a desena 2D Learn (SFML)
Bullet Physics: pentru partea de fizică Bullet Real-Time Physics Simulation | Home of Bullet and PyBullet: physics simulation for games, visual effects, robotics and reinforcement learning.
glm: pentru operatii matematice OpenGL Mathematics
OBJ-Loader: pentru a încărca fisiere 3D de tip obj GitHub - Bly7/OBJ-Loader: A C++ OBJ Model Loader that will parse .obj & .mtl Files into Indices, Vertices, Materials, and Mesh Structures.
escapi: pentru a folosi camera web GitHub - jarikomppa/escapi: Extremely Simple Capture API (ESCAPI) - simple webcam API for windows
-Programe:
Visual Studio 2017
Adobe Photoshop
Blender
Notepad++
MagicaVoxel

Cerinte sistem

Cerințe de sistem
Software:
Jocul este optimizat astfel încât poate rula în 60 fps pe orice sistem windows modern sau sisteme windows mai vechi care ruleaza pe x86 (Nu garantat pe toate sistemele vechi). Am folosit functiile de actualitate ale librăriei OpenGl astfel încât functiile acestea nu o sa fie marcate ,învechite" mult timp de acum înainte.
Hardware:
Procesor x86 sau x64
Placă grafica dedicata / integrată (testat pe Intel / Nvidia / AMD) cu OpenGL 4.0 (Prima dată apărut in 2002 pe Nvidia GT420) (Toate sistemele pc / laptopuri moderne respectă aceste cerințe)
Cunsuma aproximativ 50 mb de ram / vram.

Realizatori

Vlad Luta

  • Scoala: Colegiul National Ion Luca Caragiale
  • Clasa: 11
  • Judet: București
  • Oras: Bucuresti sector 1

Vlad Luta

  • Scoala: Colegiul National Ion Luca Caragiale
  • Clasa: 11
  • Judet: București
  • Oras: Bucuresti sector 1

Screenshots