
Build simple games with text, audio, and video across eight sections of varying complexity. Progress from beginner to intermediate by developing custom systems, while resting and practicing between sections.
Visit winery, download the appropriate macOS dmg or Windows installer, and complete the standard installation; Twine 2 becomes available locally on your machine.
Install four browsers — Opera GX, Chrome, Edge, or Brave — and install the Nuff Tabs extension to keep a single tab open while testing Twine games, preventing tab chaos.
Open twine, create a story called tale one, and use the passage as the container for text, images, video, GIF, or audio; rename it initial and test in the browser.
Learn basic text stylization in Twine 2, applying bold, italic, emboss, blur, shadow, glow, and smear, plus movement effects like fade, rumble, and sway. See the final render and code.
Learn how the '()[]' principle in Twine 2 uses containers with parentheses and brackets to modify text style, alignment, and game logic, including stacking macros to track endings.
Use the size button to show passage importance with different shapes, and tag passages with colors and labels to mark pivotal choices or debugging needs, unlocking specific twine functions.
Master linking passages in Twine with square brackets to move between rooms, test navigation with the debug window, and customize link labels such as continue to organize content across passages.
Learn to apply global styles in the CSS section by pasting prepared code to set fonts, alignment, and link colors, and consider disabling the back arrow for gameplay.
Learn how the JavaScript section enables installing extra features for Twine, adding interactive music, sound effects, and keyboard input to control the game through libraries and joypad support.
Master the advanced link macro in Twine 2 Harlowe to create flexible buttons that go to a destination and trigger actions, save and change variables, disable buttons, and show content.
Learn how Twine reads code left to right and top to bottom, manages room flow with room one, two, and three, uses goto, and how code placed before leaving runs.
Learn the difference between global and local variables in Twine: global vars persist with the dollar, while local vars vanish after leaving a passage, reducing clutter.
Explore macro variants in Twine 2, focusing on the link go to variant to navigate passages, save code space, and memorize common patterns while testing that it works.
Learn to create and manage variables in Twine 2 using the set macro, making data persistent across passages with numbers, strings, and booleans such as money.
Learn to set variables in Twine 2 with random ranges and the either option, using random: to define a range (0 to 1000) or pick a value from a list.
Explore the put variant of set in Twine Harlowe, showing that put is the reverse of set; define the value first, then the destination, as in put happy into money.
Learn how to use the event macro in Twine 2 to trigger actions automatically when conditions are met, enabling fast, automatic transitions without overusing it.
Define money with a random value and set status using an if condition inside the set macro. Use multiple cond cases to classify as rich, intermediate, or broke.
Explore hooks in Twine 2 with Harlowe to dynamically hide or reveal text and rerun code, using mini paragraphs as containers that can be shown, hidden, or replaced.
Learn to use the show macro in Twine to name a hook with a question mark and toggle its visibility with delays, exploring ways to show or hide a hook.
Explore code containers in Twine 2 hooks, hiding code by default and triggering events only when opened, with live updates to the money variable as a practical example.
Use the replace macro to dynamically overwrite hook content in Twine 2, enabling dynamic dialogues and games, while cautioning to manage live functions so they stop properly.
Demonstrates how to add a rerun button in Twine 2 (Harlowe) that calls a rerun macro on a target hook to reexecute code and update the shown value.
Master dynamic hook management in Twine 2 by using the hooks macro to target one of several hooks and hide the selected one with a single, reusable approach.
Learn to use data packets in a data map to set money as 1 or 1000, mapping to broke or rich, and ensure all values are handled to avoid errors.
Learn how arrays provide flexibility by packing multiple data types in one box, access and assign the second value, and unpack arrays into variables with the unpack macro for games.
Bind real-time values with the input macro to update a variable as you type. Use the meter macro to render a live health bar with color and alignment.
Use visits and history in Twine 2 to trigger a secret passage after three visits, then detect secret room one to reveal a hidden phrase.
Optimize spacing in twine by applying collapse at the passage top to minimize space, preserve line breaks with HTML line breaks, and use partial collapse or reverse slash for formatting.
Learn how to change the color of text in your Twine 2 story, exploring basic coding approaches and personalizations to customize text in your game.
Learn to implement dynamic styles in Twine 2 by using variables and hooks to update text properties (size, color, opacity) in real time with live events.
Learn to adjust text size, color, and opacity in Twine 2, scale sizes from 1 to 3x, reduce opacity to 0.25, and combine effects for layered text styles.
Reveal hidden text by applying a hover style that changes color from transparent to white when the cursor passes over it, teaching practical hover interactions in Twine 2.
Learn how to render raw text in Twine 2 using the verbatim tag to include quotes and disable any styling, showing text exactly as written.
Apply transitions in Twine 2 to animate the word hello with shutter effects and control speed using transition time values in seconds.
Install the audio entwine library by copying the chapter's text file into story JavaScript and the style sheet, then test a passage to confirm proper installation.
Create an audio definitions passage named hole dot tracks to map absolute audio file paths in Twine, define tracks by name, and enable using sounds like click one.
discover how to integrate sounds in twine by using the track column macro and the play when possible option, ensuring audio plays after the first user click.
Create interactive links to control sound in Twine: a play link that starts music one and a stop link that halts it, demonstrating interconnected audio controls inside links.
Learn to retrigger sounds in Twine 2 with Harlowe by making a link repeatable, stopping any playing track, and restarting from the beginning on each click.
Learn to implement looping audio in Twine 2 Harlowe by enabling a track's loop property so it restarts automatically and plays infinitely until stopped.
Learn to create seamless audio loops in Twine 2 using a custom live loop, set track duration, retrigger timing, and stop controls with a temporary variable to eliminate gaps.
Learn how to prevent audio glitches in Twine 2 games by applying fade in and fade out volume automation, using practical timings like 0.3 seconds for smooth ramps.
Change the track volume without stopping by using fade two, specifying the duration and target value, such as fading from 0 to 0.5 in 1 second to get quieter.
Learn to use crossfades in Twine 2 by creating two versions of the same track, normal and underwater, and crossfading between them to reflect danger while keeping them synchronized.
Define playlists or groups in Twine 2, as background music, arrange sounds in sequence or parallel, then trigger playback and restart from the beginning for an immersive audio experience.
Enable shuffle mode with the playlist to rearrange tracks into a random order. Use the retrigger to play a track on each press and finish when all tracks have played.
Configure a shuffled retriggered playlist to play one random footstep sound at a time by inserting a stop and a JavaScript line, then trigger on button press.
Use groups to play sounds at once in Twine Harlowe. Create a group named victory, list sounds like click and door, and control it with mute, pause, stop, and loop.
Explore the seek command in Twine 2 to start audio at a chosen point, convert random milliseconds to seconds, and create glitchy musical moments.
Use real-time monitoring to trigger custom events based on whether a track is playing or not in Twine 2 Harlowe, with an option to handle muted tracks.
Master audio provides a global stop all for all tracks, acting as a panic button. Target the playing group to stop only currently playing tracks, offering precise global control.
Publish a Twine 2 game with dual audio formats for every file, providing mp3 and ogg (ogg vorbis) for online use and a second ogg version for browser compatibility.
Preloading keeps online audio ready to avoid silence when many tracks load. Use a loading screen to preload 50–60% of tracks, and preload default tracks with master audio preload.
Hide the bar by creating a passage named all config and setting show control to false. Set side bar start closed true, volume display false, preload true, mute on blur.
Learn to integrate images in Twine 2 using raw HTML, paste code in a passage, set the image path, and resize with width to preserve aspect ratio and centering.
Reposition images in Twine with Harlowe methods, controlling vertical offset via line breaks or horizontal spacing with two-column layouts, and using HTML-like code and macros for opacity.
Use css to reposition a game layer by placing the image in a hook named image one, then adjust top and left values.
Learn absolute repositioning in Twine 2 Harlowe, converting pixel values to percentages and fixing a precise screen point so images stay in place across devices.
learn to integrate video in twine 2 by using the correct path, triggering after a first input, and resizing the container with width and height to avoid stretching.
Synchronize video and audio in Twine by using audio as a separate track, triggering video and audio together with a shared hook and track macro for perfect sync.
Learn how to switch images and videos in real time by building a reactive system that retargets media and replaces content when a target variable changes.
Install mousetrap to enable keyboard input in Twine 2, then create a jump hook and a repeat link, increment a jumps counter, and bind the enter key via JavaScript.
Prevent key repeats in Twine 2 by switching key down to key up and using a jump release with a link repeat.
Master Twine 2 Harlowe keybinds by using the keybinds hook with CSS to hide links, blocking scroll with overflow hidden, and employing cycling links and link repeats for multi-key combos.
Discover how to implement gamepad support with the spring library in your Twine 2 games. Copy the library into JavaScript to track button states, analog axes, triggers, and vibration intensity.
Test and map gamepad inputs in Twine 2 with Harlowe, installing drivers and calibrating the controller; map button A (index zero) to a jump hook for down and up events.
Test six pre-generated gamepad variables created by JavaScript, including the left stick (x2, y) and right stick, plus left and right triggers, updating from 0 to 1 in real time.
Learn to control gamepad vibration by toggling a pre-generated variable to 1 or 0, producing a 200-millisecond impulse. Trigger rhythmic vibrations with macros and buttons to react in dangerous environments.
Learn to control gamepad haptic feedback in twine by adjusting two preset vibration levels—weak and strong—from 0 to 1, enabling dynamic, expressive vibrations on press and release.
Maximize numeric control in Twine 2 using rounding, abs, and sign checks. Clamp values to a range and manage decimals with floor-based scaling, then use a seed for consistent randomness.
Create header and footer passages to automate repetitive code across all passages in Twine. Place code in header to update money and in footer to display the new value.
Learn to set initial game conditions in Twine 2 Harlowe by creating a startup passage that runs at launch, set energy to 100, and enable debugging from any passage.
Bypass code in a Twine passage using the ignore macro, so the passage runs without that code; add notes in passages to explain x, y, and z.
Utilize the spreader to convert an array into individual values, print a random letter, and leverage the nth macro with a controllable index to place specific letters precisely.
Learn to use Twine 2's for loop (Harlowe) to process each array value, create a temporary array, print each value, and divide values by two before restoring.
Test new ideas in a sandbox Twine project to avoid CSS or JavaScript conflicts. Copy working code into the main passages after testing.
Learn to maximize conditions in Twine 2 with Harlowe by building intricate if statements with multiple checks, using or logic, and contains for strings and arrays to trigger outcomes.
Learn how to convert numbers to strings and strings to numbers using str and num macros, with demonstrations of timing and math-ready values.
Learn how cloning versus referencing works in Twine 2 Harlowe by linking energy to target, using quotes to enable dynamic updates, and applying this to complex data structures.
Learn how to create and use custom macros in Twine 2 Harlowe to compress repeated content, using parentheses and square brackets to define and call reusable code blocks.
Learn to implement a typewriter effect in twine using script with customizable text, width, and blur. Tune per-character speed and use post-typing hook for dynamic content via a data map.
Use a dedicated typewriter passage and the display macro to host and auto-trigger other passages, offering a reusable, variable-driven approach for cleaner code.
Learn to implement a real-time timer in Twine using a raw time counter, modulo 60 for seconds, floor division for minutes, and mono-spaced, zero-padded display.
Learn to save and load Twine 2 game states with the Save game macro, name slots, and the Saved Games macro, using a conditional if check.
Learn to create musical and non-musical stingers in Twine 2 by syncing transitions to bar timing, using looped tracks, BPM calculations, and layered sounds for smooth state changes.
Learn how to add responsive typing sounds in Twine 2 Harlowe by monitoring a changing sentence variable, triggering a random typewriter sound from a 16-sound playlist every 0.15 seconds.
Choose online or offline export for your Twine 2 game; offline delivers the most reactive, immersive experience via a local executable, while online relies on browser links.
Prepare a mini demo with text and audio, convert all media to relative paths, and organize files into audio, video, and images folders before exporting to a single HTML file.
Export your twine game for online play by renaming the HTML to index, packaging media into a zip, and uploading to itch.io as a browser game with a loading screen.
Learn to load a custom font in an online Twine 2 game by adding a CSS snippet that uses the font name in font-family and downloads the font for display.
Explore exporting offline versions of your Twine 2 game, using raw folders or wrappers like HTML wrapper and web two executable to build Windows projects with custom icons.
DISCLAIMER: This Course will NOT make you a pro overnight. But it'll get you in the right direction. Becoming a pro requires consistent practice and passion. If you have that, eventually, also thanks to having completed this course, you WILL make it. You have my full, thoughtful support. Alright letsgooo!
Ok, You are someone who wants to communicate.
It's no secret that Twine is the king of Choose-Your-Adventure Text Games.
Who said that this type of game has to be basic and boring?
What if i told you that in Twine you can also modernize the genre up to incredible levels, i.e. building intricate audio/video systems allowing you to create highly immersive experiences? Well, now you know.
Can Twine allow you to make a Triple-A Game? NO!
Can Twine allow you to make a short and immersive indie game that can already become viral by itself? YES!
The problem with that is that it takes a lot of time to master all the facets of this software for free, and some people don't wanna wait that long, that's why this gig is my present to you:
You will take the absolute shortcut to proficiency and reach it in a few classes because i will show you exactly what you need and let your knowledge expand to its max.
Twine Harlowe is user friendly but actually very powerful is you find all the ways to squeeze the best out of it, this course will literally guide you from knowing nothing to knowing everything; then you’ll be able yo realize your dreams with the right amount of effort!
Be patient, follow the classes slowly and you'll realize your vision; Let's do it.