nova64 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -8
- package/bin/nova64.js +165 -0
- package/dist/assets/console-CY_kygm3.js +14 -0
- package/dist/assets/console-CY_kygm3.js.map +1 -0
- package/dist/assets/main-l0sNRNKZ.js.map +1 -0
- package/dist/assets/sky/studio/nx.png +0 -0
- package/dist/assets/sky/studio/ny.png +0 -0
- package/dist/assets/sky/studio/nz.png +0 -0
- package/dist/assets/sky/studio/px.png +0 -0
- package/dist/assets/sky/studio/py.png +0 -0
- package/dist/assets/sky/studio/pz.png +0 -0
- package/dist/assets/vanilla-Dcuy32gi.js +2 -0
- package/dist/assets/vanilla-Dcuy32gi.js.map +1 -0
- package/dist/console.html +899 -0
- package/dist/docs/BENCHMARK.md +77 -0
- package/dist/docs/CHEATSHEET.md +255 -0
- package/dist/docs/EFFECTS_API_GUIDE.md +577 -0
- package/dist/docs/EFFECTS_QUICK_REFERENCE.md +331 -0
- package/dist/docs/FONT_CHARACTER_REFERENCE.md +219 -0
- package/dist/docs/FREE_GLB_ASSETS.md +330 -0
- package/dist/docs/FULLSCREEN_BUTTON_FEATURE.md +296 -0
- package/dist/docs/GAMEPAD_SUPPORT.md +348 -0
- package/dist/docs/GAME_IMPROVEMENTS.md +278 -0
- package/dist/docs/GAME_QUALITY_STATUS.md +300 -0
- package/dist/docs/MIGRATION_GUIDE.md +553 -0
- package/dist/docs/NOVA64_3D_API.md +356 -0
- package/dist/docs/NOVA64_API_REFERENCE.md +1406 -0
- package/dist/docs/NOVA64_UI_API.md +503 -0
- package/dist/docs/UI_SYSTEM_SUMMARY.md +445 -0
- package/dist/docs/VOXEL_ENGINE_GUIDE.md +662 -0
- package/dist/docs/VOXEL_QUICK_REFERENCE.md +386 -0
- package/dist/docs/api-3d.html +750 -0
- package/dist/docs/api-effects.html +385 -0
- package/dist/docs/api-improvements.md +121 -0
- package/dist/docs/api-skybox.html +407 -0
- package/dist/docs/api-sprites.html +321 -0
- package/dist/docs/api-voxel.html +337 -0
- package/dist/docs/api.html +543 -0
- package/dist/docs/assets.html +306 -0
- package/dist/docs/audio.html +340 -0
- package/dist/docs/blogs.html +286 -0
- package/dist/docs/collision.html +316 -0
- package/dist/docs/console.html +247 -0
- package/dist/docs/editor.html +297 -0
- package/dist/docs/font.html +247 -0
- package/dist/docs/framebuffer.html +247 -0
- package/dist/docs/fullscreen-button.html +297 -0
- package/dist/docs/gpu-systems.html +247 -0
- package/dist/docs/index.html +580 -0
- package/dist/docs/input.html +491 -0
- package/dist/docs/physics.html +311 -0
- package/dist/docs/screens.html +311 -0
- package/dist/docs/storage.html +311 -0
- package/dist/docs/textinput.html +332 -0
- package/dist/docs/ui.html +488 -0
- package/dist/examples/3d-advanced/code.js +695 -0
- package/dist/examples/adventure-comic-3d/code.js +342 -0
- package/dist/examples/audio-lab/code.js +150 -0
- package/dist/examples/boids-flocking/code.js +270 -0
- package/dist/examples/crystal-cathedral-3d/code.js +706 -0
- package/dist/examples/cyberpunk-city-3d/code.js +1383 -0
- package/dist/examples/demoscene/README.md +192 -0
- package/dist/examples/demoscene/code.js +1081 -0
- package/dist/examples/demoscene/meta.json +21 -0
- package/dist/examples/dungeon-crawler-3d/code.js +1117 -0
- package/dist/examples/f-zero-nova-3d/code.js +865 -0
- package/dist/examples/f-zero-nova-3d/code_old.js +1555 -0
- package/dist/examples/fps-demo-3d/code.js +744 -0
- package/dist/examples/game-of-life-3d/code.js +338 -0
- package/dist/examples/generative-art/code.js +632 -0
- package/dist/examples/hello-3d/code.js +325 -0
- package/dist/examples/hello-skybox/code.js +183 -0
- package/dist/examples/hello-world/code.js +19 -0
- package/dist/examples/input-showcase/code.js +109 -0
- package/dist/examples/instancing-demo/code.js +315 -0
- package/dist/examples/minecraft-demo/code.js +387 -0
- package/dist/examples/model-viewer-3d/code.js +114 -0
- package/dist/examples/mystical-realm-3d/code.js +1203 -0
- package/dist/examples/nature-explorer-3d/code.js +1318 -0
- package/dist/examples/particles-demo/code.js +522 -0
- package/dist/examples/pbr-showcase/code.js +140 -0
- package/dist/examples/physics-demo-3d/code.js +948 -0
- package/dist/examples/screen-demo/code.js +267 -0
- package/dist/examples/shooter-demo-3d/code.js +1286 -0
- package/dist/examples/space-combat-3d/IMPLEMENTATION_SUMMARY.md +109 -0
- package/dist/examples/space-combat-3d/README.md +135 -0
- package/dist/examples/space-combat-3d/code.js +1332 -0
- package/dist/examples/space-harrier-3d/code.js +923 -0
- package/dist/examples/star-fox-nova-3d/code.js +1116 -0
- package/dist/examples/star-fox-nova-3d/code_backup.js +410 -0
- package/dist/examples/star-fox-nova-3d/code_broken.js +1821 -0
- package/dist/examples/storage-quest/code.js +209 -0
- package/dist/examples/strider-demo-3d/IMPROVEMENT_OPTIONS.md +285 -0
- package/dist/examples/strider-demo-3d/cache-test.html +132 -0
- package/dist/examples/strider-demo-3d/code-fixed.js +582 -0
- package/dist/examples/strider-demo-3d/code-old.js +1537 -0
- package/dist/examples/strider-demo-3d/code.js +1462 -0
- package/dist/examples/strider-demo-3d/code.js.bak2 +1169 -0
- package/dist/examples/strider-demo-3d/fix-game.sh +53 -0
- package/dist/examples/super-plumber-64/README.md +128 -0
- package/dist/examples/super-plumber-64/code.js +1185 -0
- package/dist/examples/super-plumber-64/index.html +88 -0
- package/dist/examples/test-2d-overlay/code.js +32 -0
- package/dist/examples/test-font/code.js +51 -0
- package/dist/examples/test-minimal/code.js +21 -0
- package/dist/examples/ui-demo/code.js +306 -0
- package/dist/examples/wing-commander-space/README.md +180 -0
- package/dist/examples/wing-commander-space/code.js +1285 -0
- package/dist/examples/wizardry-3d/CHANGELOG.md +366 -0
- package/dist/examples/wizardry-3d/code.js +3928 -0
- package/dist/index.html +666 -0
- package/dist/os9-shell/assets/index-DIHfrTaW.css +1 -0
- package/dist/os9-shell/assets/index-KchE_ngx.js +483 -0
- package/dist/os9-shell/assets/index-KchE_ngx.js.map +1 -0
- package/dist/os9-shell/index.html +23 -0
- package/dist/os9-shell/nova-icon.svg +12 -0
- package/index.html +6 -1
- package/package.json +37 -32
- package/public/assets/sky/studio/nx.png +0 -0
- package/public/assets/sky/studio/ny.png +0 -0
- package/public/assets/sky/studio/nz.png +0 -0
- package/public/assets/sky/studio/px.png +0 -0
- package/public/assets/sky/studio/py.png +0 -0
- package/public/assets/sky/studio/pz.png +0 -0
- package/public/os9-shell/assets/index-KchE_ngx.js +483 -0
- package/public/os9-shell/assets/index-KchE_ngx.js.map +1 -0
- package/public/os9-shell/index.html +10 -1
- package/runtime/api-2d.js +301 -21
- package/runtime/api-3d/pbr.js +45 -1
- package/runtime/api-3d.js +1 -0
- package/runtime/api-effects.js +90 -3
- package/runtime/api-gameutils.js +476 -0
- package/runtime/api-generative.js +610 -0
- package/runtime/api-skybox.js +54 -0
- package/runtime/api-voxel.js +139 -28
- package/runtime/gpu-threejs.js +13 -9
- package/runtime/ui.js +2 -2
- package/src/main.js +20 -0
- package/public/os9-shell/assets/index-B1Uvacma.js +0 -32825
- package/public/os9-shell/assets/index-B1Uvacma.js.map +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Space Combat Implementation Summary
|
|
2
|
+
|
|
3
|
+
## ✅ All Issues Fixed!
|
|
4
|
+
|
|
5
|
+
### 1. Start Button Now Works
|
|
6
|
+
|
|
7
|
+
- **Changed**: `isKeyPressed()` → `isKeyDown()`
|
|
8
|
+
- **Result**: Space, Enter, and clicking all start the game
|
|
9
|
+
- **Location**: Line 309 in code.js
|
|
10
|
+
|
|
11
|
+
### 2. Console.log Spam Removed
|
|
12
|
+
|
|
13
|
+
- **Removed**: 3 console.log statements
|
|
14
|
+
- **Result**: Clean console output during gameplay
|
|
15
|
+
- **Locations**:
|
|
16
|
+
- Line 5 (loading message)
|
|
17
|
+
- Line 85 (init message)
|
|
18
|
+
- Line 315 (start message)
|
|
19
|
+
|
|
20
|
+
### 3. Game Over Restart Fixed
|
|
21
|
+
|
|
22
|
+
- **Added**: Space and Enter keys for restart (in addition to R)
|
|
23
|
+
- **Added**: Pulsing prompt text
|
|
24
|
+
- **Result**: Multiple ways to restart game
|
|
25
|
+
- **Location**: Line 1048 in code.js
|
|
26
|
+
|
|
27
|
+
### 4. Pause System Added
|
|
28
|
+
|
|
29
|
+
- **Added**: Proper pause state handling
|
|
30
|
+
- **Result**: ESC pauses, ESC again resumes
|
|
31
|
+
- **Location**: Lines 318-324 in code.js
|
|
32
|
+
|
|
33
|
+
## Game Features
|
|
34
|
+
|
|
35
|
+
### Flight Controls
|
|
36
|
+
|
|
37
|
+
✅ W/S - Pitch up/down
|
|
38
|
+
✅ A/D - Yaw left/right (auto-roll)
|
|
39
|
+
✅ Q/E - Strafe
|
|
40
|
+
✅ Shift - Boost
|
|
41
|
+
|
|
42
|
+
### Combat
|
|
43
|
+
|
|
44
|
+
✅ Space - Fire lasers
|
|
45
|
+
✅ M - Fire missiles
|
|
46
|
+
✅ T - Target lock
|
|
47
|
+
|
|
48
|
+
### Systems
|
|
49
|
+
|
|
50
|
+
✅ Energy management
|
|
51
|
+
✅ Shield regeneration
|
|
52
|
+
✅ Health tracking
|
|
53
|
+
✅ Wave progression
|
|
54
|
+
|
|
55
|
+
### HUD
|
|
56
|
+
|
|
57
|
+
✅ Health/Shield bars
|
|
58
|
+
✅ Energy meter
|
|
59
|
+
✅ Radar with enemy tracking
|
|
60
|
+
✅ Target lock indicator
|
|
61
|
+
✅ Score and kills
|
|
62
|
+
|
|
63
|
+
## Testing Checklist
|
|
64
|
+
|
|
65
|
+
- [x] Start with Space key
|
|
66
|
+
- [x] Start with Enter key
|
|
67
|
+
- [x] Start by clicking START button
|
|
68
|
+
- [x] No console spam
|
|
69
|
+
- [x] Flight controls responsive
|
|
70
|
+
- [x] Lasers fire correctly
|
|
71
|
+
- [x] Missiles track targets
|
|
72
|
+
- [x] Enemy AI attacks
|
|
73
|
+
- [x] Pause/unpause works
|
|
74
|
+
- [x] Game over displays
|
|
75
|
+
- [x] Restart works
|
|
76
|
+
- [x] HUD displays correctly
|
|
77
|
+
- [x] 60 FPS performance
|
|
78
|
+
|
|
79
|
+
## Files Modified
|
|
80
|
+
|
|
81
|
+
1. **examples/space-combat-3d/code.js**
|
|
82
|
+
- Removed 3 console.log statements
|
|
83
|
+
- Fixed start input detection
|
|
84
|
+
- Added pause state handling
|
|
85
|
+
- Improved game over restart
|
|
86
|
+
|
|
87
|
+
2. **examples/space-combat-3d/README.md**
|
|
88
|
+
- Updated fixed issues section
|
|
89
|
+
- Added clean console note
|
|
90
|
+
|
|
91
|
+
3. **COMMIT_MESSAGE_SPACE_COMBAT.txt** (NEW)
|
|
92
|
+
- Complete documentation of implementation
|
|
93
|
+
- Technical details
|
|
94
|
+
- Feature list
|
|
95
|
+
- Testing results
|
|
96
|
+
|
|
97
|
+
## How to Play
|
|
98
|
+
|
|
99
|
+
1. Select "Wing Commander Space Combat" from dropdown
|
|
100
|
+
2. Press **SPACE** or **ENTER** (or click START)
|
|
101
|
+
3. Use **WASD** to fly
|
|
102
|
+
4. Press **SPACE** to shoot
|
|
103
|
+
5. Press **T** to lock targets
|
|
104
|
+
6. Press **M** to fire missiles
|
|
105
|
+
7. Survive the waves!
|
|
106
|
+
|
|
107
|
+
## Status: ✅ COMPLETE
|
|
108
|
+
|
|
109
|
+
All issues resolved, game fully playable!
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Wing Commander Space Combat
|
|
2
|
+
|
|
3
|
+
First-person space combat game inspired by Wing Commander, Star Fox, and classic space shooters.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
### ✈️ First-Person Flight Combat
|
|
8
|
+
|
|
9
|
+
- True first-person cockpit view
|
|
10
|
+
- Full 6DOF movement (pitch, yaw, roll, strafe)
|
|
11
|
+
- Realistic flight physics with inertia
|
|
12
|
+
- Boost system for high-speed maneuvers
|
|
13
|
+
|
|
14
|
+
### 🎯 Combat Systems
|
|
15
|
+
|
|
16
|
+
- **Dual Lasers**: Rapid-fire energy weapons
|
|
17
|
+
- **Homing Missiles**: Lock-on tracking missiles
|
|
18
|
+
- **Target Lock System**: Press T to lock onto enemies
|
|
19
|
+
- **Energy Management**: Balance between weapons and shields
|
|
20
|
+
|
|
21
|
+
### 🤖 Enemy AI
|
|
22
|
+
|
|
23
|
+
- Intelligent enemy fighters with multiple behavior states
|
|
24
|
+
- Approach, circle, and retreat tactics
|
|
25
|
+
- Enemy ships fire back at player
|
|
26
|
+
- Progressive wave system with increasing difficulty
|
|
27
|
+
|
|
28
|
+
### 🌌 Asteroid Field
|
|
29
|
+
|
|
30
|
+
- Dynamic asteroid field with 50 asteroids
|
|
31
|
+
- Rotating asteroids that can be destroyed
|
|
32
|
+
- Asteroids respawn to maintain field density
|
|
33
|
+
- Destructible obstacles add tactical elements
|
|
34
|
+
|
|
35
|
+
### 📊 HUD & Interface
|
|
36
|
+
|
|
37
|
+
- **Health/Shield bars**: Track your survivability
|
|
38
|
+
- **Energy meter**: Monitor weapon power
|
|
39
|
+
- **Radar system**: Track nearby enemies
|
|
40
|
+
- **Target lock indicator**: Shows when locked
|
|
41
|
+
- **Speed gauge**: Monitor your velocity
|
|
42
|
+
- **Score tracking**: Points and kills counter
|
|
43
|
+
|
|
44
|
+
### 🎮 Controls
|
|
45
|
+
|
|
46
|
+
**Flight:**
|
|
47
|
+
|
|
48
|
+
- `W/S` or `↑/↓` - Pitch up/down
|
|
49
|
+
- `A/D` or `←/→` - Yaw left/right (auto-roll for realism)
|
|
50
|
+
- `Q/E` - Strafe left/right
|
|
51
|
+
- `Shift` - Boost (increases speed)
|
|
52
|
+
|
|
53
|
+
**Combat:**
|
|
54
|
+
|
|
55
|
+
- `Space` - Fire lasers
|
|
56
|
+
- `M` - Fire missile (requires target lock)
|
|
57
|
+
- `T` - Target nearest enemy
|
|
58
|
+
|
|
59
|
+
**System:**
|
|
60
|
+
|
|
61
|
+
- `Enter/Space` - Start game
|
|
62
|
+
- `Escape` - Pause
|
|
63
|
+
- `R` - Restart (on game over)
|
|
64
|
+
|
|
65
|
+
## Gameplay Tips
|
|
66
|
+
|
|
67
|
+
1. **Target Lock**: Press `T` when facing an enemy to lock on. This enables missile tracking.
|
|
68
|
+
|
|
69
|
+
2. **Energy Management**:
|
|
70
|
+
- Lasers cost 5 energy per shot
|
|
71
|
+
- Shields regenerate slowly when not taking damage
|
|
72
|
+
- Energy regenerates at 20/second
|
|
73
|
+
|
|
74
|
+
3. **Shields First**: Your shields absorb damage before hull integrity is affected. Keep them up!
|
|
75
|
+
|
|
76
|
+
4. **Use Boost Wisely**: Boost increases speed but makes you harder to control. Use for evasion or closing distance.
|
|
77
|
+
|
|
78
|
+
5. **Strafe in Combat**: Use Q/E to strafe sideways while keeping enemies in front. Makes you harder to hit!
|
|
79
|
+
|
|
80
|
+
6. **Asteroid Cover**: Use asteroids as cover from enemy fire.
|
|
81
|
+
|
|
82
|
+
7. **Lead Your Shots**: Enemies are moving - aim ahead of them!
|
|
83
|
+
|
|
84
|
+
## Technical Details
|
|
85
|
+
|
|
86
|
+
### Performance
|
|
87
|
+
|
|
88
|
+
- 50 asteroids with rotation and collision
|
|
89
|
+
- Multiple enemies with AI
|
|
90
|
+
- Projectile physics and tracking
|
|
91
|
+
- Particle explosions
|
|
92
|
+
- Smooth 60 FPS performance
|
|
93
|
+
|
|
94
|
+
### Fixed Issues
|
|
95
|
+
|
|
96
|
+
- ✅ **Start button working**: Changed from `isKeyPressed()` to `isKeyDown()` for reliable input
|
|
97
|
+
- ✅ **Multiple input methods**: Enter, Space, or clicking all work
|
|
98
|
+
- ✅ **Clean console**: Removed all console.log spam
|
|
99
|
+
- ✅ **Restart on game over**: Press Space, Enter, or R to restart
|
|
100
|
+
|
|
101
|
+
### Game Balance
|
|
102
|
+
|
|
103
|
+
- Player Health: 100
|
|
104
|
+
- Player Shields: 100
|
|
105
|
+
- Missiles: 10 (no resupply)
|
|
106
|
+
- Enemy Health: 3 hits
|
|
107
|
+
- Laser Damage: 1
|
|
108
|
+
- Missile Damage: 5
|
|
109
|
+
|
|
110
|
+
## Wave System
|
|
111
|
+
|
|
112
|
+
- Wave 1: 3 enemies
|
|
113
|
+
- Wave 2: 5 enemies
|
|
114
|
+
- Wave 3: 7 enemies
|
|
115
|
+
- Each wave: +2 enemies
|
|
116
|
+
- Bonus score: 1000 × wave number per completion
|
|
117
|
+
|
|
118
|
+
## Future Enhancements
|
|
119
|
+
|
|
120
|
+
- Power-ups (health, shields, missiles)
|
|
121
|
+
- Different enemy types (bombers, interceptors)
|
|
122
|
+
- Capital ship battles
|
|
123
|
+
- Multiplayer dogfights
|
|
124
|
+
- More weapon types (plasma cannon, torpedoes)
|
|
125
|
+
- Nebula effects and environmental hazards
|
|
126
|
+
- Mission objectives beyond survival
|
|
127
|
+
|
|
128
|
+
## Credits
|
|
129
|
+
|
|
130
|
+
Inspired by:
|
|
131
|
+
|
|
132
|
+
- Wing Commander (Origin Systems)
|
|
133
|
+
- Star Fox (Nintendo)
|
|
134
|
+
- TIE Fighter (LucasArts)
|
|
135
|
+
- Elite Dangerous (Frontier)
|