A simple TypeScript Vite based boilerplate to create games with melonJS, built with :
- melonJS 2
- TypeScript structure and semantic
- Vite ultra fast bundler
- Default transpiling to ES5 using target option in the Vite config file
- Static Asset management (used for the melonJS preloader)
- Favicon support using the vite-plugin-favicons-inject plugin
- melonJS debug plugin to display stats on number of objects, memory usage, draw time, frame rate, etc...
Ensure you have Node.js installed, then install all the build dependencies in the folder where you cloned the repository :
$ [sudo] npm install
npm run dev
to start the dev server on watch mode atlocalhost:5173
.npm run build
to generate a minified, production-ready build, in thepublic
folder
if everything goes well, on running the dev server for the first time you should see this :
src
└── data
│ ├── bgm
│ ├── fnt
| ├── img
| ├── map
| └── sfx
└── scripts
| ├── renderables
| └── stage
├── index.ts
├── index.css
├── index.html
├── manifest.ts
public
├── data
│ ├── bgm
│ ├── fnt
| ├── img
| ├── map
| └── sfx
├── build
| └── index-xxxxx.js
└── index.html
src
- the root folder for your game source code
- The entry file is index.ts.
- index.css and index.html are default templates that can be customized
- manifest.ts is a list of asset to be preloaded by melonJS
src/scripts
- add your source classes here
src/data
- where to add your game assets
public
- where the production-ready build files will be copied/generated when using
npm run build
- where the production-ready build files will be copied/generated when using
The boilerplate include the melonJS plugin, and will automatically import and instantiate it when running under a development environement.
the Debug Panel is hidden by default and can be displayed using the "S" key, see here for more details about the plugin.
If you need technical support, you can contact us through the following channels :
- Forums: with melonJS 2 we moved to a new discourse forum, but we can still also find the previous one here
- Chat: come and chat with us on discord
- we tried to keep our wikipage up-to-date with useful links, tutorials, and anything related melonJS.
- Thank you @edmundg for providing a first version of this TypeScript x Vite boilerplate
- TypeScript support in melonJS is still a work in progress, if you notice any TS definition missing you can use
@ts-ignore
to ignore the error message for a specific line, please then please report it here - if you wish to request for a missing feature in the boileplate, open a ticket here or submit a pull request