I'm just getting started with this engine, so I thought I'd put my initial thoughts in a post.
- I'm working on Ubuntu 16.04 64bit, and I had to install the libopenal library. In the FAQ this is only mentioned under linux 32bit.
- If I don't start the IDE with root privileges I'm getting errors from the periodic workspace save every couple of minutes (folder permission denied). Starting it with root privileges solves this, but after working on a project with root privileges it's not possible to work on it without root privileges anymore (which is pretty logical).
Getting Started tutorial
I find this tutorial to be pretty clear already, but at some points it still left me guessing a bit. Warning: parts of this post will be nitpicky.
Creating the ground
- Step 7. The note about copying and pasting the game objects comes a bit late. Should be at step 4 (unless it's the intention to first make people do it manually and then tell them they can also copypaste it afterwards).
- Step 9. My ground is placed lower. If I run my project I only see the top half of the mountains (the part above the red line in the picture at step 6). I can fix this by placing ground.collection in position (0, 60, 0) instead of (0, 0, 0), but I'm not sure if that's the right way.
Make the ground moving
This section sort of had me guessing in the first part, because it's not clear from the start how things are going to come together.
I would add something like this to the start of the explanation: "We can link script objects to game objects to make them do things. To make the ground move, we're going to add a game object to the collection ground.collection and link a script to that.".
As it is now the first script explanation is unclear because the reader does not know about the "controller" game object yet.
Also, the script explanations seem to point to parts in the code examples, but I don't see anchors in the code. This holds for all script examples in the tutorial.
Creating a hero character
Creating the hero.atlas
- The tutorial says to make sure to not select a folder before right-clicking. People might already happen to have a folder selected, so it's also nice to tell that ctrl+click deselects a folder.
- Also tell that they should name the folder "hero" in step 1.
- Adding images to the atlas: The "Add Images" popup shows a folder name at the bottom (Getting Started Tutorial/content/hero/images), but the list with Matching items also contains the ground and logo images. I don't really get that.
Building the game object
- Should I set the position properties of the spine model as in the picture?
- Adding collision
- The move tool works by dragging the shapes at the blue dot. If you want more control then dragging the red or green handles will only move the object along one axis.
- If you want your collision box to look like the image in the tutorial I think you'd also need the scale tool. Use the red and green handles to respectively scale things horizontally and vertically. Using the blue dot does not enable multi-axis scaling (as it does with the move tool).
- Adding the key bindings
- The input field of a key trigger is a dropdown box and cannot be typed in (at least I couldn't).
- The values are not sorted alphabetically and KEY_SPACE is positioned all the way at the top.
Ground physics and platforms
- When adding the ground collision box; instead of using the move and scale tools it may be easier to just fill in the properties of the box (e.g. position: (800, -30, 0), width: 1600, height: 60)
- Platform spawning script: The
gridw variable keeps track of when the next platform could spawn, and could be given a more understandable name (like
- Looking at the gameplay picture at the end of this section it's clear that the frog in my game is placed differently (only half visible on the far left edge of the screen). This is because the tutorial doesn't cover setting the starting position of hero.go in the level.collection.
Animation and death
After adding the spikes to platform.go I had errors in my console when running the game.
ERROR:GAMESYS: Sprite could not be created since the sprite buffer is full (128).
ERROR:GAMEOBJECT: Could not spawn an instance of prototype /level/platform.goc
This was caused by not setting the type of the new collision box to Kinematic (it was still on Dynamic). This step is not mentioned in the text, and could cause people to get a bit stuck if they don't happen to notice it in the provided image.
I had no further issues getting the game to work. The first impression is good; the IDE keeps it simple without unnecessary options and feels snappy (even on a slower ubuntu laptop).
Hope this is useful feedback on the tutorial or for people struggling with certain steps.