[Game] Moontest [GAME JAM 2021]

Post Reply
Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

[Game] Moontest [GAME JAM 2021]

by Droog71 » Post

Moontest: Moon Habitat Simulator
Version: 1
License: AGPLv3 / CC-BY-SA-4.0
Dependencies: none
Download: https://content.minetest.net/packages/Droog71/moontest/

Click here to watch a gameplay video.

Introduction

You are a prospector on a newly discovered moon.
Your habitat has been constructed and your mining systems are operational.

As a resident engineer, you must manage life support systems and
mining equipment to ensure your income is adequate for survival.

Expenses are deducted from your balance at regular intervals.
The amount deducted increases as time goes on, increasing the
difficulty of the game the longer you play.

Moontest is playable in both single player and multiplayer game modes.

Gameplay

Image
This is your nuclear reactor, the power source for your habitat.
Left click the reactor to turn it on or off. If the reactor is overloaded
or you turn it off, all of your equipment will have to be manually restarted.


Image
This is your gravity generator. Without it, other machines become unstable.
Left click the generator to turn it on or off. Right click to adjust the intensity.
The gravity gravity generator's power consumption is dependent on the intensity.
Lower values allow you to divert power elsewhere. Higher values provide more stability.
Any value over 100 will also cause your machines to become unstable.

The formula used to calculate gravity's effect on machine stability is below.

if gravity_on() and generated_gravity > 100 then --intensity is too high
stability = 92 - (generated_gravity - 100) --stability is reduced
else
stability = 8 + (gravity_on() * (generated_gravity - 16)) --stability is increased
end
if stability > 92 then stability = 92 end --stability limit
if math.random(0, 100) > stability then something_fails() end --failures occur


Image
This is your oxygen generator. Without it, you cannot survive. Left click the
generator to turn it on or off. Right click the generator to adjust it's output.
The oxygen generator's power consumption is dependent on it's output.
Lower values allow you to divert power elsewhere. Higher values provide more safety.
Extremely high oxygen output settings can be dangerous.


Image
This is your hvac system. Without it, you cannot survive. Left click the
box on top to turn it on or off. Right click the box to adjust the thermostat.
The hvac system's power consumption is dependent on the thermostat setting.
Lower values allow you to divert power elsewhere. Higher values provide more safety.
Extremely high thermostat settings can be dangerous.


Image
This is your mining drill; your primary source of passive income.
Left click the drill to turn it on or off. Right click to adjust it's speed.
The drill's power consumption is dependent on the speed setting. Be careful
about increasing this without adjusting the speed of your coolant pump.
If not, you will experience greater fluctuations in power consumption and
may overload your reactor.


Image
This is your coolant system. This prevents the mining drill from overloading the reactor.
Left click the coolant pump to turn it on or off. Right click the pump to adjust it's speed.
The coolant system's power consumption is dependent on the pump speed.
The speed setting should be set with reference to the drill's speed setting.

The formula used to calculate the pump's effect on the drill is below.

resistance = math.random(drill_speed * 2, drill_speed * 3) --the resistance
digging = drill_speed + resistance --the amount of ore mined
cooling = pump_is_on * pump_speed * 3 --cooling provided
if cooling > resistance * 0.9 then cooling = resistance * 0.9 end --cooling limit
drill_power = digging - cooling --the power consumption of the drill
money = money + digging --the amount of money earned from the ore


Image
This is your space food vending machine. Without it, you cannot survive.
Restocking fees are a part of your regular expenses. Left click to buy food.
Left click with the food in your hand to eat it. Space food replenishes your
hunger if you are hungry and heals you if you are full.


Image
These are your sleeping quarters. Without sleep, you will eventually die.
Keep an eye on your energy level and when you need to sleep, left click the
middle of the bottom bunk on one of the bunk beds. You will sleep until your
energy is full then you will be moved to the lobby of the space habitat.


Image
This is your research station. Here, you can conduct research on organic matter
'harvested' on the moon's surface. Organic matter is worth $10 each early in the game.
This value increase each time you process research data. The limit is $50.
To conduct research, left click the research station while holding the organic matter.
Last edited by Droog71 on Mon Jan 03, 2022 04:43, edited 2 times in total.

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

v1.0.2

by Droog71 » Post

Download v1.0.2 here


Now that the game jam is over, I have started working on this again.

Changes in version 1.0.2 are as follows:

Modifications

[*]Removed win/lose conditions. (Leaning more towards a sandbox experience now.)
[*]Expense increases and mob spawns are no longer time based but instead based on how much ore your drill has mined.
[*]Reduced rate of hunger so player can eat less frequently.
[*]Reduced rate of energy loss so the player can sleep less frequently.
[*]Added a button for the player to "wake up" while sleeping and leave the bed. (Thanks go to the user Beanzilla on github for this one.)

[Additions]

Added mesecons with custom nodes and mechanics for habitat automation.
Image
This is a sensor. When placed next to a machine, it detects if the
machine is on or not and sends a signal to an adjacent relay node.

Image
This is a relay which emits a mesecons signal when activated by a sensor.

These nodes can be used to create circuits that automatically restart your machines if they fail.



This is an example of an auto-restart circuit using a NOT gate.
Image



You cannot use fast circuits or clocks with the habitat machines.
If a machine receives too many mesecons signals in a short time, it will fail
and will have to be restarted by hand. This is intended behaviour.

The nodes mentioned above can be used to create circuits that operate only when
necessary instead of spamming machines with rapid signals.






Added reactor boosters which increase maximum power output.
Image

Reactor boosters increase your reactor's maximum output by 100 each.
They must be placed within 20 meters of the reactor.
Boosters can not be ran continuously. After 10 seconds, they will overload the reactor.
When disabled, the booster has a 10 second cooldown.
Boosters should be operated by pulsing mesecons signals or clocks.
The best way to set them up is to stagger circuits so one is on while the other is off.
This way your reactor output has a steady value.



Here is an example of an upgraded reactor setup early in the game.
Image



This one is later in the game and has a maximum output of 2400.
Image



The mesecons automation and reactor boosters were inspired by feedback from ApolloX



There is now a shop for purchasing all of these items in game. This is accessed via the inventory formspec.
Image



Added the habitat computer which provides a live visualization of the formulas described in the help formspec and README.md
Image
Image

This idea was inspired by feedback from yaman (https://content.minetest.net/threads/1834/)



A custom skybox has been added to the game via the skybox mod.
Image

Credit for this idea goes to clara86 on contentdb. (https://content.minetest.net/threads/1958/)



Last but not least, the following problem has been fixed:

"Hitting an enemy puts the remains in the first slot which is usually the one you fight with, which stops you from fighitng until you switch slots."
-GreenXenith(https://github.com/GreenXenith/minetest ... d#moontest)



Thank you to everyone who provided feedback.
I will continue to work on the game and try to improve it.

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

v1.0.3

by Droog71 » Post

Moontest has been updated to version 1.0.3.

The primary purpose of this update was to add an interactive tutorial to the game.

Download v1.0.3 here



Changes in this update are as follows:

Added an interactive tutorial.
Added info about logic circuits to the manual.
Added tooltips to the shop formspec.
Added initial message mod with greeting formspec.
Added a limit to bar length on habitat computer formspec.
Added restoration of user settings such as menu_clouds and enable_fog.
Fixed sleeping taking longer than intended.
Fixed possibility of habitat not being constructed during world loading.
Fixed expense increase notification occuring when expenses have not increased.
Fixed balance not updated by drill in shop formspec.
Further reduced energy lost both while sprinting and at other times.
Increased hunger rate of change (it was too slow).
Reduced reactor booster max range from reactor from 20 to 10.

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

v1.0.4

by Droog71 » Post

Moontest has been updated to version 1.0.4.

Download v1.0.4 here

Changes in this update are as follows:


Added new research mechanics.
Research is now used to unlock new items in the shop.
Moon rocks can now be collected and traded in for research points.

Added portable generators.
These run on fuel that can be purchased in the shop and are used to power new machines.
These machines are used outside the habitat and include research probes and the rare earth metal extractor.

Added research probes.
These collect items that can be exchanged for money and research points at the research station.

Added rare earth metal extractors and transport rockets.
These mine rare earth metals which should then be placed in a rocket.
The rocket will launch when it has 50 rare earth metals in it's inventory and you will receive $5000.
The rocket will return and land in the same position.

Added LWScratch mod by loosewheel
This mod adds scratch programmable robots which are used to automate the research probes and rare earth metal extractors described above. They can be used to remove rare earth metals from the extractors and load them into a rocket or collect research data from all of your probes and place them in a crate near the habitat airlock.

Added work lights and flashlights
Work lights are powered by the new portable generators. Flashlights are enabled via the wielded light mod by bell07

Added terraformer machine.
This is an end-game machine powered by the habitat that requires a massive amount of power and transforms the moon into a habitable place. This machine is constructed on the roof of the habitat when purchased. An elevator / teleporter has been added for roof access in the gravity generator room.

Addd screwdriver2 mod by 12Me21
For rotating nodes so everything looks nice.

Screenshots


New Machines
Image

Terraformer
Image

Powering the terraformer
Image

User avatar
Mantar
Member
Posts: 589
Joined: Thu Oct 05, 2017 18:46
Contact:

Re: [Game] Moontest [GAME JAM 2021]

by Mantar » Post

Cool! Nice work there, Droog!
Lead dev of Exile, git repo: https://codeberg.org/Mantar/Exile

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

Re: [Game] Moontest [GAME JAM 2021]

by Droog71 » Post

Mantar wrote:
Thu Jan 13, 2022 18:57
Cool! Nice work there, Droog!
Thanks!

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

v1.0.5

by Droog71 » Post

Moontest has been updated to version 1.0.5.

Download v1.0.5 here

Changes in this update are as follows:

  • Added solar panels.
  • Fixed crash that occured when quickly placing and then removing a generator.
  • Fixed generator, REM extractor and research probe could be placed inside the habitat.
  • Fixed habitat computer showing zero stability when terraformer is running.
  • Fixed REM Extractor not working on grass.
  • Fixed not being able to rotate REM extractor with the screwdriver.
  • Increased the point at which reactor boosters cause alarms and smoke.
  • Reduced the size of research probes so they don't overlap when placed side by side.
  • (Beanzilla) Added description of optimized auto-restart circuit to manual.
  • (Beanzilla) Refactored (do_file.lua): made function to simplify dofile calls.

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

v1.0.6

by Droog71 » Post

Moontest has been updated to version 1.0.6.

Download v1.0.6 here

Changes in this update are as follows:

  • Added conveyor tubes.
  • Added laser power transmitters.
  • Refactored codebase, renaming all mods to prevent conflicts.

Image

User avatar
MisterE
Member
Posts: 693
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: [Game] Moontest [GAME JAM 2021]

by MisterE » Post

imo, you should fork mesecons to be able to customise it to fit the game

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

Re: [Game] Moontest [GAME JAM 2021]

by Droog71 » Post

MisterE wrote:
Wed Feb 02, 2022 22:47
imo, you should fork mesecons to be able to customise it to fit the game
Do you mean it should be customized visually to fit the visual appearance of other objects in the game?
I did start to customize the appearance already and I could do more. For example, the switches look like this:
switch.png
switch.png (57.65 KiB) Viewed 2467 times

User avatar
MisterE
Member
Posts: 693
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: [Game] Moontest [GAME JAM 2021]

by MisterE » Post

yeah, that what I meant! ideally, the vis appearence would be completely diferent than regular mesecons

User avatar
Blockhead
Member
Posts: 1678
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: [Game] Moontest [GAME JAM 2021]

by Blockhead » Post

Forking sounds like the danger zone where you need to merge stuff with upstream instead of just pulling. Hmmm.. but can you ship alternative textures and models with a game? I know you can do textures and probably models through a texture pack, but I don't know if a game can ship a texture pack, since that wouldn't make too much sense, the game overriding itself?
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
MisterE
Member
Posts: 693
Joined: Sun Feb 16, 2020 21:06
GitHub: MisterE123
IRC: MisterE
In-game: MisterE

Re: [Game] Moontest [GAME JAM 2021]

by MisterE » Post

mesecons is well tested and stable, and not too large. its an ideal canidate for forking

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

Re: [Game] Moontest [GAME JAM 2021]

by Droog71 » Post

MisterE wrote:
Thu Feb 03, 2022 00:53
yeah, that what I meant! ideally, the vis appearence would be completely diferent than regular mesecons
Ok, thanks. I will add this to the todo list and see what i can come up with.

Droog71
Member
Posts: 37
Joined: Sat May 29, 2021 21:09

Re: [Game] Moontest [GAME JAM 2021]

by Droog71 » Post

Blockhead wrote:
Thu Feb 03, 2022 04:04
Forking sounds like the danger zone where you need to merge stuff with upstream instead of just pulling. Hmmm.. but can you ship alternative textures and models with a game? I know you can do textures and probably models through a texture pack, but I don't know if a game can ship a texture pack, since that wouldn't make too much sense, the game overriding itself?
Yes, the name of the mod has been changed to "moontest_mesecons" so it is not confused with the original mesecons.
Now I can change all of the code, textures, models and sounds by overwriting the original files within the mod directory.

At this point, moontest_mesecons is essentially a fork of mesecons, it just doesn't have it's own repository.

I don't need to keep the fork in sync with the upstream repo or anything like that.

Doing so would actually cause problems because every instance of "mesecons:" in the code is now "moontest_mesecons:",
item descriptions have been changed, pistons and other things were removed, the switches were replaced and I plan to make
more changes now as well.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests