- This project is a work in progress! ~ The repository name is wrong -- will fix! ~
- It's an 2D role playing game builder, a playground of sorts, for game development on web browsers.
- Built using React and Canvas
- For the purpose of learning and experience building a browser-based game from mostly scratch.
- Canvas is a piece of tech I've been interested to learn more about so this seemed like a good excuse for it.
- There are existing JavaScript game engines out there, but I was unsatisfied after trying out a number of them.
- Most game engines require using a different language. I'm quite open to learning other programming languages, but I really like JavaScript and it's the language I feel most comfortable with when coding. Let's just say I felt lazy and didn't want to leave my comfort zone for this particular project. :P
- Latest stable version of
node.js
npm
yarn
- Clone this repo
- Execute
yarn install
- Execute
npm run start
- Open a web browser (preferably on that's up-to-date with current web standards)
- Go to
localhost:1337
and explore the app!
- A tool for building a game map using sprites.
- Toggle into "Wall Mode" to define impassable cells on the map.
- Clicking the "Save and Download" button will open a preview modal showing a grid-less version of the map.
- In the preview modal, enter a name and click the "Download" link to save a png image of the map on your computer.
- For now, you'll need to go into the redux devtools to get a copy of the grid object data which contains dimensions, coordinates, sprite, and tile data for the map.
- Almost-blank map where the player avatar can move
- A page that renders the player camera over a canvas
- Spatial detection field (green border) is visible to test wall detection
- I'm currently working on this. This feature is not yet finished
- Overworld engine
- Player camera
- Player movement engine
- NPC movement engine
- Spatial detection of walls and other objects
- Player and NPC sprites and animations
- Combat engine
- Environment animations and effects
- Physics engine (probably gonna use an existing library for this)
- TBA - Will be hosted on my new personal site that's currently under construction