/PangGame

Game from scratch - Pang (World) Arcade Clone

Primary LanguageC#MIT LicenseMIT

Pang Game (World) - Arcade Clone / WIP

Note:

This is an independent game development clone from scratch.
It is a small challenge for me to develop this game of my childhood.
Out of respect, I will not publish the game code. 
This page will act as a visual wiki of development.
I want to share a single goal that is the development of games for all audiences 
and continue learning day to day.

Roadmap

Technical data

Name      : Pang | Pomping World | ポンピング・ワールド | Ponpingu Wārudo | Buster Bros
Developer : Mitchell
Publisher : JP/EU: Mitchell | NA: Capcom
Director  : Yoshiki Okamoto
Designer  : Toshihiko Uda (NDA)
Composer  : Tamayo Kawamoto
Platform  : Arcade, TurboGrafx-CD, SNES, Game Boy, ZX Spectrum, Commodore 64, Amstrad CPC, 
            Commodore Amiga, Atari ST, DOS...
Release	  : 1989
Genre     : Arcade
Mode      : Two-player

Bios

License

Ranking

  • Enumeration of the first 10 records
  • Score, Name and Stage description

Intro

  • Animation (WIP)
  • Supports up to 9 credits
  • Menu "Push Start Button"
  • Flicker enterprise name

Players

  • P1
  • P2 (WIP)
  • Left - Right
  • Up - Down (Ladders) (WIP)
  • Score
  • Lives
  • Stage
  • Wire

Wires

Blocks

Horizontal

Vertical

Others

  • Yelow Ladders
  • Yellow Block Fixed

Balls

PowerUps

Map Select

  • Countdown to 0 seconds
  • Sight arrow with white node
  • Travel plane between cities
  • Spelling description data
  • Cities & Stages information
  • Navigation between forward and backward nodes without limit in Barcelona city
  • Cities visited with red node
  • Blinking vision arrow when selected the city

HUD

  • P1
  • P2 (WIP)
  • Score
  • Lives
  • Stage
  • Wire
  • City
  • World - Level
  • Hi Score
  • Timer
    • Fonts Numerics (WIP)
  • Insert Coin blink
  • Press Start blink
  • Continue countDown
  • Rec Score name
  • Game Over!

Overloads

  • Ready
  • Time Over
  • Game Over

Stages

MT.FUJI (1)

  1
    * BG Display
    * OBJ (Sprites) 
    
  2
    * BG Display
    * OBJ (Sprites) 
    * BG Tile
      * Blocks Fade Out
    
  3
    * BG Display
    * OBJ (Sprites)
    * BG Tile
      * Blocks { Fade Out | Statics }

MT.KEIRIN (2)

  4
    * BG Display
    * OBJ (Sprites)
    * BG Tile
      * Ladders
      * Block static
    
  5
    * BG Display
    * OBJ (Sprites) 
    * BG Tile
      * Blocks Fade Out | Vertical
    
  6
    * BG Display
    * OBJ (Sprites)
    * BG Tile
      * Blocks { Fade Out | Statics }

Bonus Stage

  • Time Bonus
  • Next Extends
  • Random Images
    • Animations backgrounds (WIP)

Physics Engine 2D

Collision

  • Rectangle
  • Circle
  • Poligon

Newton's laws of motion ( 3 laws)

  • In an inertial frame of reference, an object either remains at rest or continues to move at a constant velocity, unless acted upon by a force.

  • In an inertial reference frame, the vector sum of the forces F on an object is equal to the mass m of that object multiplied by the acceleration a of the object: F = ma

  • When one body exerts a force on a second body, the second body simultaneously exerts a force equal in magnitude and opposite in direction on the first body.

Parabolic Motion (Generative recursion)

Based on parabolic movement with environmental factors

  • Dir_H [ Left - Right]
  • Dir_V [ Top - Bottom]
  • Detla Time
  • Gravity 9.81
  • Force
  • vt
  • vti
  • x0
  • y0
  • Angle
  • Vi
  • Viy
  • Vix
  • Vx
  • Vy
  • TyMax
  • yMax
  • TxMax
  • xMax
  • X
  • Y
  • Acc
  • Curve renderer based on Pathing
  • Position
  • Lerp (Based on Bresenham algorithm)
    • Linear
    • Bicubic
    • Spline
    • Stairstep (WIP - Digital Image definition)

Bullet Physics

Slow Motion (WIP)

Profiler

Code Behind

  • You can see the implementation of interface IParabolicMotion (Not optimal for udpateXXX methods)

Miscellaneous

Arcade Cabinet

Controllers

PCB

DIP

References

@Author: Victor Bolinches

Twitter: @vicboma1