Skip to content

Commit ab3ad05

Browse files
authored
docs: Add Developer Q&A Technical Insights summary page from Zero and Slikey transcript (#23)
Issue: GH-24
2 parents b780bfa + f653443 commit ab3ad05

4 files changed

Lines changed: 312 additions & 0 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
* @ItsNeil17
22

33
/content/docs/what-we-know-so-far/ways-to-develop/text-based.mdx @okunamayanad
4+
/content/docs/what-we-know-so-far/developer-qa-insights.mdx @Laophy

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ bun run dev
7777
| `/docs/quick-start` | Getting started guide for Hytale modding |
7878
| `/docs/what-we-know-so-far` | Current knowledge base about Hytale modding |
7979
| `/docs/what-we-know-so-far/faq` | Frequently asked questions |
80+
| `/docs/what-we-know-so-far/developer-qa-insights` | Technical insights from Hytale developers Zero and Slikey |
8081
| `/docs/what-we-know-so-far/inputs` | Input handling documentation |
8182
| `/docs/what-we-know-so-far/server-first-dev` | Server-first development approach |
8283
| `/docs/what-we-know-so-far/ui-customization` | UI customization guides |
Lines changed: 309 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,309 @@
1+
---
2+
title: Developer Q&A Technical Insights
3+
description: Technical insights from Hytale developers Zero and Slikey about the game's architecture, modding capabilities, and development approach.
4+
---
5+
6+
This page summarizes technical information from a developer Q&A session with **Slikey** and **Zero** from Hypixel Studios. The information focuses on the technical architecture, modding capabilities, and development philosophy behind Hytale.
7+
8+
## Modding Architecture
9+
10+
### Server-Side Java Plugins
11+
12+
Hytale's modding system is built around **Java plugins** that run server-side. This provides developers with extensive control over game functionality.
13+
14+
- **Java 21+ Required**: Plugins must compile for at least Java 21, but the game ships with a Java 25 JVM
15+
- **Full Server Control**: Server plugins can do anything standard Java applications can do
16+
- Database connections
17+
- Web requests and API integrations
18+
- Machine learning implementations
19+
- Custom libraries and frameworks (including Lua scripting if desired)
20+
- **No Remote Code Execution**: Clients do NOT download executable code from servers for security reasons. Only configuration and assets are downloaded
21+
- **Highly Customizable**: Most of the core game can be changed - you could theoretically create a completely custom adventure mode with no vanilla content
22+
23+
### Asset-Based Modding (No Code Required)
24+
25+
For creators who don't want to write Java code, Hytale offers powerful data-driven modding:
26+
27+
- **JSON Configuration**: Add NPCs, items, crafting recipes, and more by modifying JSON files
28+
- **In-Game Tools**: Use built-in creative mode tools to create content without coding
29+
- **Visual Scripting**: A sandboxed visual scripting system will replace traditional command blocks for asset packs
30+
- **Free and Open**: All modding tools are included with the base game - no paywalls or partnership requirements
31+
32+
## Server Source Code Sharing
33+
34+
One of Hytale's most significant features is the **shared source server** model:
35+
36+
- **Release Timing**: Server source code will be released shortly after game launch (pending legal finalization)
37+
- **Shared Source Format**: The source code will be:
38+
- Completely unobfuscated
39+
- Include all developer comments
40+
- Available for reading and modification
41+
- **Custom Server Software**: Technically skilled developers can create entirely custom server software (e.g., Rust implementations)
42+
- Must maintain protocol compatibility with the latest client version
43+
- Full control over server behavior and performance
44+
- **Documentation Access**: Developers can browse the source code directly, supplementing the public GitBook documentation
45+
46+
## Network and Protocol
47+
48+
### QUIC Protocol
49+
50+
Hytale uses the **QUIC protocol** for networking:
51+
52+
- **Modern Standard**: QUIC is a modern transport protocol built on UDP
53+
- **Potential Issues**: Some governments block QUIC, which could affect players in certain regions
54+
- **Current Data Layer**: Uses a custom serialization format that the team plans to replace post-launch
55+
- **Protocol Documentation**: Will be available when the shared source is released
56+
57+
### Server Discovery
58+
59+
- **Launch**: Servers accessible by direct IP at launch
60+
- **Post-Launch**: Server discovery system planned for after release to improve player and server owner experience
61+
62+
## World Generation and Performance
63+
64+
### Chunk Management
65+
66+
- **Automatic Unloading**: Chunks and entities unload when outside all players' render distance to conserve RAM
67+
- **Multi-Threading**: Mixed approach for server performance
68+
- Each world runs on its own main thread for core logic
69+
- Parallel execution available for certain tasks
70+
- Designed to utilize multi-core machines effectively
71+
72+
### World Generation
73+
74+
- **Powerful Algorithm**: Sophisticated world generation with extensive tooling
75+
- **Creative Building**: Create impressive structures in creative mode and share as "prefabs"
76+
- **Prefab System**: Advanced prefab system with an in-game editor
77+
- **No Code Required**: Create custom biomes and world features without writing Java
78+
- **Detailed Blog Post**: A dedicated world generation blog post is being written
79+
80+
### NPC Systems
81+
82+
- **Living World**: NPCs interact dynamically (e.g., bears attacking deer)
83+
- **Faction Support**: Adventure mode will feature faction interactions
84+
- **Herd Behavior**: System supports flocks/groups of NPCs that stay together
85+
- **Configurable**: Requires configuration time but offers powerful customization options
86+
87+
## Graphics and Rendering
88+
89+
### Current Technology
90+
91+
- **OpenGL 3.3**: Current graphics API, chosen for Mac compatibility
92+
- **Art Style Commitment**: The team is committed to maintaining the current art style
93+
- **Hardware Accessibility**: Designed to run on affordable hardware and support more platforms
94+
- **Future Considerations**: Potential move to Vulkan/Metal in the future (long-term possibility)
95+
96+
### Lighting Engine
97+
98+
Current improvements in progress:
99+
100+
- **Model Lighting**: Models currently only have a single light value; working toward gradients like full blocks
101+
- **Light Consistency**: Fixing differences between static lights (placed torches) and dynamic lights (held torches)
102+
- **Voxel Integration**: Addressing lighting inconsistencies between models and voxels
103+
104+
## User Interface
105+
106+
### NoesisGUI Integration
107+
108+
Hytale is transitioning to **NoesisGUI** for UI customization:
109+
110+
- **Client-Side Only**: NoesisGUI is exposed only on the client side
111+
- **Abstraction Layer**: Developers use Hytale's abstraction over NoesisGUI, not direct SDK access
112+
- **Community Feedback**: System designed to be powerful and react to community needs
113+
- **Nameplate Potential**: NoesisGUI transition may make nameplates more customizable
114+
- **Custom UI System**: Add elements to the HUD using the custom UI system
115+
- **Status Effects**: System supports buffs/debuffs (nameplate customization currently limited)
116+
117+
### Current Limitations
118+
119+
- **Lack of Super Custom UI/Input**: Recognized as a current limitation
120+
- **Invasive Mods**: Custom shaders and VR support are problematic without proper sandboxing
121+
- Must maintain server-side compatibility
122+
- VR support not possible anytime soon
123+
124+
## Development Tools
125+
126+
### Blockbench Plugin
127+
128+
Hytale originally developed "Hytale Model Maker" but switched to Blockbench:
129+
130+
- **Industry Standard**: Blockbench became the de-facto standard for block game modeling
131+
- **Partnership**: Partnered with Blockbench creator Jannis
132+
- **Features**: Supports both modeling and animation
133+
- **Release**: Will be available before or at game launch
134+
- **Internal Use**: Hypixel Studios uses it internally
135+
136+
### Machinima and Cinematics
137+
138+
- **Cinematic Tools**: Sophisticated tools for creating cinematics
139+
- **Proven**: The 2018 Hytale announcement trailer was created using these tools
140+
- **Available at Launch**: Players can create machinima content from day one
141+
142+
## Documentation and Learning
143+
144+
### Documentation Strategy
145+
146+
- **Public GitBook**: Documentation will be hosted on a public GitBook
147+
- **Source Code Browsing**: Direct access to browse server source code
148+
- **Sparse Initially**: Documentation will be limited at launch
149+
- **Catch-Up Required**: Years of development documentation needs updating
150+
- **Server Source Release**: Full documentation may not arrive until server source release
151+
152+
### No Text-Based Scripting at Launch
153+
154+
- **Design Decision**: No built-in text-based scripting language
155+
- **Community Solutions**: Developers can add Lua or other scripting via Java libraries
156+
- **Flexibility**: Full control allows community to create their own solutions
157+
158+
## Server Hosting and Multiplayer
159+
160+
### Hosting Options
161+
162+
- **Day One**: Self-hosting and Game Server Providers (GSPs) like Nitrado available at launch
163+
- **Cross-Platform**: Server runs on any platform supporting Java 25
164+
- **No Technical Difference**: Exploration mode and adventure mode use the same technology
165+
- **Friend Joining**: Working on system to join friends' single-player worlds
166+
167+
### Server Customization
168+
169+
- **Feature Toggles**: Many features can be disabled to boost performance
170+
- **Performance Factors**: Affected by player view distance, NPC count, mods, etc.
171+
- **Version Flexibility**: Server owners can run heavily modified server versions with the shared source
172+
- **EULA/TOS Only**: No business agreements required - just accept the EULA/TOS
173+
174+
## Physics and Gameplay Systems
175+
176+
### Block Physics
177+
178+
- **Selective System**: Some blocks (like trees) use physics, but not all
179+
- **Player-Placed Blocks**: Don't break from physics automatically
180+
- **Creative Freedom**: Build floating bases or structures without physics concerns
181+
182+
### Combat and Hitboxes
183+
184+
- **Sub-Hitboxes**: System exists for large bosses
185+
- **Needs Work**: Hit registration for sub-hitboxes may need improvement
186+
- **Community Feedback**: Developers want feedback on boss fight mechanics (e.g., Monster Hunter-style systems)
187+
- **Multiple Boss Models**: Adventure mode will feature many boss fights
188+
189+
### Stamina System
190+
191+
- **Default**: Game uses stamina (not mana)
192+
- **Moddable**: Can add mana system via mods
193+
194+
## Performance and Hardware
195+
196+
### Requirements
197+
198+
- **Accessible**: Won't require a $1000+ PC
199+
- **Hardware Tests**: Currently undergoing testing
200+
- **Optimization Goal**: Make the game as accessible as possible on cheaper hardware
201+
- **No Specific Numbers Yet**: Still collecting performance data
202+
203+
### Server Performance
204+
205+
Performance varies based on multiple factors:
206+
207+
- CPU capacity
208+
- Player view distance
209+
- NPC count
210+
- Active mods
211+
- Server configuration
212+
213+
Data collection ongoing; specific benchmarks not yet available.
214+
215+
## Mod Distribution and Monetization
216+
217+
### Distribution Platforms
218+
219+
- **Community-Driven**: Hytale will not provide built-in mod discovery at launch
220+
- **Existing Platforms**: Use CurseForge, Modrinth, etc.
221+
- **Future Integration**: Plans to bring mod discovery into the game after launch
222+
- **No Walled Garden**: Avoiding restrictive ecosystems on day one
223+
224+
### Monetization
225+
226+
- **Platform-Dependent**: Monetization through established community platforms
227+
- **Learning Phase**: Team still learning about best practices
228+
- **Creator Support**: Want to give back to contributors, exact details being finalized
229+
- **No Ingame Marketplace Initially**: Focus on community-driven solutions first
230+
231+
## Updates and Versioning
232+
233+
### Update Philosophy
234+
235+
- **Frequent Updates**: Very frequent updates planned, especially initially
236+
- **Community Feedback**: Constantly looking for feedback
237+
- **Community-Driven**: "We make this game great together"
238+
- **No Version Selector**: Clients always use the newest version
239+
- **Server Flexibility**: Servers can run custom versions using shared source (maintain protocol compatibility)
240+
241+
### Technical Debt and Compatibility
242+
243+
- **Real Issue**: Technical debt exists and is acknowledged
244+
- **Developer Problem**: Trying to minimize impact on modders
245+
- **Mod Breaking**: May break mods initially during rapid improvements
246+
- **Future Goal**: Proper deprecation policy with advance notice
247+
- **Backwards Compatibility**: Eventually aim for long-term compatibility support
248+
249+
## Avatar and Character Systems
250+
251+
### Model Customization
252+
253+
- **Default Human**: All players start as human avatars
254+
- **Creative Mode**: Model Change feature allows switching to different character models in creative mode
255+
- **Server-Controlled**: Servers control player avatars (no client-side avatar injection)
256+
257+
## Voxel Technology
258+
259+
### Storage Technology
260+
261+
- **Under Development**: Voxel storage technology currently undergoing changes
262+
- **Future Changes**: May change further post-launch
263+
- **Current Limitation**: Not fully documented yet
264+
265+
## Development Philosophy
266+
267+
### Team Culture
268+
269+
- **Small Team**: Maintains a close-knit group
270+
- **Hiring Freeze**: Until after launch
271+
- **Unique Organization**: Very specific organizational style vulnerable to over-hiring
272+
- **Slow Growth**: Only hire when there are serious needs
273+
274+
### Base Game Priority
275+
276+
- **Core Focus**: Adventure mode (Orbis) is top priority
277+
- **Modding Integration**: Modding systems built alongside base game
278+
- **Co-Existence**: Base game and modding capabilities build off each other
279+
- **Long-Term Support**: Determined to keep adventure mode updated long-term
280+
281+
### Community Relationship
282+
283+
- **Listening**: Actively looking for community feedback
284+
- **Storm Response**: If community bands together on issues, developers will listen
285+
- **Overcoming Limitations**: Started as Hypixel minigame network wanting to overcome creative limitations
286+
- **Creative Freedom**: Solving problems to enable creativity without restrictions
287+
288+
## Legal and Licensing
289+
290+
### EULA and Terms
291+
292+
- **Comprehensive EULA**: Will cover all applicable terms
293+
- **Nuanced Terms**: More detailed than simple yes/no answers
294+
- **Contributor Compensation**: Working on fair compensation for community contributors
295+
- **Details Pending**: Final legal details still being finalized
296+
297+
### Pre-Orders
298+
299+
- **Coming Soon**: Pre-orders launching soon
300+
- **Legal Approval**: In final stages of legal approval
301+
- **Release Date**: Stay tuned for release date announcement
302+
303+
## Timeline Expectations
304+
305+
The developers emphasized that players "don't need much patience anymore" and to "stay tuned for the release date announcement." The team is focused and working hard to deliver Hytale.
306+
307+
---
308+
309+
**Note**: This information was gathered from developer communications and represents the current state of development. Some details may change before or after launch as the team continues to refine and improve the game.

content/docs/what-we-know-so-far/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"title": "What We Know So Far",
33
"pages": [
44
"faq.mdx",
5+
"developer-qa-insights.mdx",
56
"server-first-dev.mdx",
67
"inputs.mdx",
78
"ui-customization.mdx",

0 commit comments

Comments
 (0)