Lunacraft Reborn
-- Dev Log --
3/1/2025
-------------------------------------
- Finished basic inventory functionality
- Added scanner
- Added spacesuit slots (helmet, battery, jetpack)
- Added jetpacks
- Added crafting
2/19/2025 (9am - 6pm)
-------------------------------------
- Added walking animation for giraffe
- Added models for all astronauts
- Added model for Blue I
- Laid groundwork for inventory
2/16/2025 (2pm - 8:30pm)
-------------------------------------
- Fixed holes in crystal plant textures
- Made plant spawning more uniform
- Made ore distributions closer to original game (in accordance with this article)
- Mrob27's articles on the wiki have been super helpful!
- Added green and brown mobs, and space giraffes
- Brown mob doesn't target player and explode yet (no way to aggravate them)
2/7/2025 (6pm - 9pm)
-------------------------------------
2/3/2025 (5pm - 6:30pm)
-------------------------------------
1/26/2025 (3pm - 8pm)
-------------------------------------
- Fixed washed out Light block texture
- Just switched to unlit shader; no need for emission map
- Fixed bug that spawned more water than necessary
- Simplified all shaders
- Water and crystal plants now respond to changing light (which massively improves the look of the game; see here)
1/25/2025 (3pm - 7pm)
-------------------------------------
- After many hours of toil, I finally got point lights to work
- I was starting to doubt if the flat lighting I wanted was even feasible, as I didn't think it was practical to pass point light data to the shaders, but it turns out I was just being retarded
- Added block placing system
1/18/2025 (1pm - 2:30pm)
-------------------------------------
- Fixed all of the textures
- They were much darker than the originals. Game looks so much better now.
- Added vignette and slight color grading
- Changed sun color from yellowish to blueish
1/16/2025 (7:30pm - 8pm)
-------------------------------------
- Fixed: F3 button didn't save the debug info option
- Mouse sensitivity slider now works
1/14/2025 (5pm - 7:30pm)
-------------------------------------
- Added skybox
- Added day/night cycle
- Added basic fog
- Makes the world slightly more interesting but needs work (doesn't cover the skybox like in the original game)
- Player's head can no longer spin 360 degrees
1/12/2025 (7pm - 8:30pm)
-------------------------------------
- Fixed pause menu bugs
- Options menu was open by default
- Gravity applied while paused
- Added moon seed to debug info
- Render distance now adjusts when changed in-game
1/11/2025 (5pm - 6pm)
-------------------------------------
- Made structure spawns deterministic
- Just use the moon seed with the PRNG -- duh
1/10/2025 (3pm - 9pm)
-------------------------------------
- Added debug menu
- Spent hours fixing reserve system, only to realize it isn't actually helping performance. Fuck.
1/6/2025 (5pm - 9pm)
-------------------------------------
- Spent many hours trying to figure out how to do the lighting for light blocks, to no avail. Pretty sure I need a custom lighting system.
1/5/2025 (4pm - 6pm)
-------------------------------------
- Minor tweaks
- Ores are less common
- Structures can't be placed right on top of each other
- Crystal plants now use same shader as water (looks better)
- Made blue crystal more opaque (like original game)
- Modified block reserve system
- Reduced total reserve by 80% (game loads much faster now)
- Now uses a dictionary to reduce the number of branches and simplify the code
- Added astronaut lairs
- Still want to make them more complex
1/4/2025 (4pm - 2am)
-------------------------------------
- I finally got the water to render correctly! Thankfully, it was achievable with a custom shader.
- The issue was that overlapping faces would "add" and create a bunch of planes in the water.
- Made terrain much closer to original game
- Added crystal plants
- Added ores
1/2/2025 (1pm - 8pm)
-------------------------------------
- Camera orientation now saves, along with player position/rotation
- Threw out Cinemachine in favor of custom controller. Too much of a headache, and totally unnecessary.
- Added loading bar while loading existing moon
- Initial rendering is now done in main menu, so it doesn't freeze as bad when switching scenes
- When breaking blocks, neighboring non-air blocks are placed. No more holes!
- The game is looking really good now. There don't seem to be any bugs in the generation/rendering, the main menu is finished, the basic block destruction system is in place (and block placing will be easy), and all game data is saving correctly.
1/1/2025 (5pm - 9pm)
-------------------------------------
- Player position/rotation is now saved when quitting
- Still need to figure out how to save camera orientation
- Fixed bug where options menu didn't close after hitting escape
- New bullshit pops up every time I think this, but the dynamic generation/rendering appears to be stable
- Now it just needs to be optimized. In the editor, generating/rendering a new chunk row drops the FPS from ~140 to ~60
12/30/2024 (4pm - 10pm)
-------------------------------------
- Player can no longer break blocks in pause menu
- Significantly modified renderer
- Removed fixed arrays centered around player. Too bug prone, and annoying to deal with.
- Made BlockIsTouchingAir() fully general (and fixed holes in map)
- Now it generates block data one chunk beyond the render distance so that data is immediately available
- At this point, at least 70% of the "rendering time" is spent on the EditorLoop. The built game averages ~400 fps
12/24/2024 (5pm - 8pm)
-------------------------------------
- Fixed mysterious bug with loading chunks when the player crosses different chunk boundaries
- For some reason I cannot identify, after switching directions either the first or last generated chunk is wrong.
- I've been hung up on this for days now. I rewrote the rendering to be more systematic, using a task queue.
12/19/2024 (1pm - 3pm)
-------------------------------------
- Added outline to block player is looking at
- Added basic block destruction
- Added level saving
12/18/2024 (4pm - 6:45pm)
-------------------------------------
- Gave up on pure GPU instancing in favor of GameObjects
- Performance is actually decent: ~150fps in editor, with lag spikes down to 70fps when loading new chunks
- Still need to fix bug where some blocks touching air aren't being rendered
- Did away with custom flat shaders (no need)
- Chunk loading is *basically* in place now
12/11/2024 (7pm - 10pm)
-------------------------------------
- Separated chunk generation and rendering
12/8/2024 (11am - 6pm)
-------------------------------------
- Added pause menu
- Fixed (literal) holes in rendering code
- Static rendering code is finished (140 avg fps for render distance = 3 after build)
12/7/2024 (10am - 8pm)
-------------------------------------
- Fully finished main menu
- Adjusted menu sizes to be less ridiculous
- Finished animated background system
- Fixed button bugs
- Made fully responsive
- Added progress bar when generating moon
- Made file IO SIGNIFICANTLY more efficient (huge win)
- Laid groundwork for (static) chunk generation
- Figured out why the textures are wonky
- The reds and blues were switched around in the texture atlas (hence the file name textures256reversed.png)