Java 'medieval serilazation' project comes up with " '(' or '[' expected" bug on my return new player; statement

Please help I have no clue why it wont work
Exact error code: error: ‘(’ or ‘[’ expected
return new player;
Code in question:
import java.util.Scanner;
import java.util.Objects;
public class MedievalGame {

/* Instance Variables /
private Player player;
Main Method */
public static void main(String args) {

Scanner console = new Scanner(;
MedievalGame game = new MedievalGame();

game.player = game.start(console);

System.out.println("\nLet's take a quick look at you to make sure you're ready to head out the door.");

System.out.println("\nWell, you're off to a good start, let's get your game saved so we don't lose it.");;

System.out.println("We just saved your game...");
System.out.println("Now we are going to try to load your character to make sure the save worked...");

System.out.println("Deleting character...");
String charName = game.player.getName();
game.player = null;

game.player = game.load(charName, console);
System.out.println("Loading character...");

System.out.println("Now let's print out your character again to make sure everything loaded:");


} // End of main

/* Instance Methods */
private Player start(Scanner console) {
// Add start functionality here
Player player;
System.out.println(“Welcome to MMOTBRPGFUWJVM, traveller!”);
System.out.println(“Now would you like to start a new game or load an old one?”);
System.out.println(“Y for a saved game N for a new game”);
String answer =;
while (true) {
if (answer.equals(“y”)) {
System.out.print("\nAhh… I knew I remembered you, what was your name again? Let me see if I can find your backpack: “);
player = load(, console);
} else if (answer.equals(“n”)) {
System.out.print(”\nWell then, don’t be shy, go ahead an tell me your name: ");
String possibleName =;
while (true) {
System.out.println("Welcome " + possibleName + “, am I pronouncing that correctly? (Enter ‘y’ to confirm, ‘n’ to enter a new name”);
String nameResponse =;
if (Objects.equals(nameResponse, “y”)) break;
System.out.println(“So sorry, can you spell it for me again?”);
possibleName =;
player = new Player(possibleName);
} else {
System.out.print("Sorry adventurer, I only speak the common tongue, please enter ‘y’ to load a game or ‘n’ to start a new game: ");
answer =;
return new player;
} // End of start

private void save() {
// Add save functionality here
String fileName = player.getName() + “.svr”;
try {
FileOutputStream userSaveFile = new FileOutputStream(fileName);
ObjectOutputStream playerSaver = new ObjectOutputStream(userSaveFile);
} catch (IOException e) {
System.out.println(“Sorry we couldnt save your game properly, please try again”);
} // End of save

private Player load(String playerName, Scanner console) {
// Add load functionality here
Player loadedPlayer;
try {
FileInputStream userLoad = new FileInputStream(playerName + “.svr”);
ObjectInputStream userLoader = new ObjectInputStream(userLoad);
loadedPlayer = new Player(userLoader);
} catch (IOException | ClassNotFoundException e) {
System.out.println(“Sorry, your game couldnt be loaded: making new save file now”);
loadedPlayer = new Player(playerName);
return loadedPlayer;
} // End of load

// Adds a delay to the console so it seems like the computer is “thinking”
// or “responding” like a human, not instantly like a computer.
private void addDelay(int time) {
try {
} catch (InterruptedException e) {

your code is broken because sometimes you used the wrong quotation marks. I assume you copied these parts from the instructions (I also had this problem a few times).
I recommend pasting your code into a local code editor with better syntax highlighting. I used Visual Studio Code. Once you fixed this issue debugging should become a lot easier.

Regarding your return statement you should delete the “new” keyword since “player” is the Player instance you already created.

Hope I could help :slight_smile:

when I get rid of the new keyword I get 6 other errors all for “cannot find symbol” and as for the quotation marks I looked and it seems fine