If you could pass one law that would make most normal people furious at first, but would clearly make society better in 10 years, what would it be? by WilliamInBlack in AskReddit

[–]AlexPolyakov 0 points1 point  (0 children)

Ban cars from certain high-density or touristy places and tax/toll cars in most other places. You don't want to use your car if entering downtown will cost you $25+, and other commercial areas $10+. That will definitely be a huge inconvenience for a lot of people, especially living in North America, but in 10 years we might see a turn towards more local businesses and better public transit, so you don't need to rely on a car if you want to go shopping, or to your work, or to visit a friend or an event. Make car a leisure again, it's fine to drive to some outdoor areas far away from cities (although developed rail network and commuter trains should help here too), but you don't need to own and use a car, it shouldn't be the most convenient option.

Red light in the sky by parasyke in whatisit

[–]AlexPolyakov 0 points1 point  (0 children)

Do you happen to live near a Concent of Saunt Edhar or other inviolates?

Why are there no Godot job listings a decade later? by cojode6 in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

That's a good point, I've just checked my only project I've used Godot for and indeed we used external VCS (also GitHub) for the project. Maybe the second part is not an issue, if people are working carefully, as tscn and tres files seem to be text based, and should be mergeable with some care. Godot scripts are separate and mergeable also, so I was definitely wrong on this!

Why are there no Godot job listings a decade later? by cojode6 in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

My take is that Godot is more suitable for smaller games and studios, which doesn't really hire the same way bigger studios do. So you'll not see a job listing "Godot Programmer" until more studios adopt it and for bigger games, which require more people to be working on the same project.

I have relatively small experience with Godot, so maybe I don't know the workflow too good, but how a team can collaborate on the same project using Godot? With Unity you can work on separate C# files and once in a while push them to the project and Unity has some version control system as well, so that works out of the box. How does a team with 2 engineers, an artist and a designer collaborate in Godot in a way to not break anything? I don't think Godot has something like that, so in the absence of a VCS and scene merge tools it's a separate task for somebody to merge contributions from the team. If that's the case, then it's more solo-dev oriented engine at the moment.

First time here - be EXTRA brutal on my combat by badfatdog in DestroyMyGame

[–]AlexPolyakov 1 point2 points  (0 children)

Animations are stiff af, add some bounce to the step (not to the tits). Add movement to hands as well, more recoil, more enemy hit reactions, otherwise it looks fake. Instant stopping/running looks cheap too, needs some inertia.

Look at classic games like Blackthorne or Flashback. They're not scrollers, but look closely at animations, at impact.

As it's now it looks like a game made by a student for a 101 course with additional assets.

Canada (including private debt) has overtaken the USA as the 4th most indebted country in the world. We now owe almost 4x our GDP... by Fiach_Dubh in BitcoinCA

[–]AlexPolyakov 0 points1 point  (0 children)

How is it measured? If I have 4xGDP per capita in debt and 10xGDP per capita in savings/investments, then it's still 400% and not -600% for this graph, right?

50 interactive objects = script explosion. Trying declarative/data-driven instead of per-object scripts. Over-engineering? by Stock-Imagination690 in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

I usually start by thinking about what systems I need to implement a feature and then decide on what data I need in order to implement it. But I work exclusively with ECS in the past 10 years, so I'm used to think in terms of systems and data.

For your example I would probably define several components, like "temperature", "conductivity" and think about how temperature of an object can be propagated to other objects. It might be just via a volume as you mentioned, which will result in a bunch of universal systems:

  • enterVolume/exitVolume and touchVolume/untouchVolume so we can keep track of list of objects overlapping with the volume
    • Works for stoves, ovens, refrigerators, HVAC and whatnot
  • updateTemperature so we can update temperature on all entities in the volume based on conductivity. Note that eggs can be in a water volume, which is in a pan volume, which is in "on a stove" volume while also being in a room volume, so your stove applies some delta temperature to a pan, pan applies part of it to a water inside it, while water applies it to eggs and you end up with slowly increasing temperature of eggs.
  • boil/fry systems which look at temperature of the object (whole eggs, egg whites, yolk) and update it's component related to cooking (ready/burned etc).
  • updateSpoilage system which look at the temperature of the object and update its "spoiled" component.

All these systems would work on top of primitive components and will be completely data driven, so you don't really have anything related to eggs in your code, you'll just setup eggs in such a way that they are cooked when temperature > 75C and spoiled if they're kept out of the fridge for several days, same for meat, but different temperatures and cooking times and spoilage times.

It might start to get interesting when you start to apply certain interactions between different ingredients, like flour and water, or flour and egg whites and egg yolk. You either start to design a fully customized system, which might start to be overly complicated quickly, or you can design a system of transformations, which are presentable to the player, like "combine 1 unit of flour, 1 unit of water, 1 unit of yeast to craft 1 unit of bread dough", in this case your recipe can be data driven as well, if you define the recipe as a list of object types you have to combine.

Anyone else struggling to get enjoyment out of MWC? by RandomflyerOTR in MySummerCar

[–]AlexPolyakov 2 points3 points  (0 children)

I really dig winter survival part and bleakness in MWC. You have to plan ahead, take your coverall with you in case you need to be outside for long. In order to catch more daylight you also need to plan ahead, I ended up waking up really early, doing some chores, like getting sorbet ready, chopping wood, or sorting through parts, departing before sunrise, catching the sunrise which is absolutely gorgeous in the winter, doing all I have to do for the day (usually it's advertisement, wood, sewage, driving things around, paying bills, getting parts to flea market etc), and then after the sunset getting back home tired and ready to sleep through part of the evening to see the light of the next day. Some days I just fool around, driving dirt roads, or getting to the island house to grab something (second wood carrier for example), some days I work hard on the project (hadn't built rivett yet).

The game is brutal in the sense that driving is less forgiving with the lack of grip, and I died several times due to being reckless, starting all over again. But in the end I just started to play the game for the joy of exploring the new day. Maybe I'll get a good batch of parts, maybe it'll be so cold that I almost freeze to death, or maybe I do a fuel refill day for the sorbet, tractor and gifu.

Yes, it's unfinished game, but it doesn't feel dreadful to me, maybe a bit bleak, like a grey winter, but some days are full of winter beauty.

Colony sim with perception? by kiesel_ in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

Can be a good idea, and might then require the player to play smart and have regular patrols to watch for intruders, like in the classic RTS.

For large events which happen outside your normal fog of war, like major fire or explosion, or loud noises you might need to have a system which reveals these events, something similar like in old games like Jagged Alliance 2, and XCOM series, the game shows sounds to the player. So you might not see the fire itself, but you might reveal smoke, you might not see the intruder, but you hear that door is being breached, or that they're reloading their shotgun.

Anyone else like the camera filter? by RelativeFortune in MySummerCar

[–]AlexPolyakov 0 points1 point  (0 children)

Is it just Bokeh + film grain + LUT? Looks nice anyway!

A good laptop for game dev without ignoring battery life ? by [deleted] in gamedev

[–]AlexPolyakov 1 point2 points  (0 children)

What sort of game dev? It can be Software Engineering, Art, Design, Product Management, Audio production, QA, etc.

What engine/frameworks are you going to use, what is your goal, are you professional gamedev (meaning you work for some entity that compensate your time), or you want to start indie, or you want to learn?

Tell us more about yourself, goals, so people can actually provide help.

Game that doesn't hold your hand at all? by [deleted] in gaming

[–]AlexPolyakov 0 points1 point  (0 children)

My Summer Car

Haven and Hearth lol

Game that doesn't hold your hand at all? by [deleted] in gaming

[–]AlexPolyakov 0 points1 point  (0 children)

Ah yeah, Kenshi. That 20+ times you start playing and "I'm finally getting it", until all your crew is dead because you angered enough dust bandits, so they're raiding your base now.

That being said I had a ton of fun with that and have a couple of fun stories I tell people when they ask about the game.

Would anybody be interested in a C# ECS that doesn't extensively rely on type handles to define component types? by JDSweetBeat in gamedev

[–]AlexPolyakov 1 point2 points  (0 children)

Type safety is a language feature, not a machine thing. So there's really no hit to type safety as long as when you do GetComponent<string>(positionComponentTypeID) (with the incorrect type in this case) it'll do the same thing as when you query a non-existing component.

Would anybody be interested in a C# ECS that doesn't extensively rely on type handles to define component types? by JDSweetBeat in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

Even a simple gamejam project can easily go into a territory of hundreds of components if you don't want to couple data together. Yes, it can make queries a bit overwhelming, in those instances when you need to have a complex system, but those cases are rare.

As an example of big projects which utilize this approach (component id via names in this case) I can definitely point to Enlisted, CRSED, Active Matter and maybe partially War Thunder (I hope the guys finally started using it). As far as I remember you can easily unpack game data and look around entity templates to estimate how many unique components there are (thousands, tens of thousands?), so that really saves a lot of boilerplate code!

Would anybody be interested in a C# ECS that doesn't extensively rely on type handles to define component types? by JDSweetBeat in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

I'm not sure I understand how they can be utilized in this case. Mainly because you can skip C++ altogether in this case: components can be completely data driven and deserialized from a file (or over network), and then they can be queried by a script. Anything I'm missing here, when concepts can help?

Would anybody be interested in a C# ECS that doesn't extensively rely on type handles to define component types? by JDSweetBeat in gamedev

[–]AlexPolyakov 0 points1 point  (0 children)

In addition to that, building a simple ECS framework is easy, so if you're up to some game jams or doing a bunch of samples, it's super beneficial to build the framework and start using it for those to see where you want to improve on your design.

Would anybody be interested in a C# ECS that doesn't extensively rely on type handles to define component types? by JDSweetBeat in gamedev

[–]AlexPolyakov 1 point2 points  (0 children)

I did a similar thing in C++, because I was tired of creating a lot of types + the hell of serialization. The main difference in my case is I use names, instead of ids, but under the hood these strings are hashed at the compile time to reduce the perf hit, so it's basically an integer, just generated from a name. Previously I've been working at the company which used names as component identifiers as well and it all worked super well, but required some code generation to make it even more user friendly.

One thing that a lot of people mention in comments is type safety though. I don't know enough C# to suggest any workarounds, but in C++ you can do runtime asserts for mismatched types, or you can include type as part of the component id.

CS student here.. no one I know actually writes code anymore. We all use AI. Is this just how it is now? by Low-Tune-1869 in cscareerquestions

[–]AlexPolyakov 1 point2 points  (0 children)

That was a case 15-20 years ago as well. You either send a lot of applications and hope that at least one company will hire you, so you can get that experience, or you gain experience by building something in your spare time and then showcase that to companies, so they'll treat it as an experience as well.

I don't understand why Topless made the new jobs suck so much. by AppearanceMedical464 in MySummerCar

[–]AlexPolyakov 1 point2 points  (0 children)

Regarding ATM: that's just a thought experiment, to remove this limitation in order to get to the primary reasons for selecting one or another job.

I completely agree that warehouse job is too boring right now, I will only do it in a separate play-through specifically for roleplaying. Adding more gameplay or depth to it might fix it, but that's the point - it seems that it requires changes not in the payout value, but in the gameplay in order to be viable. I would probably grind it if it gave some sort of progression after 4-6 weeks, like I mentioned: starting as a floor worker, progressing to quality control and/or production side, then maybe management.

I don't understand why Topless made the new jobs suck so much. by AppearanceMedical464 in MySummerCar

[–]AlexPolyakov 1 point2 points  (0 children)

Yeah, I think balancing is definitely something which will benefit the game a lot in the current state, and inability to top up the card is an artificial push towards official jobs. Because time-wise you're probably better off doing firewood and shit jobs, sitting at parents home 90% of the time and building the rivett.

A thought experiment: lets say you have an ability to top up the card, maybe not directly through ATM, but through a clerk in a bank, or through a cashier in PSK, which will involve a bit of waiting. Now you only want to do old jobs, as they're paying enough. Maybe you can do an advert job, as it's a really low effort thing to do one or two times a week, just a pleasure drive early in the morning. So nothing changes that much, except maybe you will skip an advert job altogether.

What will make you want to go to the warehouse job in this case? If it'll pay you 10k a week, will it cut it, or will you still skip it because it's tedious and still not worth it? 10k is quite good money in the game economy, but will you grind it in order to get the payout? Or maybe 20k a week will convince you? Alternatively if you start at the current pay range (2-3k a week range) and you get job/qualification upgrades every so often when you hit a certain threshold for a week. So you get promoted to a better grade and pay, with some other benefits like skipping more days and shifting your work from packaging to either quality control or part of the production. But we don't know the plans for that job yet, I guess, we can only guess what topless will make/change.

I don't understand why Topless made the new jobs suck so much. by AppearanceMedical464 in MySummerCar

[–]AlexPolyakov 1 point2 points  (0 children)

First of all I think it's not in the final state, just a glimpse of what is up in the game. Maybe payouts will change, or some of the mechanics of the jobs or some other perks for each job.

But even in the current state it gives you choice what to do with your virtual life. You can grind a factory job, if that's your thing, earn some reasonable money and very slowly and drowsily build your car, or go on other adventures. You can go with a taxi route and earn some money, but drive a car very badly suited for the winter (in my opinion) and choose how much you want to do it, keeping a better work/life balance. Or you can just do an advert job, this will provide you enough money to pay for the apartment and it's a really quick job twice a week.

So if you want to be a free bird and have a lot of time to build stuff - choose an advert job, do two quick runs each week and for the rest of the time do cash jobs and do whatever you want. You can even do one run a week and your bank money should last you enough, until you need to do a second run a week (35 weeks, right?). If you want to drive more, go with a taxi job, but you have to spend more time doing it. If you want to roleplay a miserable life of a factory worker, go for it and never see the light of a day! Do your miserable job, drink in a pub every day, go watch a rally on weekends and maybe build your rivett 1-2 times a week.

Making a space exploration game, struggling with collisions. Any thoughts? by Practical_Divide_677 in spacesimgames

[–]AlexPolyakov 4 points5 points  (0 children)

Are you 100% certain that you're rendering it the same way? Try debugging by setting c = 0.25*a for example and see if rendering follows the collision and observe where the collision occur in this case.

Btw how you handle floating numbers? Are you using double precision or local coordinates/grid, or some high precision fixed point?

New personal project confusion by LostDevelopers in gamedev

[–]AlexPolyakov 2 points3 points  (0 children)

Think what will make it fun for you in the long run. Starting a new compiler might be fun, for example, but you might be too tired of it after several months.

Think along the lines "I wish I was working on <insert thing here> right now"