# Hyperfy Discord - 2025-02-28

## Overall Discussion Highlights

### Vehicle & Flight Mechanics
- **Hyperduck 2.0**: Shiffty's flight mechanics implementation has inspired several vehicle implementations including jets and bikes
- Developers are working on realistic vehicle physics using raycasts from wheel struts and force application
- Discussions about adapting flight mechanics to space flight, which Shiffty noted would be relatively simple
- Work on player anchoring for vehicles at high speeds to prevent slipping issues
- Implementation of grounded vs flying state with takeoff, landing, and crashes for aircraft

### AI Agents & Integration
- Peezy shared progress on connecting Eliza (an agent framework) to Hyperfy through a plugin approach
- Debate about implementation approaches, with Ashxn pointing to the Hyperfy Eliza fork with specific prompts
- Discussion about using websocket connections rather than endpoint requests for agents to initiate actions independently
- Consideration of controller nodes for agent physics/movement in the world
- Conversation about distinguishing AI agents from NPCs in the interface

### Platform & Token Development
- Ashxn shared that beyond the engine, they're developing a platform at hyperfy.xyz that will utilize the $HYPER token
- The token will be used for characters, emotes, vehicles, agents, in-world upgrades, and passes
- Plans to build games and experiences with HYPER as part of the ecosystem
- Discussion about allowing others to create and publish content on the platform
- Clarification that a token on Base blockchain was not official Hyperfy

### Technical Implementations
- Audio integration with ElevenLabs for fast, natural-sounding TTS
- Networking topics including event handling (app.emit(), world.on(), app.send(), app.on())
- Deployment discussions centered around Docker images, with HPrivakos explaining Alpine-based images
- Integration with self-hosting platforms like Coolify, CasaOS, and Umbrel
- WebAssembly integration possibilities and Solana NFT implementation

### UI & Design Improvements
- Proposals for adding a save button to the code window with highlighting for unsaved changes
- Discussion about autosave functionality across the entire platform
- Ideas for a dedicated admin settings panel accessible through an additional tab
- Suggestions to make the app window resizable and add tabs for better organization
- Issues with Blender 4.3 regarding backface culling problems causing "funky x-ray surfaces"

## Key Questions & Answers

**Q: How do I handle ElevenLabs audio in Hyperfy?**  
A: Convert the binary response to a blob and create an objectURL for the audio node to reference (Ashxn)

**Q: What's the best practice for setting collision on the floor of my room in V2?**  
A: Share your GLB file so I can tell you what you're missing (Ashxn)

**Q: Is there a way to set a scale size for a GLB in V2?**  
A: Use app.scale.set(x,y,z) (devilsadvocate.sol)

**Q: What's the difference between app.emit(), world.on(), app.on(), and app.send()?**  
A: app.emit() is for app emitting to world, world.on() is for app listening to world events, app.on() is for your own app's events, app.send() sends events to same app on other clients/server (Ashxn)

**Q: Why use Eliza right now for agents?**  
A: It offers easy onchain integration via plugins, distribution to the self-host Eliza community, clear code for other frameworks to integrate, and avoids reinventing the wheel (peezy)

**Q: Is hyperfy.base.eth the official team?**  
A: No, it's not official (Ashxn)

**Q: What are the plans for the $HYPER token?**  
A: The token will be used for characters, emotes, vehicles, agents, in-world upgrades, passes, etc. on the hyperfy.xyz platform (Ashxn)

**Q: How can I bridge HYPER tokens?**  
A: You can use Portal Bridge's advanced tools at portalbridge.com/advanced-tools/#/register with no code (Saori)

**Q: Would having too many snap points make it harder to snap to the desired one?**  
A: Yes, a simplified approach with just 4 main snaps and 2 accessory snaps is recommended (general hyper)

## Community Help & Collaboration

- **ElevenLabs Integration**: Ashxn helped MetaMike with ElevenLabs audio integration by adding extra support for blob loading and pushing updates
- **Vehicle Physics**: Ashxn assisted Shiffty with fixing player slipping issues with Hyperduck at high speeds by correcting position calculation
- **UI Bug Fix**: ~/HowiEDuhzit fixed a black screen issue when clicking the ⚡ button by changing this.world to world in AppPane.js and submitted a pull request
- **Docker Optimization**: HPrivakos explained to ~/HowiEDuhzit that Alpine-based images are already available at ghcr.io/hyperfy-xyz/hyperfy
- **Networking Clarification**: Ashxn explained to devilsadvocate.sol the differences between app.emit(), world.on(), app.on(), and app.send()
- **Blender Issues**: drdoge.eth helped untitled, xyz with backface culling issues in Blender 4.3 by suggesting turning off transparency overlap and switching from dithered to blended
- **Road Component Design**: general hyper and TheMattEmpire collaborated on optimizing snap points for road components, resulting in a simplified approach

## Action Items

### Technical
- Implement realistic vehicle physics using raycasts from wheel struts and force application (Ashxn)
- Add function to apply forces at specific points on rigidbodies for better vehicle physics (Ashxn)
- Add WebAssembly support to scripting API with WebAssembly.instantiate, Memory, and Table (MayD524)
- Fix player anchoring for vehicles at high speeds (Shiffty)
- Implement grounded vs flying state with takeoff, landing, and crashes for aircraft (Shiffty)
- Prepare code to add the Eliza plugin to the registry (peezy)
- Implement websocket connection for agents instead of endpoint requests (peezy)
- Use controller node for agent physics/movement in worlds (Ashxn)
- Adapt existing flight mechanics for space flight (Shiffty)
- Improve the gizmo tool for rotating, scaling, and manipulating assets (Ricky)
- Build out the platform at hyperfy.xyz that utilizes $HYPER token (Ashxn)
- Bridge HYPER to Base blockchain (Saori)
- Investigate proper material settings for backface culling in Blender 4.3 (untitled, xyz)
- Test compatibility with Hyperfy tools in Blender 4.3 (drdoge.eth)
- Revise road components with simplified snap points based on feedback (TheMattEmpire)
- Complete marketplace development with real data for downloads, views and reviews (szjanko)
- Add realistic elements to pit lane (garage building, fencing) (TheMattEmpire)

### Feature
- Create dogfight/aerial combat system (drdoge.eth)
- Develop 3D gizmo for V2 (OttisOts)
- Create chess game with agent-controlled pieces (drdoge.eth)
- Add qualifiers to distinguish autonomous agents from NPCs (maximus)
- Implement structured outputs for agent responses (MetaMike)
- Implement space trading simulation with asteroid mining and resource trading (Ashxn)
- Create fleet command system for managing multiple ships (maximus)
- Implement AI capabilities for characters/agents in the Hyperfy marketplace (Ricky)
- Create games and experiences with HYPER as part of the ecosystem (Ashxn)
- Allow others to create and publish games, experiences, characters and items on the platform (Ashxn)
- Utilize WebP texture compression in Blender 4+ (Ashxn)
- Add save button at the top of code window (general hyper)
- Make save button highlight on unsaved changes (ash)
- Implement autosave toggle functionality (Pete)
- Extend autosave to entire platform, not just code editor (0mka)
- Create chat commands for editing environment variables (general hyper)
- Add admin settings panel/tab (general hyper)
- Make app window resizable (general hyper)
- Add tabs in app window for better organization (0mka)
- Allow horizontal layout for short answers like numbers (0mka)
- Add accessory snaps for lamp posts, fire hydrants on road components (general hyper)

### Documentation
- Add clear documentation for networking events (app.emit, world.on, app.on, app.send) (Omka)
- Document version/commit hash in status endpoint (devilsadvocate.sol)
- Document the Hyperfy Eliza fork implementation (Ashxn)
- Improve documentation for app.send() and world.on() event handling (devilsadvocate.sol)
- Create feature issue to document UI improvement ideas (general hyper)