Features

Scores

Most games have scores to motivate players to achieve. An addiction to beating the 'high score' is what makes computer games successful. This is therefore a good feature to add to a game. In fact, there isn't inbuilt scoring in Paper (or Unity and Unreal for that matter) because it is easier to add a score variable to the game code rather than the game engine. You need to define a 'score' attribute in a character blueprint and then in the update function detect if you need to increase it. When the update function is called, you check for the gain point condition (e.g. being on top of some food). If this condition is satisfied, a simple addition equation adds one to the score. Remember to make sure that the condition won't be triggered again by the same thing (e.g. delete the food). The score can be displayed by using the print function or using HTML.

Sounds

Paper has default blueprints to ensure clean coding and additional flexibility. I have added a component system, which is a neater way of allowing objects to have attributes. It makes modulising the attributes of blueprints and objects easier. I use this component system to allow objects to play sounds.

Multi Player

I have made the Paper main JavaScript file compatible with Node.js so that it can run as a server. A server is a key component of traditional multiplayer gaming. I also have started adding the server camera object, which will be an object like a normal camera but instead of rendering to a canvas on the same computer, it will send render data to a client. I am using a module called Express to handle the application programming interface (API) requests.