After 20 hrs learning PlayCanvas I have some thoughts. This comes as a 20 year game development veteran (Recently 8 yrs with Unity).
- Fantastic product!!
- Best features: Browser based user-experience (RUNTIME)
- Best features: Browser based developer-experience (EDITOR)
- Documentation pages often link to “EDITOR” (for a developer) and “PROJECT” (for runtime as a user) which I think are ambiguous names. I suggest instead to use “HOME” (for the projects home), “EDIT” (for the developer) and “RUN” (for the end user experience.
- Change class to “SpriteAsset” for consistency
- Change all variables on an entity to the full class name or type. So…use “entity.spriteComponent” not “entity.sprite” and use “sprite.spriteAssetId” not “sprite.spriteAsset” for accuracy.
- Mouse drag and/or mouse wheel to change numeric values in the editor (including attributes)
- Clickable browser console log text (e.g. " CollisionClickable.js:12:13" which opens the existing PC editor window and highlights the related code.
- Why is my custom script (e.g. “Hero”) a CHILD of a Script Component instead of a component itself? (e.g. more like unity). This would give parity between custom scripts (e.g. “Hero”) and 1st party scripts like “Light”. Currently as developers our code is systematically and perceptually “less powerful” than 1st party code. That’s not fun
- Why is Tween a library I must find and add myself as a file and ammo is a module that I can click to add. Why not have consistency for all “external” party libraries?