Repository navigation
CustomPlatformerSlopes
CustomPlatformerSlopes è il quarto prototipo di agpunicas: un platform ispirato a Super Mario Bros 3, con fisica personalizzata estesa alle pendenze. Condivide core e utils con gli altri giochi, senza copiarli nella propria cartella, e usa LevelData e il formato JSON comune.

Il confronto con CustomPlatformer mostra come estendere un platform basato su collider AABB con superfici inclinate. Slope descrive un segmento statico inclinato; DynamicObject gestisce il movimento sulla superficie per Mario, nemici e power-up. In salita il movimento rallenta con la pendenza; a riposo l’entità scivola verso valle. Le Platform consentono a tutti i dinamici il passaggio dal basso e dai lati, ma sostengono chi atterra dall’alto.
Il livello iniziale 1-1 include sei rampe, definite da linee di categoria Slope e trasparenti nel gioco, fra tratti piani, tubi e una valle. La grafica proviene dallo sfondo; la vista dei collider mostra i segmenti. Sprite e audio provengono dal prototipo SMB3.
| Area | Classi e dati | Ruolo |
|---|---|---|
| Avvio e scena |
PlatformerGame, PlatformerGameScene
|
Stack delle scene, input e camera. |
| Livelli |
LevelLoader, LevelData, levels/1-1.json
|
Geometrie e spawn dal JSON; scena e sfondo configurati nel loader C++. |
| Movimento |
MovableObject, CollidableObject, DynamicObject
|
Velocità, collisioni, appoggio e risposta alle pendenze. |
| Superfici |
StaticObject, Slope, Platform, Lift
|
Solidi, rampe, piattaforme attraversabili e ascensori. |
| Gameplay |
Mario, Goomba, Block, Coin, Mushroom
|
Giocatore, nemici, blocchi e oggetti. |
| Presentazione |
SpriteFactory, HUD, Menu
|
Sprite, animazioni, informazioni e pausa. |
Il diagramma completo delle classi è disponibile anche dal menu laterale.
- Scena e risorse: librerie condivise, livello JSON, categorie, rampe ed editor.
- Movimento e collisioni: appoggio, salita, scivolamento, rilascio del comando e piattaforme attraversabili.
- Entità e gameplay: Mario, animazioni, nemici, blocchi e controlli.
Le rampe sono segmenti statici inclinati; gli oggetti mobili rimangono AABB. Non sono previste rampe mobili o ruotate. La dinamica delle pendenze è una risposta arcade regolabile, mentre Box2DPlatformer mostra una simulazione con un motore fisico esterno.
- Panoramica
- Diagramma delle classi
- Architettura e game loop
- Sequenza di un frame
- Input ed eventi
- Scene e oggetti
- Rendering e coordinate
- Sprite e testo
- UI e overlay
- Quadtree
- Servizi e asset
- Estendere il core
- Editor dei livelli
- LevelData e livelli JSON
- Shader