import React, { useEffect, useRef } from "react"; // React + Tailwind landing site for Duonix Studios with old‑school forum flair. const socials = [ { name: "Steam", href: "https://store.steampowered.com/app/2484900/10_Dead_Doves/" }, { name: "Twitter/X", href: "https://twitter.com/duonixstudios" }, { name: "YouTube", href: "https://www.youtube.com/@duonixstudios" }, { name: "TikTok", href: "https://www.tiktok.com/@duonixstudios" }, { name: "Press Kit", href: "https://picturesque-bus-555.notion.site/Duonix-Studios-Press-Kit-8b2b0d1c6c214d41a1d83b84a7e3aacb" }, ]; const projects = [ { title: "10 Dead Doves", tagline: "A 2000s‑tinged, fixed‑perspective narrative horror set in Appalachia.", cta: { label: "Visit Site", href: "https://10deaddoves.com" }, badges: ["Narrative Horror", "Single‑Player", "Appalachia"] }, { title: "Europa (codename)", tagline: "Sci‑fi survival‑exploration with dark zones, scanning, and 4D predators.", cta: { label: "Follow Devlog", href: "#devlog" }, badges: ["In Development", "Survival", "Sci‑fi"] } ]; const posts = [ { title: "Europa: First Look at Dark Zones", date: "Sep 28, 2025", excerpt: "We prototyped volumetric pockets where light collapses. New scanner visuals, AI stalking behavior, and a nasty edge case fixed in UE 5.6.", href: "#", author: "Mark", replies: 14, views: 1294, lastReply: { by: "Sean", time: "Sep 29, 2025 11:02" } }, { title: "10DD: Patch 1.1 Notes", date: "Sep 10, 2025", excerpt: "Controller feel tweaks, checkpoint clarity, and a secret in the tall grass.", href: "#", author: "Mark", replies: 8, views: 842, lastReply: { by: "Community", time: "Sep 18, 2025 21:44" } }, { title: "Studio Update: Growing Carefully", date: "Aug 22, 2025", excerpt: "What we’re hiring for, how we think about community, and why we like mailing lists over algorithms.", href: "#", author: "Duonix", replies: 23, views: 2310, lastReply: { by: "Mark", time: "Sep 2, 2025 09:15" } }, ]; function useParallax(strength = 20) { const ref = useRef(null); useEffect(() => { const el = ref.current; if (!el) return; const onScroll = () => { const rect = el.getBoundingClientRect(); const offset = (window.innerHeight - rect.top) * 0.002 * strength; el.style.transform = `translate3d(0, ${offset.toFixed(2)}rem, 0)`; }; onScroll(); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, [strength]); return ref; } function Section({ id, eyebrow, title, children, className = "" }) { return (

{eyebrow}

{title}

{children}
); } function Nav() { return (
DUONIX BBS Join
); } function Hero() { const bgRef = useParallax(10); // slower parallax for background layer const statusRef = useParallax(18); // slightly faster for status chip return (
{/* Background image with parallax */}
Appalachian ridgeline at dusk
{/* Foreground content */}
BBS Duonix Forum v0.9

Strange worlds. Strong characters. Stories that stay.

Indie co‑op crafting single-player experiences with heart, teeth, and mystery. Based in Nashville.

Play 10DD → Projects
★ Now updating the Europa prototype
); } function Projects() { return (
); } function Devlog() { return (
Thread
Replies
Views
Last Post
); } function About() { return (

Duonix is a tiny studio with big narrative instincts. We grew up on strange TV, weird fiction, and PS2 horror — but we build with modern craft.

); } function Newsletter() { return (
); } function Contact() { return (
); } function Footer() { return ( ); } export default function DuonixStudiosSite() { return (
); }