-
Notifications
You must be signed in to change notification settings - Fork 9
Main Character
Here is the initial inspiration for the main character's sprite. As the game's theme is Escape Earth, the player's skin was intended to appear like he is wearing a space helmet to ensure his survival. It was also decided that the character sprite would be in a 16-bit pixel art style, to ensure cohesion in game asset design.
![Screenshot 2023-08-18 at 2 17 36 PM](https://private-user-images.githubusercontent.com/85483796/263156640-3f922086-d736-4ac2-8486-0cf8350f49db.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjEzNTAsIm5iZiI6MTczOTQyMTA1MCwicGF0aCI6Ii84NTQ4Mzc5Ni8yNjMxNTY2NDAtM2Y5MjIwODYtZDczNi00YWMyLTg0ODYtMGNmODM1MGY0OWRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDA0MzA1MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwYjNmZWM2NjZiNzBkZThkMjAxMmQxOTQ3MGM0MDRiZTEzMDJkMWQ4ZTI0ZjkwMzMwMzJjNzQ4ZGVhMWNiZjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.kgZqz0eYv5INLLfC4zdoj08CXWtfUBYTetY0KxF-RAc)
Player weapons consist of a short range attack, long range attack and homing projectile.
While an initial character design was created by hand, it quickly became clear that without the skill to animate each individual animation frame, the best method would be to find a free, open-source sprite online and edit it to our needs. Accordingly, the following sprite was found, (avaliable on itch.io, created by Gamekrazzy). This sprite came will 8-directional movement animations, and dodge animations.
![Screenshot 2023-09-13 at 10 08 15 am](https://private-user-images.githubusercontent.com/109852290/267495771-7e5f575c-2783-434d-be9e-e71525a1a559.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MjEzNTAsIm5iZiI6MTczOTQyMTA1MCwicGF0aCI6Ii8xMDk4NTIyOTAvMjY3NDk1NzcxLTdlNWY1NzVjLTI3ODMtNDM0ZC1iZTllLWU3MTUyNWExYTU1OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxM1QwNDMwNTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01OGVkNjM1M2RhOGVhYmI1YWIwMTE0NGM4ODdjZjQ1MDQ2NjIzNTE3NjU2NzQ3YmNkMDQ0YTYzMTM4OTBhMzVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FU38LigNYORykZceuaTCw_8XVe37Jc8IzpC8FDiKPAk)
However, because the initial design called for a blonde sprite, the hair color was changed. Additionally, to add a level of reality to the game, each frame of the sprite sheet was edited such that the sprite had an astronaut helmet on for levels that take place on other planets. This can be seen below:
Full sprite sheet:
Player animations were created in PlayerFactory, based on playerSS.atlas. PlayerAnimationController class was then created to implement animations and create relevant events to be called upon in KeyboardPlayerInputComponent.
Animations added to PlayerFactory class are shown below:
AnimationRenderComponent animator =
new AnimationRenderComponent(
ServiceLocator.getResourceService().getAsset("images/player.atlas", TextureAtlas.class));
animator.addAnimation("Character_StandDown", 0.2f);
animator.addAnimation("Character_StandUp", 0.2f);
animator.addAnimation("Character_StandLeft", 0.2f);
animator.addAnimation("Character_StandRight", 0.2f);
animator.addAnimation("Character_DownLeft", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_UpRight", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_Up", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_Left", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_DownRight", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_Down", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_UpLeft", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_Right", 0.2f, Animation.PlayMode.LOOP);
animator.addAnimation("Character_RollDown", 0.1f, Animation.PlayMode.NORMAL);
animator.addAnimation("Character_RollRight", 0.1f, Animation.PlayMode.NORMAL);
animator.addAnimation("Character_RollLeft", 0.1f, Animation.PlayMode.NORMAL);
animator.addAnimation("Character_RollUp", 0.1f, Animation.PlayMode.NORMAL);
Here is the link of Player Asset Testing.
Escape Earth Game
Interaction Controller and Interactable Components
Game and Entity Configuration Files
Loading Game Configuration Files