"no longer alone" is a Battleship-inspired game.
Instead of the sea, the battle takes place in space.
The player has limited time and energy/shots to defeat the enemy... and the ships move!
VERSION: As of 2021-05-11, the game is in Beta 2.1 "Happy Admiral and Heroes" edition.
- The purpose of this game is to demonstrate core competencies with plain HTML5, CSS3, and JavaScript/ES6.
- It was a deliberate choice to avoid frameworks, libraries, and most tools.
- This allowed me to show DOM manipulation and other things that React handles for you.
- Even web components were avoided, even though they are valid as core JS (because I would have used React or Angular!)
This game is entirely web-based, just click the link and play!
https://nolongeralone.netlify.app
- Click the link under installation
- Save the earth by clicking a grid quickly and accurately
- Lament that you failed to save the Earth
- Many of the nicer graphical effects are simplified or non-existent on mobile.
- Sometimes sounds are delayed on mobile because of inability to preload or buffer.
- In brief, while mobile is okay... desktop is a very nice experience.
- Improvements to the non-English languages are welcome and open!
- Because this is a personal tech demo, tech contributions are not open right now.
- If this game becomes unexpectedly popular, tech contributions may open.
Game Concept, Programmer, and CSS Animations: Paul J Stales
Graphic Design, Music, and Sound Effects: R.J. Vince
Testing: Cameron Candelori, Kamil Nuzha, Samuel Soto
Localization: Aleksey Gorshenin (Russian), Logan B and Samuel Soto (Spanish), "Shadow" (Portuguese), Kamil Nuzha (Arabic)
Paul J Stales Twitter: https://twitter.com/pauljstales
R.J. Vince Homepage: https://rjvince.com
R.J. Vince Instagram: https://instagram.com/by_rjvince
- Why didn't you use Phaser, React, framework, or library? I wanted to demonstrate core HTML5, CSS3, and JavaScript/ES6 skills. I will definitely use more frameworks, libraries, etc. in future games.
- Why didn't you use Canvas? Canvas is HTML5, but I wanted to demonstrate an understanding of DOM manipulation. I will definitely use canvas in future games.
- Why didn't you use Web Components? I would have used React or Angular if I was going to use components!
- Are you using BEM? Somewhat, the blocks, elements belonging to blocks, the modifiers, the naming…
- Why not a library for the internationalization? Similar to #1, I wanted to demonstrate the core technology free of libraries.
- Why are you using constants, but still have hard-coded strings? I wanted to use constants to refer to the same things via constant in the JS, but without templates, libraries, etc. it would be quite difficult to have a single, central “source” of constants.
- Why Battleship? I have always felt it is a very boring game that could be so much better with some adjustments… and here are some of those adjustments.
- Why is everything inside index.html? It was not, at first, until I discovered iOS blocks just about every form of audio audioplay possible. Without frameworks and libraries, this was the best solution.
- How did you get the idea for the game? I was thinking about battleship and space. What is most terrifying about space? Discovering that we are "no longer alone" with hostile aliens. That's the gameplay, setting, and title - shoot alien ships in space, after realizing we are no longer alone.
- What is that alien language on the loss screen? A Ceaser cipher, the letters (in the English language) are shifted by 7. You can play around with it here! http://practicalcryptography.com/ciphers/caesar-cipher/. Also note the squad names are the same Ceaser cipher.
[GNU]GNU General Public License v3.0