Recent Posts

Pages: [1] 2 3 ... 10
Ideas and suggestions / An alternative to wall spamming
« Last post by Warbot on Yesterday at 05:15:48 pm »
So we all know wall spamming is ugly, and other games have more or less ...intuitive solutions to that (Salem splash damage, I'm looking at ya!).

So what needs to be done?
- reduce the number of possible walls (players will just do whatever is possible)
- balance raiding to compensate for that

How to do that:
I thought long and hard about that, and there might be better solutions, so if you have one, share it! ;)
The thing is that a certain amount of (construction) materials x should provide a certain protection y,
to keep that in balance, in a simple way to just remove the many walls in a first attempt, I propose this:
- devs need to chose (for instance) 3-5, meaning the space required from one wall to the next
- explosive damage range is increased to 3-5 (depending on the dev-chosen walls upgrade levels), this means that putting 1 wall every 3-5 tiles is equally effective as placing 3-5 walls behind each other
- make walls upgradeable in size (small/med/large for 3, some more for 4 or 5), per tier (wood/stone/brick)
- med and large walls (of the same tier) can be build upon small walls of that tier, large walls can be build upon small and med of the same tier
- med walls always cost twice as much as small walls (of the same tier) in total(!), and have twice the hp, no matter if you build small walls first and then upgrade, or build med wallls directly
(cost of building small walls then upgrade to med = cost of building med walls directly)
- large walls have 3 times hp and cost of small walls (of the same tier), otherwise same rules as above
-update chest/claim/... HPs, too, to compensate for the larger explosives range

So the implementation trick would be to make dynamic blueprints (bp), for instance med walls buildable on free space for full cost (one bp), or buildable upon a small wall of that tier for half the cost (different bp), and in the same way for large walls.
Meaning you have just one (for instance) "medium wooden wall" to select from the build menu, but depending on if you target a free tile or a tile with a small wooden wall, you will apply a different blueprint.

NOTE: Ingame notice if you try to build a wall tile next to (within 3-5, depending on what is chosen by the devs) another wall tile that already has "neighbours" in 2 other cardinal directions (thereby is part of an existing wall), you get a message explaining how that is a bad idea due to the (now more realistic) range of explosives.

One could do this even one step further and make upgrades possible between wall tiers, therefore the materials would need to be re-balanced so that neighbouring wall tiers share some materials, like, wooden and stone walls share wood and stone (for tiles and doors), and stone and brick share stone and clay/bricks, so you can "save" the already spent materials when upgrading.
This would meaning upgrading you wooden walls to stone or stone to brick is less expensive than removing the lower tier and building the higher, but still more expensive than just building the higher tier and skipping the lower tier altogether.

This would mean less wall tile spamming, and building up instead of wide, making it easy to start your walls small and upgrade later, making it unnecessary to add (many) more layers of walls later so you can just upgrade them and have much more space inside your base instead of having 80% of the tiles in your base be walls.

Ofc this is just an idea, so if someone has a better idea or a vital addition/change to this one, go share it! ;)
Mods / Re: Fast local message
« Last post by Lurler on Yesterday at 02:50:48 am »
Good job! This looks quite useful! :)
Mods / Fast local message
« Last post by Kawasoe on November 14, 2018, 10:49:40 pm »
Mod add fast button for short messages in local chat, such us "Hello", "Help", "Thanks" etc. "Hello" is assigned to the F1 button by default. Enother message need assign in game settings-controls tab- FastMessage sections.

From game client version 0.17

For instalation mod open mods folder

For English version:

download  FastMessageEng.mpk!AiCFvF-CXs7pqSdn3tyyFKt0hNCo and place him in mods folder.

in ModsConfig.xml add
Code: [Select]
Result file looks like this:
Code: [Select]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

Save changes.

For Russian version:

download FastMessage.mpk!AiCFvF-CXs7pqSQ0VvW2nEe-NKju

in ModsConfig.xml add next string
Code: [Select]
Result file looks like this:
Code: [Select]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>

Save changes.
Game discussion / Re: I want the cryofall's vs2017 plugin
« Last post by ai_enabled on November 13, 2018, 02:41:25 am »
Game discussion / I want the cryofall's vs2017 plugin
« Last post by jsrdzhk on November 13, 2018, 02:22:50 am »
Hello!I saw the topic of this game in Noesis GUI's forum and I'm very interested in the UI design of Cryofall.Can you give me the plugin of vs2017?Just for learning from the code,not for commertial use.Thanks a lot. :D
My e-mail
Game discussion / Is hacking/cheating possible in CryoFall?
« Last post by ai_enabled on November 13, 2018, 12:25:40 am »
No, hacks are NOT possible in CryoFall as it uses authoritative-server model and any client-side changes are irrelevant.

And now, the longer version below:

The issue
Some players have asked us about potential hacking/cheating in CryoFall. Whether it is possible and what our approach is.

The bigger picture
Such concerns are expected nowadays - there are multitude broken online games released in the past few years. If fact, cheating is almost expected in multiplayer / online games nowadays. And even big successful games like Fortnite and PUBG are suffering from cheaters and their developers are even suing the cheaters. Mass-blocking the accounts of players suspected in cheating is something people are already used to.

Naturally, why would anyone expect a new indie project from a small team to be any different? But in reality the above mentioned problem doesn't have to be the case!

The simple reality
We're using authoritative server architecture which means that the server never trusts the client - it simply executes a limited set of allowed input commands and runs its own world simulation.

Normally this approach means that the client will have to wait for any changes to take effect but in our case the latency is concealed by using the client side prediction algorithms (basically client-side simulation for player movement and most of the actions including items management).

The server also doesn't send any information the client which it should not be receiving. For example, your visual scope is limited by server and attempting to hack the client to zoom out the camera more will provide no benefits as the server simply doesn't stream the world objects and characters outside the visual scope of your character on the server side. It means that the "map hack" (or any other hacks for that matter) not impossible.

Benefits of open source
Please also note, that all the game-related code is fully open source and its possible to see how everything is done and understand how it actually works.

It also means that any person could try to locate the places where we might have forgotten to put some necessary checks (which is quite unlikely, but could still be the case). There are dozens of remote procedures (such as "eat food") and we have multiple checks there to ensure that you met all the prerequisites to invoke such an action for the particular item in your current character's state.

As the code is available in open source it means that there will be many eyes reviewing the code and reporting any of the possible exploits - something which could never be possible with a closed source game.

Hacking attempts
Since the game has full support for client side modding it is possible to make any client-side changes. Some "hackers" may be impressed by the "results" they get with their attempts - like increasing their health points, weapon fire rate, inventory capacity or setting the technologies unlock price to zero.

But naturally, such changes could not be propagated to the server as it has its own persistent state inaccessible to players and running independent world simulation with it. There will be a discrepancy with the server and that's it - the server will not agree to the hacker's actions and they will have no actual effect what so ever.

The only one such "hacks" will fool is the hacker himself :)

Is there ANY hacks/exploits that are possible then?
This leaves us with really only one class of exploits which are still technically possible and that is bots and aimbots to assist players with the game. Yes, it's perfectly possible to write a bot that would automate certain action (e.g. gathering items) or assist in performing other actions (aiming).

Yes, these types of mods are possible and we neither could nor want to prevent this. The game is moddable to the maximum extent possible and there is no way of preventing this kind of modding without removing the modding capability altogether. But given real impact of such modifications there isn't much actual harm. Not to mention - all of these mods are available publicly and could be used by anyone. And we are even considering making some of them a part of the base game to remove the last reason to even attempt to do something like that.

The bottom line is, there is really no possibility for cheats in CryoFall due the authoritative server model we are using. Hopefully with this approach - CryoFall could be one of the very few games where there are no cheaters and everyone plays under the same rules! :)

Modding info / Re: Events? And some other questions
« Last post by ninekorn on November 11, 2018, 04:46:52 pm »
Hi Periculi. Sorry for such a late reply. I just restarted scripting in Void Expanse recently and thought i`d have a look at this for you. Following are the actions.bind functions that I have found in the original scripts of the game:

Code: [Select]
    actions.Bind("OnCalculateInventoryCache", "CalculateInventoryCache");
    actions.Bind("OnCalculateSkillsCache", "CalculateSkillsCache");
    actions.Bind("OnCalculateBuffsCache", "CalculateBuffsCache");
    actions.Bind("OnCalculateShipParameters", "CalculateShipParameters");
    actions.Bind("OnMaximizeShipValues", "MaximizeShipValues");
    actions.Bind("OnUpdateShipParameters", "UpdateShipParams");
    actions.Bind("OnCalculateNpcLeveledCache", "CalculateNpcLeveledCache");
    actions.Bind("OnShipWarps", "OnShipWarpsHandler");
    actions.Bind("OnChatReceive", "OnChatReceive");
    actions.Bind("OnChatCommand", "OnChatCommand");
    actions.Bind("OnCollision", "OnCollisionHandler");
    actions.Bind("OnHit", "OnHitHandler");
    actions.Bind("OnRayHitProjectile", "OnRayHitProjectileHandler");
    actions.Bind("OnProjectileHitShip", "OnProjectileHitShipHandler");
    actions.Bind("OnShipDestroyed", "OnShipDestroyedHandler");
    actions.Bind("OnShipTryToEnterJumpgate", "OnShipTryToEnterJumpgateHandler");
    actions.Bind("OnShipDestroyed", "OnShipDestroyedHandler");
    actions.Bind("OnShipDestroyed", "OnCWaveEmitterDestroyedHandler");
    actions.Bind("OnPlayerEntersGame", "OnPlayerEntersGameHandler");
    actions.Bind("OnPlayerEntersSystem", "OnPlayerEntersSystemHandler");
    actions.Bind("OnStarSystemUpdate", "StarSystemUpdate");
    actions.Bind("OnEnterFrame", "EveryFrame");
    actions.Bind("OnBaseGenerateStock", "GenerateStockHandler");
    actions.Bind("OnInstancedContainerGeneration", "ContainerGenerationFunction");
    actions.Bind("OnDebrisCollided", "OnDebrisCollidedHandler");
    actions.BindToTrigger("onConsumableUsed", "onBallisticAmmoConsumableUsed",
    actions.BindToTrigger("onConsumableUsed", "onRocketAmmoConsumableUsed",
    actions.BindToTrigger("onBulletHit", "OnEMPWpnHit", { projectile_id: "weapon_emp_s1_0" });
    actions.BindToTrigger("onBulletHit", "OnAntihiveHit", {});
    actions.Bind("OnPlayerEntersSystem", "OnPlayerEntersSystemHandler");
    actions.Bind("OnShipAttacked", "OnShipAttackedHandler");
    actions.Bind("OnThankYouMessage", "ThankYouMessageHandler");
    actions.BindToTrigger("onNpcSaved", "NpcSavedHandler");
    actions.BindToTrigger("onNpcKilled", "NpcKilledHandler");
    actions.Bind("OnCargoSold", "CargoSoldHandler");
    actions.Bind("OnHackSuccess", "OnHackSuccessHandler");

But I believe you can also code your custom actions.

I don't have an answer right away for those:
Upgrade elements- i got no idea
Unused item type codes - i think i might have info on that but i gotta search my private messages.
faction-filter- never used it yet.
item durability- i got no clue but i am interested too in that.

And for initiating dialog with Npcs you use the function implemented in patch v2.1.0 here

Code: [Select]
(player scope)
void player.StartDialogue(string player_name, string npc_tag_unique_id);

That can be initiated also from an Npc script.
General Discussions / Are spanish people too dumb to read?!
« Last post by Warbot on November 10, 2018, 12:02:18 pm »
Sorry for sounding racist here, I am totally not, it's probably just a group of little kids but who knows...

So there even is a spanish server now, how retarded do you need to be to take your group of 15 or so spanish kids and harass the english server all day in spanish?!

Seriousy, you tell me...
Servers / How to configure the local server?
« Last post by RedArrow on November 10, 2018, 07:19:32 am »
How to configure the number of resources, experience and study points on the local server?
News and Updates / Re: CryoFall - Patch notes v0.17.x (Pragmium Update)
« Last post by Lurler on November 09, 2018, 05:22:14 am »
=== CryoFall v0.17.3 (release) ===

   - Rebalanced HP for storage crates
   - Expanded map (northern regions)
   - Now it's possible to build land claims with intersecting if you're in the access list of both land claims
   - Updated many in-game descriptions
   - Reduced fire rate for plasma weapons a little bit
   - Added overkill damage limit dealt to player set to 5X of the HP (primarily to prevent situations where your armor or implants are destroyed in a single hit)
   - Proper (exponential) zoom function
   - Option to scroll though the hotbar with the mouse wheel (can be changed in options)
   - Zoom in-out buttons
   - Last zoom level is now stored between sessions
   - Added context menu for the world map
   - (for server operators) Spectator mode /spectator 1 <nickname>
   - Added IProtoItemWeaponRangedEnergy
   - Scroll wheel processing in scripting
   - Renamed: "Character Energy" -> Stamina, Power (for power pack) -> Energy
   - Alt+Click on a hotbar item (with closed window) to use item didn't work
   - Proper item icon scaling for items showcased in Display Case
   - Land claim safe items were destroyed during the land claim upgrade
Pages: [1] 2 3 ... 10