Constructive criticism for batch game

October 17, 2017 at 12:15:33
Specs: Windows 10
I'm coding a batch game inspired by the indie game "The Stanley Parable". I'm trying to stay as faithful to the original game as possible while staying within the limitations of batch. I wanted to set up a save and load function into the game but I, unfortunately, couldn't seem to make it work with this kind of game. If anyone has any recommendations, improvements, etc. for me to hear, I'm keeping an ear open. Keep in mind that this game is by no means complete, which is why I'm posting this.

@echo off
title The Stanley Parable
color 0f
:menu
cls
echo.
echo Welcome to The Stanley Parable (Batch Remix)!
echo This is an adaptation of the stand-alone game
echo known as The Stanley Parable. I claim no
echo copyright or ownership of the ideas, characters,
echo story, etc. involved in this game. I only take
echo credit for adapting it into this text-based
echo batch file game. Enjoy!
echo.
echo 1. Begin the game
echo 2. Options
echo 3. Credits
echo 4. Quit
echo.
set choice=
set /p choice=What would you like to do?
if '%choice%'=='1' goto 1
if '%choice%'=='2' goto options
if '%choice%'=='3' goto credits
if '%choice%'=='4' exit
:options
cls
echo.
echo 1. Change background color
echo 2. Go back to menu
echo.
set choice=
set /p choice=What would you like to do?
if '%choice%'=='1' goto coloroptions
if '%choice%'=='2' goto menu
:coloroptions
cls
echo.
echo What color would you like the background
echo to be?
echo.
echo 1. Blue
echo 2. Green
echo 3. Aqua
echo 4. Red
echo 5. Purple
echo 6. Yellow
echo 7. White
echo 8. Grey
echo 9. Light blue
echo A. Light green
echo B. Light aqua
echo C. Light red
echo D. Light purple
echo E. Light yellow
echo.
set choice=
set /p choice=What color?
if '%choice%'=='1' color 1f
if '%choice%'=='2' color 2f
if '%choice%'=='3' color 3f
if '%choice%'=='4' color 4f
if '%choice%'=='5' color 5f
if '%choice%'=='6' color 6f
if '%choice%'=='7' color 7f
if '%choice%'=='8' color 8f
if '%choice%'=='9' color 9f
if '%choice%'=='a' color af
if '%choice%'=='b' color bf
if '%choice%'=='c' color cf
if '%choice%'=='d' color df
if '%choice%'=='e' color ef
goto options
:pause
echo.
echo 1. Begin the game again
echo 2. Options
echo 3. Quit to menu
echo.
set choice=
set /p choice=What would you like to do?
if '%choice%'=='1' goto 1
if '%choice%'=='2' goto options
if '%choice%'=='3' goto menu
:wrong
echo.
echo Wrong pass key.
echo.
set choice=
set /p choice=
if '%choice%'=='2845' goto 11
if not '%choice%'=='2845' goto wrong
:1
cls
echo.
echo This is the story of a man named Stanley.
echo.
echo Stanley worked for a company in a big building
echo where he was Employee 427. Employee 427's job
echo was simple: he sat at his desk in room 427 and
echo he pushed buttons on a keyboard.
echo.
echo Orders came to him through a monitor on his desk,
echo telling him what buttons to push, how long to
echo push them, and in what order.
echo This is what Employee 427 did every day of every
echo month of every year, and although others might
echo have considered it soul rending, Stanley relished
echo every moment that the orders came in, as though
echo he had been made exactly for this job.
echo And Stanley was happy.
echo.
echo And then one day, something very peculiar happened.
echo Something that would forever change Stanley;
echo something he would never quite forget.
echo He had been at his desk for nearly an hour when he
echo realized that not one single order had arrived on
echo the monitor for him to follow.
echo No one had shown up to give him instructions, call
echo a meeting, or even say 'hi.' Never in all his years
echo at the company had this happened, this complete
echo isolation.
echo.
echo Something was very clearly wrong. Shocked, frozen
echo solid, Stanley found himself unable to move for the
echo longest time. But as he came to his wits and
echo regained his senses, he got up from his desk and
echo stepped out of his office.
echo.
echo 1. Step out of your office
echo 2. Close your office door
echo.
set choice=
set /p choice=What would you like to do?
if '%choice%'=='Pause' goto pause
if '%choice%'=='1' goto 2
if '%choice%'=='2' goto dontmakemechooseending
:2
cls
echo.
echo All of his co-workers were gone. What could it mean?
echo Stanley decided to go to the meeting room; perhaps
echo he had simply missed a memo.
echo.
echo 1. Keep walking
echo 2. Go back to your office and close the door
set choice=
set /p choice=What would you like to do?
if '%choice%'=='Pause' goto pause
if '%choice%'=='1' goto 3
if '%choice%'=='2' goto dontmakemechooseending
:3
cls
echo.
echo When Stanley came to a set of two open doors, he
echo entered the door on his left.
echo.
echo 1. Left
echo 2. Right
echo.
set choice=
set /p choice=Which door do you go through?
if '%choice%'=='Pause' goto pause
if '%choice%'=='1' goto 4
if '%choice%'=='2' goto 5
:4
cls
echo.
echo Yet there was not a single person here either.
echo Feeling a wave of disbelief, Stanley decided to go
echo up to his boss's office, hoping he might find an
echo answer there.
echo.
echo 1. Walk to the stairwell
echo 2. Stay in the meeting room
echo.
set choice=
set /p choice=What would you like to do?
if '%choice%'=='Pause' goto pause
if '%choice%'=='1' goto 6
if '%choice%'=='2' goto 7
if '%choice%'=='3' goto 8
:5
cls
echo.
:6
cls
echo.
echo Coming to a staircase, Stanley walked upstairs to
echo his boss's office.
echo.
echo 1. Upstairs
echo 2. Downstairs
echo.
set choice=
set /p choice=Which way do you go?
if '%choice%'=='1' goto 9
if '%choice%'=='2' goto 10
:7
cls
echo.
:8
cls
echo.
:9
cls
echo.
echo Stepping into his manager's office, Stanley was once
echo again stunned to discover not an indication of any
echo human life.
echo Shocked, unraveled, Stanley wondered in disbelief
echo who orchestrated this, what dark secret was being
echo held from him!
echo.
echo What he could not have known was that the keypad
echo behind the boss's desk guarded the terrible truth that
echo his boss had been keeping from him, and so the boss
echo had assigned it an extra secret pin number: 2-8-4-5.
echo But, of course, Stanley couldn't possibly have known
echo this.
echo.
set choice=
set /p choice=
if '%choice%'=='2845' goto 11
if not '%choice%'=='2845' goto wrong
:10
cls
echo.
:11
cls
echo.
echo Yet incredibly, by simply pushing random buttons on
echo the keypad, Stanley happened to input the correct
echo code by sheer luck. Amazing.
echo.
echo He stepped into the newly opened passageway.
echo.
echo Descending deeper into the building, Stanley realized
echo he felt a bit peculiar. It was a stirring of emotion
echo in his chest, as though he felt more free to think for
echo himself, to question the nature of his job.
echo Why did he feel this now, when for years it had never
echo occured to him?
echo.
echo This question would not go unanswered for long.
echo.
echo Stanley walked straight ahead through the large door
echo that read: 'Mind Control Facility.'
echo.
echo 1. 'Mind Control Facility' door
echo 2. 'Escape' door
echo.
set choice=
set /p choice=Which door do you go through?
if '%choice%'=='1' goto 12
if '%choice%'=='2' goto 13
:12
cls
echo.
echo The lights rose on an enormous room packed with
echo television screens.
echo What horrible secret did this place hold, Stanley
echo though to himself. Did he have the strength to find
echo out?
echo.
echo Now the monitors jumped to life, their true nature
echo revealed.
echo Each bore the number of an employee in the building,
echo Stanley's co-workers.
echo The lives of so many individuals reduced to images
echo on a screen, and Stanley one of them, eternally
echo monitored in this place where freedom meant nothing.
echo.
echo This mind control facility... it was too horrible to
echo believe; it couldn't be true.
echo Had Stanley really been under someone's control all
echo this time? Was this the only reason he was happy with
echo his boring job?
echo That his emotions had been manipulated to accept it
echo blindly?
echo.
echo No! He refused to believe it. He couldn't accept it,
echo his own life in someone else's control? Never!
echo It was unthinkable, wasn't it? Was it even possible?
echo Had he truly spent his entire life utterly blind to
echo the world?
echo.
echo But here was the proof. The heart of the operation,
echo controls labeled with emotions:'happy' or 'sad' or
echo 'content.'
echo Walking, eating, working... all of it monitored and
echo commanded from this very place.
echo And as the cold reality of his past began to sink in,
echo Stanley decided that this machinery would never again
echo exert its terrible power over another human life.
echo For he would dismantle the controls once and for all.
echo.
echo 1. Off
echo 2. On
echo.
set choice=
set /p choice=What button do you press?
if '%choice%'=='1' goto freedomending
if '%choice%'=='2' goto 13
:13
cls
echo.
:dontmakemechooseending
cls
echo.
echo But Stanley simply couldn't handle the pressure.
echo What if he had to make a decision? What if a
echo crucial outcome fell under his responsibility? He
echo had never been trained for that! No, this couldn't
echo go any way except badly.
echo.
echo The thing to do now, Stanley thought to himself, is
echo to wait. Nothing will hurt me. Nothing will break
echo me. In here, I can be happy, forever. I will be
echo happy.
echo.
echo Stanley waited. Hours passed. Then days. Had years
echo gone by? He no longer had the ability to tell.
echo But the one thing he knew, for sure, beyond any
echo doubt, was that if he waited long enough, the
echo answers would come. Eventually, some day, they
echo would arrive. Soon, very soon now, this will end.
echo He will be spoken to. He will be told what to do.
echo Now it's just a little bit closer. Now it's even
echo closer. Here it comes...
echo.
pause
goto menu
:freedomending
cls
echo.
echo Blackness... and a rising chill of uncertainty...
echo Was it over?
echo.
echo Yes! He had won.
echo He had defeated the machine, unshackled himself from
echo someone else's command. Freedom was mere moments away.
echo And, yet, even as the immense door slowly opened,
echo Stanley reflected on how many puzzles still lay
echo unsolved.
echo.
echo Where had his co-workers gone? How had he been freed
echo from the machine's grasp? What other mysteries did
echo this strange building hold?
echo.
echo But as sunlight streamed into the chamber, he realized
echo none of this mattered to him. For it was not knowledge,
echo or even power, that he had been seeking, but happiness.
echo Perhaps his goal had not been to understand, but to let
echo go.
echo.
echo No longer would anyone tell him where to go, what
echo to do, or how to feel. Whatever life he lives, it will
echo be his.
echo And that was all he needed to know. It was, perhaps,
echo the only thing worth knowing.
echo.
echo Stanley stepped through the open door.
echo.
echo Stanley felt the cool breeze upon his skin, the feeling
echo of liberation, the immense possibility of the new path
echo before him.
echo This was exactly the way, right now, that things were
echo meant to happen.
echo.
echo And Stanley was happy.
echo.
pause
goto menu

message edited by kmiester555


See More: Constructive criticism for batch game

Reply ↓  Report •

#1
October 17, 2017 at 12:32:32
I also wanted to have a neat option where you could change the background color and then, with that same background, go back to the options and individually change the text color, keeping the background color the same as what you had previously changed it to, or vice versa. If anyone has any advice on this, let me know!

message edited by kmiester555


Reply ↓  Report •
Related Solutions


Ask Question