HNHacker News
TopNewBestAskShowJobs

cupofpython

842 karma · joined March 2, 2022

submissionscomments
cupofpython··on Ask HN: Any solo game developers here?
>we have spent time looking into other game engines besides our own to see if we could move faster on established products while minimizing risk, but the landscape is amazingly poor.

i hadnt done a real deep dive yet, but from introductory readings on a few engines this was my impression too on what we are looking for in general. Glad to know im not the only one to feel it.

>So ideally you and I would have access to a 2D or 3D engine that had multiplayer out of the box, could write game mode code that was networked to connecting clients even if they didn't have the game mode, and allow them to download assets they were missing as well. And while you were playing the game, had the ability to change the game code on the fly and send it to clients so you could develop and play test in real-time.

Yeah pretty much, though the last part would be icing - restarting the game / reconnecting to the server in response to anything more than parameter tweaks is okay. just really want to avoid excessive manual file management

>If you have found some other software like this, though, I'd love to hear about it.

I wish. If there are, then they dont support 3D PC games, because my search has been limited to that.

given how long ago garysmod was, i would be very surprised if no one has tackled those principles from the game engine standpoint already. I'm guessing any team that prioritized multiplayer sandboxing in building the game engine must have made the engine propriety and built a game studio around it.

Is Planimeter Game Sandbox something I can check out? or is that more of a target and Planimeter Game Engine 2D is the current iteration?

My next research step for myself was going to be to look at the tools in the WebAssembly ecosystem

cupofpython··on Ask HN: Any solo game developers here?
Could you give me some advice on a related problem I have?

I want to make a "game" which is more of a game environment sandbox. something kind of in-between game engines and actual games. I want to be able to create the feel of different game types like FPS, RTS, top-down adventure, side scroller, whatever - within a certain set of consistencies of my choosing. Like something to toy with different ideas for game mechanics in different settings while not needing to explicitly manage things like what a wall or door is each time i change things (things that would be defined as part of me creating the "game"). I want to be able to invite a friend into test environments as well (so multiplayer needed). I am expecting to need to make edits to the game mechanics outside of the game, possibly even through adding extensions to whatever game engine i use - so i will not be looking to set up a UI for tweaking settings. Just something that makes it easy to make changes to how the game functions, easy to spin up a dedicated server to run an instance of the created game environment, easy for another person to join that environment.

Advice needed is: is this scope feasible for 1 person and what game engine should I look into for trying it out? I am not trying to do anything particularly fancy; no overall game design, no story, minimal amount of textures and assets. Literally just an environment to toy with game mechanics.

I understand there is so much below the surface of what I am trying to do that I dont understand, i.e. I have seen an example for all the decisions that need to be made about doors, how interactions work, size, how changes are managed (this door, or all doors?) etc.

Basically, I am not trying to send my friend a new .exe everytime I make a change to a game mechanic - since that's expected to happen a lot as the primary use-case for the thing. If I add assets, then yeah - although ive seen games have the ability to download assets when connecting to the server, so maybe not even that. Ideally, I'll have a fixed set of assets that cover everything of interest, and the way they are rendered and the multiplayer networking and all will be consistent throughout.

hopefully this all makes sense

cupofpython··on AlphaFold reveals the structure of the protein universe
nice, very cool then
cupofpython··on AlphaFold reveals the structure of the protein universe
did they come up with their structures independently of the x-ray crystallography, or was that part of a ML dataset for predicting structure
cupofpython··on Having no experience can be better than having the wrong experience
does FAANG employ generalists on a ladder? I feel like they would just hire a consulting group instead
cupofpython··on Having no experience can be better than having the wrong experience
>the latter tend to expect a higher salary due to their accumulated experience.

i was thinking people who are probably capable of retiring, but still want to work a job with more soft perks than pay. but yeah, maybe the work doesnt really suit anyone. Just a temporary type of work until you figure out what kind of specialization you want to do, or to build up experience for consulting maybe

cupofpython··on Having no experience can be better than having the wrong experience
IME from doing general work at 3 companies in different industries (which might not be fully representative): Also sorry, turns out i ended up venting

>someone has to do it, and if the pay is adequate, it's a matter of attitude.

the pay is adequate for the value of the work (which is low), and it eats up your time which actually lowers the average value of your work to the company. it isnt anything other people cant do, it's just the stuff that piles up because it isnt really critical to get done but should still get done. think about what you would have a coworker help you with at your job if you had a lot to do and they asked you if you needed help with anything.

>are you saying that such a positions are always underpaid?

Yes they are underpaid because the job responsibilities are usually pretty fuzzy. you are typically given some basic responsibilities but then expected to find more work to do yourself via talking to people. so its on you to both find valuable work to perform using your general knowledge (kind of fun / interesting tbh) and also somehow be convincing that your contributions are better than what they would have gotten from an average generalist (nigh impossible). It becomes very hard to get people to recognize you going above and beyond, which is necessary for raises. So you are very dependent on having an incredibly observant manager who applies above average attention to detail when reviewing you.

how you get this work as a generalist, btw, is you ask people what they need help with. It isnt an issue with attitude, it is just one of relevance. An average generalist can be fine with this, but if you are above average at multiple roles then it becomes a point of opportunity cost. you will never work on the high-value things that someone else more specialized at the company is capable of working on. you will work on the things that were preventing that person from spending more time on the high-value things. they might talk to you about it and you might give them thoughts on the work, but it will be so casual as to be awkward for them to give you any credit for it.

>if such a position really has influence, it actually sounds appealing to me

It can be a very enjoyable position BUT you stall out - it will typically fall under some sort of generic business analyst job title at a small to mid-size company (ie not at a company with an analytics department for you to advance in). youll be encouraged to "build" that department by yourself, in your downtime, without any approved budget for it, without adding anything to anyone elses processes (ie requiring them to stick to a data entry format). So people at the company will typically like you, but you'll hit a lot of resistance trying to get past like $70k (near NYC). It makes me think that 1 good generalist is valued close to but beneath 2 junior employees with a bit of different specialization each.

the only way I can recommend a generalist position is if you are buying significant amount of stock in the company, fully believe in the product/service, and understand that sometimes in order for a team to do its best there needs to be a thankless support player somewhere in there.

you dont have noticeable influence, btw, you just know what you did and feel personally good about it. you get to sit in on meetings, typically as a note-taker (because you offered to and it makes sense because you have a bunch of misc responsibilities anyway), which means you get to make sure the most important things from a meeting are emphasized, questionable things are highlighted, and you can speak up in the meeting itself to help address misalignment's before they happen. the meetings themselves tend to get credit for your contribution rather than you, albeit sometimes you can make pretty direct call-outs that will get you credit for.

the general vibe was kind of like, you are an alert system and garbage collector. a lot of the time the alerts are received as helpful reminders of issues that would have been caught somehow anyway. but that's kind of a catch-22 for proving your value. you feel fairly confident they wouldnt have caught the issue based on the nature of the due diligence you applied to the situation and your intimate knowledge of the related business operations. you cant exactly point why you think the issue would have gone unnoticed without throwing someone under the bus, which isnt fair to do before the issue actually arises. the catch-22 is that the issue isnt going to arise because you pointed it out, but you cant prove it was necessary for you to point it out unless you dont point it out.

So you need an observant, reasonably skeptical manager on the same page as you to notice the shitstorms you prevent. But even then there's typically no direct means of compensating you for it. you get labelled a good employee, quickly jump to that 70k area pay cap into yearly inflation adjustments, then you end up just getting more soft benefits like openness to alternative work hours, no resistance to taking time off, and such. With the caveat that you have to correctly read the room on these things and assert them yourself because you wont be getting an email detailing such perks. that is all well and good, but it seems better fit for someone near retirement then someone with goals of trying to buy a house and raise a family.

cupofpython··on Having no experience can be better than having the wrong experience
> you have to make big decisions early on about what you're most interested in and then pursue a deep specialization in it

I am seeing similar trends to you wrt Generalists, and this is annoying but good advice.

Even when hired, generalists tend to get stuck with all the most tedious work from every department that simply no one wants to do. You end up being a one-stop shop for all intern and junior related work, with the added bonus of being invited to a lot of meetings and not getting credit (appropriate $ compensation) for your influence in those meetings.

I've settled on the belief that general knowledge is something you do for yourself, and to help set you apart from other specialists. It doesn't pay you directly. I've got almost a decade of general business and analytics knowledge, and always seems to stall out on the climb in ways you describe (not dropping the right software name brand). Time to make a bet

cupofpython··on Arguing from compassion (2021)
I understand that frustration, but there are layers to benefit of the doubt. Sometimes giving BotD involves changing the conversation topic because an understanding is not going to be reached on the current one. the best way to think about it is that the other person exists over a period of time, and maybe right now with you they are not their best self - for whatever reason.

I dont enjoy casting people into out-groups, but I understand its appeal and necessity for some people. However, I dont give BotD for the other persons benefit. I do it for my own peace of mind and because I find it yields better conversations overall. Sometimes conversations go nowhere, or people deliberately try to manipulate. Those conversations yield nothing, but that's okay. No one owes me anything, afterall. there's always the future.

I find the best way to keep people open to changing their minds about something either now or in the future is to make them feel like they are free to support whatever they want. Then I act as a source of information and act as a safe zone for thought-exploration.

People do not enjoy feeling hunted. and that goes for educated people hunting uneducated people in order to teach them something or else be out-casted. I think a response of "fuck you, go ahead and outcast me" to that would be pretty normal.

I would much prefer in-grouping people with proper differentiation. "so and so is a great cook!" instead of "so and so doesnt understand climate change and couldnt hold a rational conversation with me about it that one time so I dont associate with them anymore and if they die then good riddance". People want to be validated. Sometimes finding something to validate someone on rather than attack them on the points of disagreement can help reshape their identity. they might never agree with you, but maybe you can move them towards ignoring the topic entirely within their lives in favor of other things that are better aligned with the good of society.

cupofpython··on Arguing from compassion (2021)
I have inadvertently been "starman"-ing people my entire life. I usually refer to it as "benefit of the doubt". I have not encountered any problems with it in practice other than that sometimes I end up talking in circles when the other person doesnt really have a strong central point to their argument (or it is just not clicking for me no matter how hard I try to understand)

I think if such practices became mainstream, then people would begin to realize the difficulties involved in having a coherent conversation about a point of disagreement. The passive-aggressive cudgels you mention would fall flat because it is instantly noticeable as not fitting the necessary patterns for coherent conversation.

No one needs to accept or reject the other. the point of an argument is to educate each other, answer questions, and allow each other to fit both opinions into their own world view (ex. what are the limits / specifics to your belief?). Maybe someone changes their mind during that conversation, maybe they dont. maybe someone needs to let the new information ferment in their minds and life for a bit before it clicks. that is part of giving someone benefit of the doubt

maybe you are talking to someone who is venting, or in the middle of a mental episode (i mean that literally, not derogatorily), or was unfortunately born a narcissistic manipulator and cant help themselves. It doesnt matter, they cannot "win" the conversation - no one can - and the more people that realize this truth about conversations in general, the better the world will become

cupofpython··on The “spreadsheet mentality” sucks, and kills the efficacy of jobs
Oh definitely.. but a good leader could still fall into some traps of thinking they can offload some of their good leadership decisions into targets. and then employees feel judged rather than seen
cupofpython··on Magnus Carlsen to give up World Championship title
>The more likely outcome if the engine is 'correct' is that it sees the line but thinks an alternative one offers a much greater advantage

No I mean it literally does not see the advantage until after the move is played and it runs depth on the new position. then if you "undo" the move, the engine will now assert it as the best move instead of its previous recommendation (thanks to its cache). It is a very rare occurrence, but Ive seen it happen watching analyses of top games.

another similar thing is that engines aren't that great at detecting "fortresses". So a position that is a draw might be evaluated as an advantage for the attacking side, even though there is no successful attack available. technically the attacking side does have the advantage / more powerful position.. but since it cant be won it should be evaluated to 0. by evaluating it to +1 or similar, that might make the engine favor it over a +0.5 position where attacking chances still exist.

>The engine might also generate lines of play that have one or two flaws, but the engine thinks it's very unlikely that the opponent will find those flaws

do engines do this? this seems much closer to human strategies. In general I totally agree with the larger point that a mix of human and machine is the best combo.

>chess masters around the world don't feel threatened by the computers yet

what do you mean by this? If any master needed to play against stockfish for their life, I think they would feel overwhelmingly threatened. Or do you mean this strictly in the context of human + engine being better than just engine alone?

cupofpython··on The “spreadsheet mentality” sucks, and kills the efficacy of jobs
> if downstream ops are expected to cope with, say, a deviation of 20 %, that tolerance kind of becomes the goal for the forecast accuracy.

I think a forecasting target of 20% shouldnt be necessary unless you want to be around 19% deviation. Which might be the case if trying to reach 0% has diminishing returns and isnt actually cost effective. In other words, targets make sense when you are literally targeting a sweet-spot.

If 0% deviation is desired, then the directive is still the same - try to be as accurate as possible. If "as accurate as possible" is consistently falling below 20% (which is the importance of measuring and data) then you need to address that. Maybe forecasting is broken or infeasible.

On ops side, they might not be expected to handle deviations over 20%, but the directive is probably the same either way "do the best you can to manage the deviation".

>For me, setting limits on certain metrics is something different from a target. It is a thin line between those.

I agree with this in general. It can be tricky to communicate "here is a boundary that absolutely cannot be crossed, but keep in mind you should be nowhere near that boundary anyway" without it impacting peoples personal optimization strategies. You really have to weigh the consequences of what actually happens when that limit is reached, and if it's worth a possible depression of performance from the team.

cupofpython··on The “spreadsheet mentality” sucks, and kills the efficacy of jobs
In addition to this, metrics do not need targets. repeating for emphasis: metrics do not need targets. You absolutely need measurements and data, and to highlight trends.. but target metrics are almost always bullshit.

It reminds me of a psychology study done on kids that I wish I had the source for. IIRC when asked to perform a task for no reward (like, how many simple math problems can you solve in a minute?), many performed it well. then they gave the good performers gold stars. Immediately, the kids not getting stars started performing worse than originally. Then they took away the gold stars. Now the top performers started doing worse as well.

People just want to be seen and heard. Measure the things that are important WITHOUT deciding in advance what is considered a "good job". this way you can do your 1:1 on the whole picture. "you're slow, but your quality is exceptional"

The only exception to this is if the work is simple enough that you can measure it directly against your $$$, and you have a target that ensures you are green. Like maybe a strictly data entry position for a very consistent source of data. In this case, there arent 1:1's to be expected with your employees.. they either hit target or get fired.

cupofpython··on Why we ignore thousands of daily car crashes
probably because self-driving has fuzzy accountability and is the same driver in all vehicles.

if a taxi driver crashes, youve got a bad taxi driver somewhere you will probably never interact with. If a self-driving car crashes, you've got possibly hundred of thousands of potential accidents waiting to happen from the same "bad driver"

the regular car accident conversations have all been had. what else is there to say?

cupofpython··on Commenting on Hacker News
I do like that you cannot downvote people replying to your own comment
cupofpython··on Commenting on Hacker News
> whenever I check the comments on a post the top comment is like "ackchyually..."

I attribute this to the quality of the source material. there's a limit to how much the linked article can reasonably convey while still being an introduction to whatever is being talked about. Very rarely, if ever, is a website article posted that requires prerequisite reading of a different article. So nuance usually gets shafted a bit, and in-depth research postponed, to keep the article easy to read.

it then gets posted here and inevitably someone has something to say about the nuance

cupofpython··on Commenting on Hacker News
effort put into comment !~ value of comment to others
cupofpython··on Magnus Carlsen to give up World Championship title
thank you, this is pretty much what I was trying to say. Especially the narratives part. there are plenty of instances of humans finding winning moves in positions that the computer did not 'see' the advantage of until after it was played. That doesnt happen because the human saw more moves ahead than the computer. It happens based on work done building a generalized intuition about the game itself which i would argue extends beyond what would be expected from "pruning" algorithms.

If a computer could assess every single move, it would. A human would still prefer to rely on narratives and game sense if it's good enough

cupofpython··on Magnus Carlsen to give up World Championship title
I think you are misunderstanding. His sentiment seems to be one of "I am burnt out and unmotivated to continue BUT the idea of playing against a young upcoming GM could be motivating enough"

So it isnt the most important reason, but nepo being the challenger didnt offer anything to change his mind like he was hoping the result of the candidates would.

cupofpython··on Magnus Carlsen to give up World Championship title
you're missing the point of my post. yes the computer prunes, but fundamentally it is attempting to review all possible scenarios indiscriminately as opposed to a human who is trying to make some sort of sense of the position. without work, as in developing an intuition for making sense of the game, a human looking ahead doesnt provide value.

so im not sure why you think i was trying to say humans cant move pieces around in their mind.

you also completely ignored that i was mainly addressing the scope difference of positions analyzed by a human player vs a computer, and that the talking point was someone looking "64 moves ahead" and trying to explain that no this guy did not literally see all variations 64 moves out - but that through (arguably more impressive) reasonable human ability he was able to to be accurate and confident in a decision that he had won while there was still 64 moves of depth left in the game

cupofpython··on Magnus Carlsen to give up World Championship title
while true, it is still fair to say Carlsen views nepo as a waste of time. While it would be easy to dismiss this as hubris - i think the bigger point is that he doesnt gain anything from beating him again. It's not that Nepo has no chance of winning.

Magnus specifically mentioned Firouzja as an opponent that he would consider playing the WCC against[1]. So while not the most important factor in his decision, the fact that Nepo won the candidates again and was the last challenger before Magnus made the Firouzja statement seems relevant. Also relevant is that the candidates tournament concluded on July 5th and Magnus released his withdrawal now in the same month.

It seems to me like the challenger being Nepo was the last significant piece of information towards his decision. How specific it is to Nepo or a more general feeling of Nepo being one of many people he doesnt feel any personal benefit from playing against, who knows.

[1] https://chess24.com/en/read/news/magnus-carlsen-unlikely-i-w...

cupofpython··on Magnus Carlsen to give up World Championship title
there needs to be work done and intuition developed in order for a human to look any amount of moves ahead. we do not look ahead in the same way a computer algorithm does

we look ahead in ways like "doing this leaves this area weak, and the opponent has resources that can take advantage of that, and i cannot intervene on those resources in time" or "if i create a strong threat then the opponent will be forced to react to it, here are the ways they can react that make any sort of sense, here is what i can do in each of those situations"

they are not doing things like "let me simulate moving every one of my pieces right now, and then every one of my opponents pieces in response to each of those moves, and then my options again, and review 10,000 possible scenarios in my mind individually for the best min/max situation" like a classical computer engine does.

so i always find the "X moves ahead" phrase misleading at best. but as i originally stated, it is useful to know how many moves of perfect play are necessary for someone to convert a winning position when reviewing the players confidence going into that position. and even then you dont know if they got lucky or earned that confidence by looking at just the one game alone. Over the course of their career the amount of time that their confidence pays off or not tells the story there

cupofpython··on Magnus Carlsen to give up World Championship title
i have to imagine there are only so many 'tricks'/new lines left for him to use to win games at that level. revealing them on center stage for a single win is wasteful of the resources he has. the WCC games get studied by everyone, not only live with the worlds best engines, but after the fact too. much better to use those resources in tournaments where you can actually play a lot of games with it before people really get a chance to study it in depth.

By resources i mean things like going into a position that gives your opponent an incredibly small advantage but is hard for them to play. It's one of the best ways to win games. it's hard work to find those lines, and he's been doing it for so long at WCC level it's not surprising that he's tapping out against someone he's already beaten. if you use a line in the WCC, it becomes very risky to use it again - because if your opponent studied it and plays it correctly then all you've done is make it even harder for you to win the game.

to reach 2900 he has to win games, not tie

cupofpython··on Magnus Carlsen to give up World Championship title
the point is that his winning position was a 64 move convert and he was correct. Lots of players believe they will end up in a winning position, but overlook something while "not bothering with the details".

it's less about how much he calculated in that moment and more about the accuracy of his confidence and the work he had to have put in alongside his talent prior to that moment to achieve that confidence and back it up.

cupofpython··on America’s favorite family outings are increasingly out of reach
>One draft of Bud Light was $12

most are probably aware of this, but a 12pack of budlight costs $12 from walmart and a 24-pack costs $19

cupofpython··on Will AI steal submarines’ stealth?
but then you dont actually have to spend resources breaking the treaty since everyone is already assuming you did.

at best it's just an "are you feeling lucky?" situation unless you publicly prove it

cupofpython··on EA: The Human Story (2004)
>I don't see why competent studios like Blizzard/BioWare/Id could not simply self-publish their games

related to this is how the games are managed once installed as well. Each studio is moving towards each having their own "Hub" for their games. Usually it is referred to as a "Launcher", but I dont think it is going to end there.

For example, Blizzard has "Battle.net". You open battlenet, log in to battle net, and then select a game to play from your battlenet library.

Games I used to be able to just launch from Steam, now open up a separate UI where I have to login and launch the game from there (Larion Studios).

I imagine a future where I come home from work, login to my housing account, login to my computer, login to the 1 of 5+ games marketplaces to access my purchased library, select the game i want to play, login to the publishers account, login to my game studio account, login to my game-specific user account, login to the 3rd party server running the game instance backend for my session, then download a 32gb update and not be able to play until tomorrow

cupofpython··on The effects of sleep debt
works with a variety of games for me. my preference historically has been competitive shooters with team communications (CSGO, Halo), strategy games (Civ5), survival games (minecraft, v rising), RPGs (elden ring, skyrim, Divinity Original Sin: 2)

games are the perfect environment to push a comfort zone, trust your gut, be wrong, suffer consequences, and bounce back from it. this seems to be critical for me. I think a lot of games would work. I love trying new games for this reason, and tend not to "complete" games unless it's convenient to.

i find the catharsis is heavily dependent on how i play the game. I try to challenge myself on my own terms, like shadow boxing, while maintaining a respect for the game and playing along. I try not to be stressed about performing my best, nor completely careless. I honestly rarely try to perform at my best, but do try to keep it rare rather than never.

It can be an exercise in and of itself to maintain an appropriate amount of care and effort throughout the entire experience. I slip up one way or the other at some point and it feels good to catch myself and reset mentally.

edit: it also helps that it is usually the last thing i do for the day and i go into it feeling satisfied about what ive done the rest of the day (closed work for the day, exercised, chores, hygiene)

cupofpython··on The effects of sleep debt
the oxygen point is something ive come across elsewhere as well. could be related to people who live in higher altitudes having longer lifespans
← PreviousPage 2 of 12Next →