Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Houkime

#16
Quote from: Goldenpotatoes on February 09, 2017, 08:13:08 PM
Considering it already takes stock of everything within the ship's area, would it be possible to have them work like a regular caravan where you can land directly on a friendly outpost to trade, like with on-foot travel? It's not exactly a huge issue at the moment considering the work-around is just landing a tile next to them and bringing what you want to sell on-foot, but it'd be nice to just land on the tile, sell whatever you want, then fly back.

I've thought about it and will try to do it sometime soon. Cannot guarantee result yet.
#17
Update time.
Fixed resetting bed designations and ownership.
Seems to be fine now. Transported prison bedroom highlight now becomes blue for some reason. Seems to work nevertheless.
Pawns even remain in their beds unless timezone shift is too big.
And as a fun bonus get Disturbed Sleep.)
(Animals are a bit more alarmed about flight though and can get up for a bit)



#18
Ok, here's the very first raw toy to play with. Please do not try it on your beloved colonies because I don't really know how stable and balanced it is (WARNING: it is most probably NOT stable at all. You better not expect anything to work.) and also it does not yet really integrate with a standard gamend with credits.
So it is more of a proof of concept and a possibility to see something right now.
Attached folder to the first post.

Rules:
Ship is everything connected by floors (like if thing stands on floor) and walls to your ship core.+ you can attach structural beams, ship reactors, engines and solar arrays externally. (floor also can connect to an adjacent wall)
For ship to perform suborbital jumps it needs to have Reactor and Engine somewhere in the ship.
No crew required unless it is raid (which is lost if you are not there obviously) because AI core is quite a person with a mind of its own.
Though unmanned stuff is not really tested yet outside of hops on the map.

Tips and tricks:

During raid you can rejump with your ship to be able to manually select better landing spot... and to be very cheaty...

When raid starts you can zoom in into raided base or click on your colonists in the colonists bar to dive into action. (it is vanilla stuff that it does not automatically jump camera to raid but instead pauses time. Maybe i will change this.)

Known issues and just untested things:

Bed ownership is reset in flight.
Hydroponics and plant pots are untested.
Saving during flight is not recommended because I did no data exposing yet (was in a big hurry). Flights are short though.
Prisoners and enemies (if so happens..) are yet untested (and most likely broken).
Large ships are not really tested. I haven't got any troubles yet but it seems like landing problems are very likely to arise especially in forests.
Haven't decided what ship is supposed to do if landing fails yet.

Quote from: ChaosChronicler on February 04, 2017, 11:34:12 PM
Wait, Does this mean I can create Dropships?

*Klendathu Drop Intensifies*
https://www.youtube.com/watch?v=CIGHCoVzqtk


Sort of. Can get in. Can fight. Can get out with loot. Don't know about efficient designs though yet.

#19
Hooray!

Completed all 16 steps.
Will test and debug it for a bit (haven't performed some electricity tests yet) and then upload here.
#20
I was sad about RimVerse, too. :(
My project is much smaller, much more specific and should be easier.

And BTW I just completed second stage ^_^.

Next two steps will probably be the most complex ones.
#6 should be easy and quick enough once grand illusion is done.

#21
Description:

Allows spaceships to have detectable interiors (no structural beams needed) and allows them to do suborbital jumps. With planned animation (droppod style).
Currently in early stage with working (i.e jumping) prototype done.
Prototype can currently transport pretty much everything except zoning.
Without animation yet.

After developed it is supposed to be integrated with things like RimVerse and such and be a framework for other mods.
Feel free to use detailed concept below and code in your mods (or continue it yourself if I abandon this). Just keep in mind that everything is subject to change.
All tips are welcome.

Mechanics:

Modified ship ComputerCore.
When commanded to launch a suborbital jump does following (at least this is a plan):

1. Detects ship boundaries and returns ship area as List<IntVec3>. (yes)
2. Constructs full lists of floors, walls and other buildings, pawns and things (possibly zones) inside ship area. (yes)
3. Asks player to select destination (like transportPod). Uses the constructed catalog to project ship boundaries allowing to select suitable place for landing. (yes)
4. Despawns entire ship except for ComputerCore itself and packs it into inner storage. (yes)
5. Using massive Draw() override and disabled Print() projects an illusion of a ship (based on the stored info) instead of despawned actual ship. (not yet)
6. Performs takeoff animation. (not yet)
7. Forms DropPod-like object on the global map but with more content attached to it. (yes)
8. Travels. (yes)
9. On arrival spawns ShipComputerCore that makes an illusion again and on touch down spawns everything. (no illusions yet)

Progress:

Step 1. Simple Illusions. (done)
Managed to make ShipComputerCore mimick different flooring and buildings with Draw() or Graphic() overrides.

Also managed to make ShipComputerCore look like it launches itself in the sky on command despite it being a building (you need to conditionally override Draw, DrawPos, disable Print and call a dirtymesh cleanup for this.)

The reason I did this first is because flooring in game is very different from Things and you need special tricks to make it move smoothly. I wasn't sure it is possible from start but seems like it is mostly ok.
Ideally I will also mimick items and pawns and lights and shadows but it seems like it should be ok so I better prove other stuff first.

Step 2. Ship boundary detection (Done. Ship area is now connected together by any floors and walls)
Created basic selection overlay for ShipComputerCore to visualize ship area.
Decided to make first iteration of area to be Everything that is connected by walls or floors with the Core.
Wrote a recurrent algorithm for boundary detection and it works.
Right now floors-not floors is decided by having/not having a blueprint def in Terraindata. I did it because i wanted for mod to be as compatible as it can.

Step 3. Basic ship contents detection. (done)

Ship now correctly detects all flooring, walls, buildings, items, dirt and pawns inside without double detections. No roof detection yet.
I also overwrote gamend spacelaunch conditions so that ship can now search for needed parts on entire ship grid. Ideally it will require them to be powered.

Step 6. Basic worldmap/localmap landing area selection interface. (done)

Made a raw but working adaptation of user interface from compLaunchable.

Step 7. Basic Travelling Spaceship worldobject. (done)

Prepared mostly-empty but working "spaceship" that is created on launch, is visible on map, travels to destination, sends a message on arrival and is ready to be filled with shipgrid info and actions.

Section: This Map-> This Map transportation tests (via Travelling Spaceship worldobject)
                Step 8. Floor transport. (done)
                 
                          If launch was ordered from pause state... then some unknown...  bad thing ( it brought me a lot of headache) tried to nullify flooring storage of a ship on unpause. Protected my ship storage by adding special setter which DOES NOT allow nullification... and now it seems to work... Yes, Rimworld is a dangerous place indeed.
...Maybe i can use the setter to catch this flooring thief ( like "oh... the value you want to set is null... Can you tell me your name, please?"), but I don't know how to do it yet.

                Step 9. Item transport. (done)
                Step 10. Building transport. (done)
There is a bug in game where simultaneous deletion of walls with doors inserted like X|-|-|X results in a bunch of errors. Was forced to invent a workaround for this. Now works without errors.
                Step 11. Pawn transport.(Done. At least no bugs noticed yet.)
Used 40kInjector (see Acknowledgements).
Detoured Pawnsfinder.get_AllMapsCaravansAndTravelingTransportPods
Detoured PawnsUtility.IsTravelingInTransportPodWorldObject(Pawn pawn)
Now pawns in spaceships should be counted as pawns in droppods.
                Step 12. Roof detection and transport.(done but no hanging outside roof detection yet. For number of reasons including potential problem avoidance and aerodynamical realism it is probable that it will remain this way.)

Step 13. Full destination selection interface with multicell checks based on ship area. (done)

Section: This Map-> Other Map transportation tests.
                Step 14. Automatic landing area selection.(Seems to be working. It is random so hard to tell.)
                Step 15. Attacking other bases. (Done. Well, at least it seems to work.)
There was a funny bug with generated map for some reason starting with null sections[] but putting MapDrawer.RegenerateEverythingNow() was enough to counter this.
There is only one deployment method at the moment and it is "at the edge".
I was experimenting mostly with small "spaceships" though and it looks like bigger ones should have much more trouble with finding place to land.
Don't know what to do with that for now. Maybe less limitations on where it is possible to land (right now for every cell of the ship it is similar to droppod except for it cannot punch through roofs) or an ability to crashland.
                Step 16. Settling with spaceship. (done with cat sleeping on knees)



[Note] Keep in mind that animation is not really necessary for mod to add to gameplay.
If all animation efforts will fail I will just use default screenfader to white to hide the moment of launch. (I will put it there anyway till animation is done)
So when Step 16 is done I will call it a working prototype.

Section: Static ship illusion.
             Step 1. Floors.
             Step 2. Buildings.
             Step 3. Items.
             Step 4. Pawns.
Step 5. Takeoff and landing animations.
Step 6. Shadows and lighting.

Screenshots:

On this screenshot cyan "ship" outline is shown.
ShipComputerCore pretends that it is just wooden plancks and certainly not a modified core.



Landing site selection interface (on world map standard droppod interface is used.)





Abanqueiro was tired of short jumps that evil Houkime forced him to do over and over (and also from other colonists trying to catch his jumping cabin) and this time jumped much farther.

A few seconds before jump:


And after his multi game-hour flight:



Acknowledgements:

Detours (2 methods) in this mod are made using 40KInjector which is cpt. Ohu's convenient repack of CCL-team detouring methods. Injector was taken from his colossal mod Warhammer 40K Corruption. You can find it here:
https://ludeon.com/forums/index.php?topic=28422.msg286833#msg286833


Downloads:

A bit bugfixed GridTOL prototype is attached.

[attachment deleted by admin due to age]
#22
Quote from: Apex on January 27, 2017, 12:51:52 PM
I've been thinking about this. If you can make the space playfield the same size as the original playfield you may be able to have mineable asteroids and so forth "in space"

If you mean a map with mountains-"asteroids" and rocks-"space dust", and with terrain as "space" it is a neat thing i think. A bit Particle Fleet-like vibe and functional as well.

I think it can be realistical to have such a setup, but not in regular space (it would be too strange and arcady) but in two special cases:

a) When you "land" at an asteroid (so you actually travel to it). If an asteroid is represented as a big mountain in black "space" you can dig into it and even live there. Vanilla animations are so abstract that weightlessness really does not change anything graphically so it should be ok.
b) When you visit rings of gas giants. In this case you will have many "dust" rocks and trash and small "mountains" representing small roids of the ring.

It can be beautifully done I believe.
#23
Actually there is no problem with reactor producing power out of "nothing".
(BTW Tynan's reactors are seemingly supposed to rather consume Uranium in a long play)
If you need to add fuel consumption, you can do it in realistical way by making _engines_ require fuel and electricity. Maybe even not conventional fuel but xenon or sth like that.
You can also make reactor run on Uranium but drain extremely slow (decade). It will be  an important thing to consider for long spacetravel.

About space travel time: You can try doing two scales of travel. First is local system.
With future tech it is realistical to travel between planets in about season per voyage or even less. Maybe there will be a small starting glitterworld nearby.

Second is interstellar space. To start interstellar travel you will need to abandon anything behind you and put your pawns into cryptosleep caskets.
This will bring you to another star system withtin tens of years.
En route time will be skipped until some danger appears that requires going out of cryptosleep. Or you can set an alarm clock if you want to do some scheduled maintenance like refuelling reactor with Uranium.

You can generate a small galaxy (like hundred of stars not too far from each other) and your pawns will have different origins and wishes where to go.
You can place advanced glitterworlds near center.

So your lategame will consist of economical struggle to get fuel for engines, trading, fighting, landing for field repairs and trying to bring your colonists where they want to be (yeah space taxi). Game ends when all of your pawns are either killed, abandoned, sold or are in place they wanted to go to. These counts (killed, abandoned, sold and happy-ended) are your engame score.

You can implement some orbital mechanics stuff relatively easy without really calculating and drawing orbits.
First of all make your engines not require fuel otherwise than for "maneuvers".
"Maneuvers" can be calculated in a simplified form of your choice.
Even dumb system will be great.

Example of dumb system (a bit Astroneer-like):
1. You need fixed X fuel for suborbital jumps,
2. Y>>X fuel for orbit
3. Z<<Y fuel to deorbit
4. G~<Y fuel to go to interplanetary trajectory
5. D~G fuel to set on orbit on other planet coming from interplanetary space.
6. S>>>anything for interstellar travel.
7. Same S to set yourself on normal interplanetary trajectory to any planet when going out of intersellar voyage.

It is kind of realistic even if KSP-guys will say that flying this way is inefficient as hell.

Ai core will do maneuvers automatically and provide a cost breakdown before launching sequence. So player won't need to think about it too much.
That's it.

If you fail to deliver fuel to engines when it is needed you're stranded in space. Maybe AI core will request to secure fuel first but still... Pirates and such. Emergency scenarios will be two. Again no real calculations.

Stranded interplanetary: to break this you will need one Interplanetary charge of fuel and one Interplanetary->Orbit charge of fuel. Maybe pirates will bring you or some help arrives.
Stranded interstellar: Pretty much RIP. It will require interstellar charge of fuel + interstellar->interplanetary+interplanetary->orbit. Or help. Expensive help.


Some other ideas for future:
1. EVAs and airlocks for decompression scenario (ready-made in MarsX mod).
2. Roids to mine. You can do it Space Engineers-style when you install a ship drill on the front end, or even downwards and thats it. You may even not draw any roids, just text pops out and materials pop out near drill. Fuel-wise roids are like planets but their "orbit" is same as landing.
Or you can make roid a minimap so you use ground-penetrating scanner, EVAs and usual drills. If so moons will be the same, just larger maps and ability to travel around.

Or you can draw "asteroid" texture for background (like "space") and just sit in your ship and operate a drill that spits out resources till roid depletes.
To give moons an advantage roids can be one-random-resource.

3. Space stations. If interplanetary (star orbiting) - same as simple text roids. Trade screen. If on orbit - you can access them while on orbit. Fuel charge may be omitted for simplicity.
#24
Quote from: MikeLemmer on January 24, 2017, 07:01:34 PM
Quote from: Kegereneku on January 24, 2017, 01:15:44 PM
Building shell and IED have a 10% chance of exploding in the face of the pawn

You can surgically reattach severed bodyparts, but it requires finding the bodypart first by pixel-hunting all nearby tiles.

Actually it is a good and viable idea except for the pixel-hunting part.
In real life it is possible to reattach parts if it is not too late.
However special equipment is needed to reconnect vessels and nerves.
#25
Outdated / Re: [A16] MarsX v3.0.2 - Musky Edition
January 24, 2017, 06:30:26 PM
Actually it is not at all as hard as producing liquid methane from atmospheric CO2.

You can use hydrogen and heat (one of the cheapest solutions) or a thermal breakdown. Hydrogen turns back into water in the process so no water is lost.
You can also use waste CO from MOXIE  (or even produce CO intentionally) and thus go without using water at all.
Very basic chemistry. Mix, heat, and that's it. I myself did it back in school.

Because martian sand is not pure rust you might need to enrich it to the point that it is smeltable after treatment with hydrogen (remaining waste will just float atop of molten pool) but otherwise there should be no real problem.

It is very probable that real-life martian colonists will do sth like that ^_^. Because otherwise you will need to mine stuff in order to get metal, and mining equipment tends to be very-very heavy (and again you will need to enrich and smelt).
Also if not using sand it will be needed to have both ice and metal near colony which is not really an often thing since you need to mine literal _hundreds_of_ tons_ of ice to refuel Musk's ITS and not every ice deposit has this... Well, unless you're ready to scavenge across a huge area for it.
#26
Outdated / Re: [A16] MarsX v3.0.2 - Musky Edition
January 24, 2017, 04:22:54 PM
Ground penetrating scanner doesn't detect anything at least in my save. I hoped for steel and invested in scanner to prevent steel shortage but somehow there is no metal underground.

Also in desert it should be possible to extract metal from sand. Mars is red because it is ferrous.
#27
Why only chocolate?
I want walls from hay like in tales. ^_^
And from snow.

We also should be able to make soft armchair-like (and very insulating) walls out of human leather and such. Maybe even from ragged clothing.
Also build stuff from Chemfuel plastic tanks. Flammable.
There also was a suggestion to make stuff out of bones (which I highly appreciate).

And why the hell can't we build sandbags-like structures by piling up human corpses and ragged clothes?

My bad suggestion: Enable crafting of armor vests, personal shields and strapped bombs designed for animals.
Using an armored elephant as a cover or sending out an explosive snake is a nice thing. right?
#28
Oh, and a bad idea, of course.

Other factions should have population number.
Once they reach zero they no longer can throw people at you so it is possible to outlive everybody.
#29
And such a behavior would be realistical. Even for allies.

"Guys, I saw our allied New Arrivals have a ship! Who wants to get off this rock?"

*dead silence... People are looking at their plates of nutrient paste*

"But they have only 3 caskets..."

*People are looking at each other...*

"...and they are finishing construction and launching any hour"

*Sound of moving chairs, loading rifles and finally a thunder of footsteps. Occasional shots.
Room is empty, only two reside, liveless. The Trader and the Chief.*
#30
1. Laundry and washing dishes.
2. "Research binge" when a pawn starts researching random technology till it drops.
3. "Bedroom construction break" when an upset pawn builds a bedroom for itself afar from main colony if it does not like its bedroom.
4. "Table construction break" when an upset pawn builds a table if it was eating without a table for more than a season.
5. Rebellion, when colony assigns a leader for itself and AI engages till the leader dies.
6. Running in circles arond base as a form of recreation.
7. Scheduled physical training early in the morning when all pawns make circles around base.
8. Oversleeping pawns.
9. "Discipline" parameter which affects chances of pawn prioritizing work and not slacking around.
10. Punishment system to raise that discipline. "Without a dinner today, Gregory"
11. TV, horseshoe pins and billiardis addictions.