NcJump devlog #5

Here is a new devlog with some new exciting stuff.

Push and pull

Dynamic entities have been added to the game, and they can be pushed and pulled around the scene. This meant that new states should be added to characters, push and pull indeed.

The push state is enabled when a character is trying to move and finds an obstacle either on its left or its right, quite easy to implement. Obstacles in the four directions (up, right, down, left) are collected after the physics system update by checking for physics body collisions and the normal of contact points. In addition, some bitflags are set which tell whether there are obstacles in any of the four directions.

The pull state is enabled when the player presses the x button and there is a dynamic obstacle, which is checked by querying the type of the obstacle’s physics body. When the conditions are met, a distance joint is created between the character and the dynamic entity to make sure that, when the character moves, the distance between the two bodies remains the same, effectively giving the ability to the character to carry around the entity. Of course, the joint is destroyed when exiting from the pull state.

Data submodule

A git submodule has been added to the repository under the data/ directory, pointing to Fahien/ncJump-data. There you could find the latest assets of the game: configurations, game maps, tile sets, and animations.

A better editor

Many improvements have been added to the in-game editor: a main menu bar at the top for choosing a placing mode between tile and entity, changing the opacity of certain elements of the scene according to the current mode for an immediate visual feedback; a config window to tweak all sort of values not directly related to the gameplay, like the size of the window, the scale of the scene or the UI, the offset of the camera to move around the scene without necessarily moving the character.


These updates can already be found on the main branch, but as an anticipation the more curious of you can try lurking into the enemies branch. 🍄

A big thanks to @encelo which is looking into the project CI to make things like this possible (bug alert!).

Leave a comment

Log in with to leave a comment.