-
Notifications
You must be signed in to change notification settings - Fork 1
Feature Improvements
For this sprint, there were no new features added to the game, as this sprint was to focus on refining and improving on current features implemented into the game from previous sprints. Additionally, focusing on debugging the game to ensure it runs smoothly was also a focus in this sprint. Several issues were addressed in this sprint including: Inconsistencies with screen backgrounds and elements, functionality of the score system and displaying a final score on the game over or win screen, and fixing bugs caused by merge conflicts from the previous sprint.
For inconsistencies with screen backgrounds and elements, the design team members focused on: Making the background of each screen the same (i.e. using the space background across all screens), changing buttons on screens to match the designed buttons from sprint 2, changing the main game side strips from pink to black, ideally the game will span the full screen, however after discussion with team 5 it was decided that if this was not achieved, changing the strip colours to black would make the game look more aesthetically pleasing in comparison to pink. Finally, due to merge conflicts from the previous sprint, the coin collector visual next to the gold text was unintentionally removed, this has been added back as well as a redesign of the coin collector visual.
In the image shown below, the exit button in the main game is inconsistent with the buttons for the rest of the game, so this was change, as well as the strips of colour originally on the left and right of the main game screen, which were originally pink and have now been changed to black, to better suit the dominating black colour seen in the space background:
// Sets background to black
Gdx.gl.glClearColor(0/255f, 0/255f, 0/255f, 1);
Button.ButtonStyle exitStyle = new Button.ButtonStyle();
exitStyle.up= new TextureRegionDrawable(new TextureRegion(
new Texture(Gdx.files.internal("images/minbtn_exit1.png"))));
exitStyle.over= new TextureRegionDrawable(new TextureRegion(
new Texture(Gdx.files.internal("images/minbtn_exit2.png"))));
Button mainMenuBtn = new Button(exitStyle);
As seen below were the original win screen and game over screen:
These have been changed to the space background seen on all other screens, as well as the game over visual text being changed to pink for better contrast as using black for the visual text resulted in it being barely visible, so the screens now look as follows:
Note: Having some issues screenshotting on laptop so having to take photos using phone.
The coin collector was unintentionally removed due to merge conflicts in the previous sprint, so it was added back in this sprint, as well as undergoing a design change. The reasoning for this was because the border on the original coin collector visual was static, and did not increase in size when the amount of gold reached 100+, so the text would lie outside the border. This was not aesthetically appealing and made the game look less professional, and so the border for the visual was removed:
Original Coin Collector Visual
Revised Coin Collector Visual
There was a bug that was caused by a combination of factors, including some merges from the previous sprint that overwrote other merges, and resulted in some files not being able to load due to them being removed. Additionally, the delay function for the game over screen was also causing some issues and so was removed to ensure smoothness of the game.
tablebackGround = new Table();
tablebackGround.setFillParent(true)
Image background = new Image(ServiceLocator.getResourceService().getAsset("images/ragnarok_background.png",
Texture.class));
Image winMessage = new Image(ServiceLocator.getResourceService().getAsset("images/Win-screen-2-transparent.png",
Texture.class));
table.add(winMessage).top();
table.row();
table.add(restartBtn).padTop(30f).size(200f, 80f);
table.row();
table.add(exitBtn).padTop(15f).size(200f, 80f);;
tablebackGround.add(background).size(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
stage.addActor(tablebackGround);
stage.addActor(table);
tablebackGround = new Table();
tablebackGround.setFillParent(true)
Image background = new Image(ServiceLocator.getResourceService().getAsset("images/ragnarok_background.png",
Texture.class))
table.add(playerDeadImage).size(350f,300f).padBottom(50f);
table.row();
table.add(gameOverText).size(500f,50f);
table.row();
table.add(restartBtn).padTop(30f).size(200f,80f).padTop(50f);
table.row();
table.add(exitBtn).padTop(30f).size(200f,80f);
tablebackGround.add(background).size(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
stage.addActor(tablebackGround);
stage.addActor(table);
}
private Image goldImage;
private Image coinCollectorImage;
private Label goldLabel;
coinCollectorImage = new Image(ServiceLocator.getResourceService().getAsset("images/coincollectortransparentvisual.png", Texture.class));
private final float coinSideLength = 200f;
private final float coinWidth = 60f;
private final float coinHeight = 60f;
entity.getComponent(InventoryComponent.class).setGold(0);
int gold = entity.getComponent(InventoryComponent.class).getGold();
CharSequence goldText = String.format("Gold: %d", gold);
goldLabel = new Label(goldText, skin, "large");
goldBoard = new Table();
goldBoard.top().left();
goldBoard.setFillParent(true);
goldBoard.padTop(20).padLeft(30);
goldBoard.add(goldLabel).padLeft(50);
stage.addActor(goldBoard);
Stack goldCount = new Stack();
coinCollectorImage.setSize(coinWidth, coinHeight);
goldCount.add(coinCollectorImage);
goldCount.add(goldBoard);
goldCount.setSize(coinWidth, coinHeight);
table.add(goldCount).size(coinWidth, coinHeight).padTop(30).padLeft(-775);
stage.addActor(table)
public void refreshDisplay() {
Stack goldCount = new Stack();
coinCollectorImage.setSize(coinWidth, coinHeight);
goldCount.add(coinCollectorImage);
goldCount.add(goldBoard);
goldCount.setSize(coinWidth, coinHeight);
table.reset();
table.top().left();
table.setFillParent(true);
table.padTop(30f).padLeft(5f);
table.add(heartImage).size(heartSideLength).pad(5);
table.add(armourImage).size(armourSideLength).padLeft(15);
table.add(goldCount).size(coinWidth, coinHeight).padTop(30).padLeft(-775);
- Original coin collector visual was revised in this sprint, as it was discovered that a high gold score (i.e. 100 gold or above), resulted in the number/text residing outside the border because the border was static (being a png file). The revised design now just has the coin visual, with the text residing just next to the visual so that the text does not look messy in combination with the coin collector visual.
- Original game over visual text on the game over screen was revised in this sprint, as it was discovered after changing the backgrounds of the win screen and the game over screen, the background did not contrast well with the game over visual text, as the background is black, and the visual text is also black. To resolve this, the visual text was changed from black to a shade of pink, which remains consistent with the overall pink and purple tones seen throughout the game, and is therefore consistent with the game theme.
The user testing plan is to undertake a final design walkthrough with participants to gain feedback and criticism on the final version of the video game, Ragnarok Racer. Ragnarok Racer was presented to the same 3 participants as the previous design walkthrough in sprint 3, as these participants are already familiar with the functionality of the game, pre-existing features, and what the game looked and functioned like in the previous sprint, which meant that these participants would be the most equipped to provide quality feedback and compare previous functionality to current functionality. Participants were asked to run through the game several times in order to identify bugs, as well as experiencing various outcomes of the game (win conditions and lose conditions).
Do the functions work as expected? If not, which functions do not? Where do you think design consistency has worked well or not worked well? Can you clearly see the results of your actions or events displayed on the screen? What aspects of the game can be improved? What system's responses can be improved? What is working well and what isn’t working well for you?
Participants reported that the tutorial screen is a good addition to the game, as in the previous sprint they did not know the controls, additionally, the screen for the storyline was also a good addition as it added depth to the video game and made it more engaging.
Animations of the player and enemies have drastically improved, they are much smoother compared to the third sprint however consistency with the theme of enemies would be an improvement to work on.
All screens are now consistent and feels more immersive now that the space background has been chosen for all backgrounds.
Could still have more dynamic movement, enemies are moving in the same direction at the same time, overlapping one another and sometimes the enemies are glitching or half showing up, this would be another improvement to make.
Dynamic background has also not been implemented, was a major piece of feedback from the previous sprint.