Skip to content

posaune0423/p_dash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

p/dash

ci-front ci-contracts

What is p/dash?

p/dash is a forced-scroll action game built on PixeLAW, inspired by Geometry Dash.

Why we build?

We aim to build the first game that incorporates all three of the following elements:

  • A digital physics system.
  • New experiences such as composability and interoperability.
  • An engaging and fun gameplay experience.

By integrating these elements, we aim to attract web2 gamers and create a situation where they must interact with blockchain technology to gain new experiences. When that time comes, the first blockchain they will encounter will be Starknet.

Three Features

How to play?

We can play a game.(WIP)

Gameplay feat restructure

Getting Started

Contracts

  1. Check versions of Scarb, Cairo and Dojo
$ sozo --version
sozo 1.0.0-alpha.13
scarb: 2.7.0
cairo: 2.7.0
sierra: 1.6.0

$ scarb --version
scarb 2.7.0 (e9a2b8716 2024-08-01)
cairo: 2.7.0 (https://crates.io/crates/cairo-lang-compiler/2.7.0)
sierra: 1.6.0
  1. Set up contracts. Please check if the container is already up.
$ cd contracts
$ sozo test
$ scarb run init

Frontend to create a stage.

  1. Change directory:
$ cd client
  1. Install
$ bun i
  1. Run the frontend for pixelaw side.
$ bun dev
  1. Make a Stage (WIP) Please place objects to create a stage.
Create a Stage

Frotend to play a game.

  1. Install dependencies.
$ bun i
  1. Run the frontend to play.
$ bun dev

Trouble Shooting

  • Strongly recommend to use chrome's incognito mode.
  • When I change dir name dojo-starter to contracts
    • I should've rename dojo-starter to contracts in source files
    • Then remove contracts/manifests and sozo migrate plan to re-generate them
    • Then in the client dir, run pn components to re-generate clientComponents
  • When using alpha verison of Dojo, Language Server may not work correctly
    • Downgrade to beta version of Dojo

How we buid?

Our project is a lightweight WebGL game built with React and Phaser, aiming to enhance UX by delivering it to users as a PWA. The on-chain components are built with Starknet and the Dojo Framework, and this project functions as an application on the PixeLAW Protocol.

Tech stacks

  • Next.js: to build a p/dash client
  • Phaser: to build a game client.
  • React/Vite: to build a PixeLAW frontend.
  • PWA: to provide proggressive application.
  • Dojo Framework: to write contracts in ECS.
  • PixeLAW: to get a degital physics, composability and interoperability.

Future plans

This project holds great potential, and we plan to continue building it even after the hackathon. Our future expansions include the following ideas:

  • Enhancing the gaming experience: We aim to provide a gaming experience equal to or better than existing web2 games. To achieve this, we will first focus on improving the UI/UX.
  • Hosting stage co-creation events: We plan to organize events where participants can collaboratively create a stage on PixeLAW over a set period.
  • Exploring composability: We aim to allow users to automatically add new objects and create betting functions on top.
  • Exploring interoperability: PixeLAW will enable interaction with stages created by other applications and players, leading to new experiences.
  • Exploring different games: It is also possible to create objects like stages on PixeLAW and explore the potential of off-chain gameplay. For example, action games similar to Mario could be considered.