Skip to content

GabrielBaiano/VOSTOK_OS_TERMINAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dystopian Terminal Interactive with AI

https://vostok-os-terminal.vercel.app/

About The Project

This project is an interactive terminal simulation with a dystopian Russian theme, where the user can interact with a fictional operating system (VOSTOK_OS) and converse with an integrated artificial intelligence (VOSTOK_AI).

The user interface and experience are designed to evoke the aesthetics of old computer terminals and cyberpunk/dystopian narratives.

Development with Artificial Intelligence

A key feature of this project is the extensive use of Artificial Intelligence during its development:

  • AI Dialogues and Content: A significant portion of VOSTOK_AI's dialogues, as well as the content of the "system files" (like news.feed, manifest.dat, etc.), were generated with the assistance of AI language models. This allowed for the creation of a vast and thematic range of responses and texts that enrich the immersion.
  • Interactions and Logic: The AI interaction logic, including the simulation of "mood" and "suspicion level," was conceived and refined with AI suggestions and insights.
  • Code Refactoring: The final project was refactored and optimized with the aid of AI tools, aiming to improve code structure, readability, and the efficiency of some JavaScript functions.

This project serves as an example of how AI can be a powerful collaborative tool in creative and narrative software development.

Aesthetic and Artistic Inspiration

The visual and thematic identity of this project draws from several key inspirations:

  • Dystopian Russian Aesthetic: The narrative elements, such as the VOSTOK_OS, references to a "Central Committee," and the general atmosphere of control and surveillance, are influenced by classic dystopian tropes, with a subtle nod to a retro-Soviet or Cold War-era technological feel. This is meant to create a sense of a technologically advanced but oppressive society.
  • Customized Linux Terminals: The core interface—a draggable, text-based terminal—is directly inspired by the highly customized terminal emulators popular in Linux communities (like those using i3wm, gruvbox themes, etc., as seen in the inspirational image provided). This includes:
    • Monospaced fonts (VT323).
    • A dark color scheme with vibrant green text.
    • A focus on command-line interaction.
    • Minimalist UI elements.
  • Cyberpunk & Retrofuturism: The project incorporates elements of cyberpunk, such as the direct human-AI interaction, the presence of a powerful, somewhat enigmatic AI, and the backdrop of a technologically saturated, controlled environment. The "scanlines" effect and the overall feel also touch upon retrofuturistic aesthetics, imagining a future as envisioned from a past technological era.

The goal was to create an immersive experience that feels both familiar to users of command-line interfaces and evocative of specific fictional worlds.

Technical Competencies Demonstrated

This project, while primarily a front-end application, showcases several web development skills:

  • HTML5: Semantic structuring of the terminal interface and page layout.
  • CSS3 & Tailwind CSS:
    • Styling of all visual elements, including the terminal window, text, and background effects.
    • Use of Tailwind CSS for rapid UI development and utility classes.
    • Custom CSS for specific aesthetic effects like scanlines, terminal glow, and font choices.
    • Responsive design considerations for the terminal window.
  • JavaScript (ES6+):
    • DOM Manipulation: Dynamically creating and updating the terminal content (command outputs, AI responses).
    • Event Handling: Managing user input (keyboard events for commands), mouse events for dragging the terminal window, and clicks.
    • Core Application Logic:
      • Parsing user commands and arguments.
      • Implementing the functionality for each terminal command (ls, cat, help, chat, etc.).
      • Simulating a file system through JavaScript objects.
    • AI Simulation Logic:
      • Developing the getAiResponse function with a complex set of rules, keyword matching, and varied, context-sensitive (simulated) responses.
      • Implementing basic state management for the AI (e.g., suspicionLevel, mood, lastTopic) to create more dynamic conversations.
      • Using setTimeout to simulate AI "thinking" delays.
    • String Manipulation and Regular Expressions: For parsing commands and matching keywords in AI interactions.
    • Object-Oriented Principles (Basic): Using objects to store site data (siteData) and AI state (aiState).
  • UI/UX Design (Basic):
    • Creating an intuitive command-line interface.
    • Designing the draggable window functionality for user convenience.
    • Ensuring readability and a consistent thematic experience.

How to Use

  1. Download/Clone:

    • Download the project files or clone the repository:
      git clone [https://github.com/GabrielBaiano/VOSTOK_OS_TERMINAL.git)
  2. Open the Main File:

    • Navigate to the project folder.
    • Open the index.html file (or whatever you named the main HTML file) in any modern web browser (Chrome, Firefox, Edge, Safari).
  3. Interacting with the Terminal:

    • The main interface is a floating terminal window. You can click on its title bar and drag it around the screen.
    • At the bottom of the terminal, there's an input field preceded by operative@vostok_mainframe:~$. This is where you type commands.
    • Press Enter to execute a command.
  4. Available Commands (Terminal Mode):

    • help: Shows the list of available commands.
    • ls (or dir): Lists the fictional system "files" and "directories."
    • cat <filename>: Displays the content of a file (e.g., cat news.feed, cat readme.txt).
    • echo <text>: Prints the text you type.
    • date: Shows the "system" date and time.
    • clear (or cls): Clears the terminal screen.
    • banner (or motd): Displays the welcome message.
    • whoami: Shows fictional information about the current user.
    • chat: Initiates a chat session with VOSTOK_AI.
  5. Chatting with VOSTOK_AI (Chat Mode):

    • Type chat in terminal mode to start.
    • The prompt will change to chat_operative@vostok_mainframe:~$.
    • Type your messages to the AI and press Enter.
    • VOSTOK_AI will respond based on its programming and current "state" (mood, suspicion level).
    • To exit chat mode and return to terminal commands, type exit or quit.

Project Structure

  • index.html: Main file containing the HTML structure of the terminal.
  • CSS Styles: Integrated into the <head> of the HTML (using Tailwind CSS and custom styles) for the appearance of the terminal and page.
  • JavaScript: Integrated at the end of the <body> of the HTML, responsible for:
    • Drag-and-drop functionality for the terminal window.
    • Processing terminal commands.
    • VOSTOK_AI interaction logic and responses.
    • Manipulating content displayed in the terminal.

Contributing

Contributions are welcome! If you have ideas for new commands, AI responses, interface improvements, or bug fixes, feel free to open an Issue or submit a Pull Request.

License

This project is distributed under the MIT License. See the LICENSE file for more details (you can add a LICENSE.md file if you wish).

About

Dystopian Terminal Interactive with AI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors