MovingBlocks / DestinationSol

Official continuation of Destination Sol, the great fun little arcade space shooter from http://sourceforge.net/projects/destinationsol/ Modules live at https://github.com/DestinationSol/
Apache License 2.0
326 stars 123 forks source link

New Tutorial #674

Closed BenjaminAmos closed 1 year ago

BenjaminAmos commented 1 year ago

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:

You can find the original concept here.

Testing

Outstanding Work

Notes

Cervator commented 1 year ago

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 commented 1 year ago

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.