Looks good some things you should look at. Try using choice instead of user input. The benefit to choice is the user can't select anything but valid responses.
Since you have user input selected, it's much easier to have the user press 1,2,3,or 4 rather than typing out Rusiaa. One other thing since your asking for typed input, you can tell if to ignore the case so you don't have to do the same.
Code
set /p country=Choose your country; USA, Germany, Russia, or Canada:
if '%country%'=='usa' goto enemy1
if '%country%'=='USA' goto enemy1
if '%country%'=='Usa' goto enemy1
if '%country%'=='Russia' goto enemy2
if '%country%'=='russia' goto enemy2
if '%country%'=='canada' goto enemy3
if '%country%'=='Canada' goto enemy3
if '%country%'=='Germany' goto enemy4
if '%country%'=='germany' goto enemy4
can be shortend to
Code
set /p country=Choose your country; USA, Germany, Russia, or Canada:
if /i '%country%'=='usa' goto enemy1
if /i '%country%'=='russia' goto enemy2
if /i '%country%'=='canada' goto enemy3
if /i '%country%'=='germany' goto enemy4
since I brought up choice I'll give you an example. Notice that the %errorlevel% refers to the user's selection so selecting the first item is errorlevel 1.
/C give the list of valid selections, /N says don't display valid selections /M is the message you want to display.
Code
@echo off
echo Type '1' Singleplayer
echo Type '2' two player
echo Type '3' changelog
echo.
choice /c 123 /N /M "Make a selection"
if %errorlevel%==1 echo Singleplayer selected
if %errorlevel%==2 echo Two Player selected
if %errorlevel%==3 echo Changelog selected
pause
fun fact: if you want a yes or no you can leave choice as default. Y or N is the default choices
Code
echo Continue?
choice
if %errorlevel%==1 echo you chose yes
if %errorlevel%==2 echo you chose no
One more thing. Avoid using ping localhost to add delay into your script. Use timeout instead. The benefit here is your not requesting the computer do stuff that is completely unrelated to what you are trying to accomplish. Also, it can be skipped by the user or not depending on the switch you use.
example:
Code
title Loading ...
cls
echo.
echo loading Noobmode ...
timeout 1 /nobreak >nul
echo Noobmode loaded
timeout 1 >nul
goto gameplay
One last thing, though it is a bit advanced, you should look into using functions. In this case you have a long list of commands executed one after the other. The right way to do it in batch as well as any programming/scripting language is to create callable functions to do the work. This way the main loop is short but calls more advanced things to happen.
see below for a short example to wet your appetite.
Code
@echo off
call :hello
pause
exit
:hello
echo Hello World!
rem exit /b returns to where the function was called from.
exit /b
to make it a little more advanced you can add arguments to your functions.
Code
@echo off
set /p word=set the second word:
rem the word after the call is an argument.
call :hello %word%
pause
exit
rem the <word2> isn't necessary but it helps to show you that there is an argument for this.
:hello <word2>
rem %1 refers to the first argument.
set a=%1
echo hello %a%
exit /b