Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Tutorial #674

Merged
merged 18 commits into from
Mar 31, 2023
Merged

Conversation

BenjaminAmos
Copy link
Contributor

@BenjaminAmos BenjaminAmos commented Feb 19, 2023

Description

This pull request updates the existing tutorial with new content. It completely replaces the previous tutorial code with a more structured approach. It is not currently expandable at runtime but has been designed to make this easier in the future.

The new tutorial covers:

  • Movement and Attack Controls
  • Map Controls
  • Waypoints
  • Shops
  • Repair Kits
  • Mercenaries

You can find the original concept here.

Testing

  • Start the game and select Tutorial from the main menu.
  • Follow each of the instructions in the tutorial, ensuring that they complete as expected.

Outstanding Work

  • Review tutorial text for clarity and conciseness
  • Add additional visualisations to assist with learning ship controls
  • Adjust enemy encounter difficulty
  • Explain the structure of the map better?
  • Explain Shields and Armour
  • Discuss factions briefly (maybe mentioning the Z shortcut)
  • Use a different key to advance then the shoot key? Tap/Click on the text box to continue? Enter?
  • Remove the old TutorialManager class
  • JavaDoc and comments

Notes

  • There's likely more than could be included here, although the tutorial must not become too long.
  • Explanation of some gameplay mechanics may eventually be more suited to an emergent hint-based system, although no such system exists in the game at present.

@Cervator
Copy link
Member

I actually had a chance to try this out and that is nice ! Probably even moreso from this being the first time in ages I've managed to run the game and see various new stuff like UI improvements :-)

Could get through the tutorial quite well, and the waypoint + tagging a convenient nearby asteroid with one in particular seemed impressive. Although I set a waypoint some distance away then when I flew there had enemies trying to get in the way of trying the step of shooting an asteroid. I wonder if it would make sense to have an earlier step before leaving the station that tags one of the nearby newbie enemies just so you can get through that part first?

When I got to the point of opening my inventory and to "select an equipped weapon" no less than 4 inventory items highlighted, the three actual equipped things (blaster, shield, armor) as well as a Pirate Plasma Gun I picked up.

I might have missed a spot on what to do to start a section, maybe the section headers should have a "Press [something] to continue" ?

For "All ships are equipped with up to two weapon mounts" maybe "Ships may be equipped with up to two weapon mounts" sounds better?

By the time section 7 started on shops the game crashed :-) I had ended up on a planet.

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
	at java.base/java.util.Objects.checkIndex(Objects.java:372)
	at java.base/java.util.ArrayList.get(ArrayList.java:458)
	at org.destinationsol.game.tutorial.steps.FlyToNearestStationStep.start(FlyToNearestStationStep.java:45)
	at org.destinationsol.game.tutorial.NewTutorialManager.update(NewTutorialManager.java:217)

On a related note I got Jenkins up and running to build PRs again but it fails on this one with what may be a legit issue - the develop branch is OK! I've really lost track of where everything Gestalt, DI, etc is at these days.

Thank you for keeping this alive! This was the first thing I cloned and tested in ages !

@BenjaminAmos BenjaminAmos marked this pull request as ready for review March 12, 2023 18:56
@BenjaminAmos
Copy link
Contributor Author

I think this is ready now.

I have not included everything I planned, as I felt that the tutorial should only cover the basics and the rest could be explored by the player. It could possibly be shortened some more even. It's in a playable stable for Keyboard, Keyboard+Mouse and Controller inputs. Android should work as well but it's not been tested as much.

@BenjaminAmos BenjaminAmos merged commit 0f6926b into MovingBlocks:develop Mar 31, 2023
@BenjaminAmos BenjaminAmos deleted the tutorial-rework branch March 31, 2023 17:24
@BenjaminAmos BenjaminAmos linked an issue Jan 3, 2025 that may be closed by this pull request
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Improve in-game tutorial
2 participants