« first day (2909 days earlier)      last day (2101 days later) » 

12:18 AM
@Almo I checked after you talked about it, and it still seems a bit long and complex..
@Tyyppi_77 It reminds me of my old uncle who worked at the factory. He told me that him and his colleagues were so often telling the same jokes again and again that they decided to number them, and so to save time, they just told the joke number instead of telling the actual joke!
 
 
2 hours later…
1:51 AM
@Hakase This appears to be a misconception of earwigs, i.e. if you have an earwig problem, you have another smaller insect problem too. Getting rid of the earwig will get you rid of the symptom, not the issue. At least that's what I've understood from the wikipedia article I read. Where I live, it's rare to see them inside, they prefer to be outside. Thanks for the link though :)
 
 
4 hours later…
6:03 AM
@Almo Windows is like a mouse covered in someone else's solidified hand grease, like it gets the job done, but deep down you know it's not completely yours
 
 
1 hour later…
7:22 AM
Isn't it weird that most highly-voted questions are also "subjective" and often [closed]?
I get WHY, subjectiveness appeals to people as much as it's meant to... not be here. But still, I find it to be an interesting phenomenon
 
8:00 AM
@Almo I won't object. :P Windows is fine with me. Haters gonna hate.
@TheMattbat999 I'm interested in making a 2D platformer to play around and later a 3D adventure game. Mostly I just want to learn, see how modern engines work, and get back into playing around with gamedev.
Since I'm only playing around at this stage I could just care solely about Windows.
@Almo mainly it's just way more comfortable for me. If I'm going to be staring at a screen all day I'd rather it be white on black than black on white; imitating paper wasn't great and means I'm basically staring at a lightbulb all day.
It's a fundamental UI choice now but I'll take my dark themes when I can.
 
 
3 hours later…
11:28 AM
@doppelgreener @AlexandreVaillancourt o/
 
how are you
 
A bit on edge, but OK.
 
12:07 PM
I need some help with c++ files
I need to convert them to .dll files but I dont have Visual Studio on my laptop
Can someone help me with this problem
@FreezePhoenix o/
 
*glowers*
 
 
2 hours later…
2:12 PM
@TheMaskedRebel Wow. that's just not a remotely reasonable thing to ask
You don't "convert" c++ files to dlls.
 
you rename them :P
 
hahaha
@doppelgreener :D
ASCII Doom
 
2:32 PM
@TheMaskedRebel What you're looking for is a C++ compiler. Whatever it is, it can wait a day for you to get to your PC with visual studio and/or get a C++ compiler installed and set up on your laptop.
As a general guideline you shouldn't be asking people to grab your code and compile it for you.
(for like, so many reasons. several of them being security reasons and hassle—we have other things to do.)
 
sooo many reasons
 
Also, depending on how the project is set up, just getting it to compile for your target platform might itself be non-trivial.
 
0
Q: Unity LWRP & Projection Shader

Pheonix2105I recently added the Lightweight Render Pipeline to my project as I'd like to start experimenting with Shadergraph to see if I can get a better basic understanding of shaders. Everything has gone pretty smoothly except the Shader used by my Projectors, the Projection Shader Standard asset no lon...

 
3:03 PM
Good morning!
 
Hey!
 
Well... as morning as it can be at 11 AM...
 
@AlexMitan I was going to write an answer on your "A*" question but I couldn't put enough substance into it. TL;DR: A* is just accelerated, weighted, breadth-first graph search. If you can come up with a graph representation that uses "threats/safety/resources" to calculate edge weights, you can use graph search
whether A* is the right algorithm for that depends on whether you can find a good admissible heuristic. Otherwise, I'd start with Djikstra's algorithm
 
Along the lines of "avoid premature optimization" I recall having read some advice about starting with Djikstra's as a default & only reaching for A* or something else if a performance issue warranted the switch.
 
3:19 PM
yeah, I suspect "A*" is just a catchy name so students tend to conflate it with any weighted graph search algorithm
 
In early undergrad, I was in a game dev based programming competition. One of the filters was essentially, "can you A*"? I weighted the experience too heavily & it became the first thing I reached for more often than it should have.
 
A* is more tunable for specific results though, isn't it?
I might be wrong
not an expert on this
 
In terms of output, Dijkstra & A* will produce the same results given the same goal/cost functions.
It's just that, with a good heuristic, A* will tend to search fewer nodes before reaching those results.
 
@DMGregory Correct.
Didn't find my source for the Dijsktra's vs A*, but this is just as good, if not better:
Rob Pike's 5 Rules of Programming
 
I think the trouble is folks start with a simple waypoint/target-seeking AI, where the solution is: "feed all the inputs into A*, then A* will tell the unit what to do" and extrapolate that to thinking of A* as an AI black box that they need to shoehorn all their behaviour into.
 
3:28 PM
Also, "When in doubt, use brute force." -- Ken Thompson
 
Rather than just the solution to the action-order-planning part, which was the only part those simpler AI needed.
@Pikalek "If brute force doesn't work, you're not using enough of it" :)
 
"Just invent a better algorithm" - Donald Knuth
 
@Jimmy touché
 
@DMGregory Ah, ok thanks
 
Thanks, guys
I don't know though, I'm really grasping at straws these days, nothing works, or rather nothing seems worth working on
 
3:36 PM
One of my favourite and often-overlooked aspects of A* (or weighted graph search generally) is that you can use it to plan routes through "decision space" beyond just spatial pathfinding, like deciding when to use an item.
5
A: Tile Based A* Pathfinding, but with a bomb

DMGregoryThe typical approach here would be to treat your remaining bomb count as an additional dimension in the pathfinding space. So given this situation 2 ↑ ──────┐ 1 ← o │ → │ 0 ↓ 0 1 2 Our tile at the o (1, 1, 4 bombs) has the following reachable neighbours in th...

 
oh ... that looks a lot like a question I answered elsewhere :)
21
Q: Pathfinding with lock and key?

congusbongusI'm working on a game with maps that resemble lock and key puzzles. The AI needs to navigate to a goal that may be behind a locked red door, but the red key may be behind a locked blue door, and so on... This puzzle is similar to a Zelda-style dungeon, like this picture: To get to the ...

 
user4704
@DMGregory Hah that's what I just talked about doing in answering that question :p
 
@doppelgreener just a word of warning (from doing this) when using the terrain and built-in AI system, don't place too many trees on a NavMesh terrain with AI or else your game will lag really bad.
 
Ooh, now you've got me thinking of using a fitness function to evaluate the AI's satisfaction with its current state, and pathfinding through this satisfaction state space for nearby optima to avoid threats / do stuff that's "generally good" without being an explicit "accomplish this now" goal.
 
3:41 PM
@Josh re ""Finding somewhere to go" is not, on the surface, what A* is about." it seems like it just takes a modification to change the if (current == goal) { return pathToCurrent; } bit to if (totalDistanceTraveled > threshold) { return searchHeap.top(); } to find a location
 
user4704
That's not A*.
 
user4704
A* is not "if current == goal"
 
@DMGregory hey, nice answer on that bomb A* thing. upvoted. :)
 
user4704
@DMGregory Yea that's roughly what I was thinking with my initial example, but I think it kind falls apart really because:
 
user4704
- satisfaction isn't digital, it's an analogue value and
 
3:44 PM
@TheMattbat999 Is that in Unity or Godot? Thanks for the warning.
 
I wouldn't call it A*, but it's an analogue of an abstract version of A* with 'if goalFunction(searchState) return' with a different goalFunction
 
@Almo :) Thanks
 
user4704
- there's really no logical way to structure a graph of... what, emotions? or whatever you want to call it. The emotional/satisifaction state of the agent... that isn't basically fully-connected.
 
user4704
There's no reason you have to pathfind through "happy" to go from "sad" to "angry" basically.
 
user4704
I like the bomb example much better.
 
3:46 PM
Yay bomb example
 
do you have to path through happy?
there could just be an edge between sad and angry
 
user4704
That's what I said :P
 
hey everyone
 
user4704
So you end up with a fully-connected graph, so you never really need to search to find a path.
 
user4704
There always is one.
 
3:47 PM
I mean, the there's no need to structure the graph of emotions, but you still have a graph of composite states, of which emotions is one component
 
@JoshPetrie how's your German?
 
like, state(inRoom, NEUTRAL) has a transition to state(inRoom, PANICED) via the edge "notice room is on fire", which has a transition to state (outsideRoom, PANICED) via the edge "gtfo of room"
 
user4704
@Pikalek Nonexistent.
 
user4704
Interesting.
 
3:49 PM
hmmm, well I'll see if I can find something in !German then...
 
@JoshPetrie I was imagining the satisfaction state as being an outcome of evaluating a node. So the agent doesn't directly decide to move between sad and happy. Instead it evaluates the result of each potential decision as "does the result of this decision sequence make me more happy?" Kind of like the way a minimax tree might fall back on a heuristic when it reaches the limits of its evaluation depth.
 
user4704
Mm, yeah.
 
So the agent doesn't plan a perfect route to completion of a long-term goal, but follows what "feels right" in the short term. To use A* though you'd need an admissible heuristic for satisfaction, which limits your choices a bit.
 
@TheMaskedRebel That's only a graph of one emotion - no need to run A*, the starting node is also the goal. ;)
 
3:54 PM
The only issue is that "does this make me more happy" might depend on a bunch of factors which all need to be encoded in state, since the transition function should be a pure function
 
@Pikalek LOL
 
@doppelgreener Unity. Never user Godot.
 
Man, ECS seems so beautiful
 
@Jimmy Yeah. I'm thinking something simple like anxiety = sum of inverse-distance to nearest threats, satiation - count of stored resources, anticipation = sum of inverse-distance to nearest resource sources. Happiness = satiation + anticipation - anxiety with appropriate weights.
 
@TheMattbat999 ok, cheers.
@AlexMitan very very
 
user4704
3:59 PM
@AlexMitan Everything is beautiful in Happy Exampleville.
 
@JoshPetrie dystopian Happy Exampleville. Do not stray beyond its bounds, kind citizen.
 
My tree thing is a bit more coupled than I thought, but I don't think that's what's putting me off as much as the fact that I have yet to have a playable game of any sort
I think I might have bitten off too much at once
I should have a simple small game that I test out architectures with
 
What've you bitten off?
 
user4704
Don't get trapped by silly design trends.
 
user4704
Yes. Starting with a simple game and focusing on making it do stuff that games do is generally better than trying to chase the latest and greatest architecture fad to ground before making any gameplay.
2
 
4:02 PM
@JoshPetrie I wanted to make a strategy game of sorts from the get-go rather than a simpler more fun game
 
but make an attempt to keep your code decoupled and flexible so when you run into some problem later down the road you can refactor it
 
ok, to hell with it, I'm making a runner game now, you just run and jump and try not to fall
 
user4704
A strategy game seems doable, depending on your level of experience as a programmer.
 
@doppelgreener cheers? :P
 
@TheMattbat999 british/aussie version of thank you :)
 
4:05 PM
@doppelgreener OH
 
@JoshPetrie I'm decent, but it's so far from anything interactive that I'm losing interest and doubt about how I'm building it is creeping in
 
@AlexMitan Focus on gameplay over building up engine features because you think you'll need them
Add interactive bits o/
 
user4704
Yes, that.
 
user4704
Do what you need to do (or think you need to do) to get to gameplay and fun as quickly as you can.
 
user4704
Good architecture can come later through refactoring if needed.
 
4:20 PM
Part of this is working on keeping development engaging for yourself also.
And chasing engine features down a rabbit hole isn't fun.
(especially because you won't need them... unless you actually need them right now)
user image
2
 
Switching to lurk mode
 
user92578
4:38 PM
I gotta leave back :/
 
user92578
Luckily just 4 days before next weekend off
 
user92578
I sent in my application for various programming/computer related jobs today, hopefully I'll get one so I only need to run in the woods for 6 more weeks
 
@Tyyppi_77 Are these military related?
 
Maybe you can get assigned to the cyberwar division :) Elect a better American president for us in the next election
 
@Jimmy Why? This one makes hell of a show for us outside of the US :P
 
4:47 PM
up to you, but you have to pay tariffs to watch the show
 
user92578
5:02 PM
@AlexandreVaillancourt yup
 
user92578
So the main one I applied to is someone who works on a military version of ArmA3, adding new content and training people to use it
 
user92578
Then as a secondary choise there were cyberwar stuff and just random generic programming
 
user4704
"training people to use it"
 
user4704
Yeah, Arma does require dedicated training to play.
 
user4704
>_<
 
user92578
5:05 PM
lol
 
user4704
I remember I picked it up a while back to try and play with my brothers
 
user4704
Spent a few hours trying to figure out how to set up a campaign of some sort and deal with all the DLC upsells and finally gave up an returned it
 
user92578
Given my gamedev experience i thought i might be a good fit for that job and might even have a chance to get it
 
user92578
I really dont want to spend a year running in the woods
 
user4704
@Tyyppi_77 But think how swole you'll get.
 
user4704
5:06 PM
/flex
 
user92578
lol dunno, i feel like most of the time I'd just be aching everywhere
 
user92578
I am in terrible starting shape
 
user92578
5:19 PM
I bought a backup power source and got netflix on my phone, hoping to watch something here and there on freetime this week
 
user4704
Don't watch Lost in Space. It's bad.
 
user92578
A new season of Archer came out, its a bit odd but might do the job of providing something else to think about
 
user92578
When it comes to more serious shows, I've really gotten into crime stuff lately
 
user92578
Mindhunter was really good
 
user92578
So was American Crime Story (just one season on Finnish netflix tho :( ), and manhunt: unabomber
 
5:29 PM
@JoshPetrie My roomie and I actually enjoyed that one. The technobabble was a bit painful at times, but mainly because it was at least close enough to actually evaluate it in the vague proximity of real science, which is rare for mass-market sci-fi like that. ;) I thought their take on Dr. Smith was pretty excellent.
 
user4704
I like Smith.
 
user4704
I don't like the rest of the writing though; a lot of it seems jumped around, characters making nonsense decisions that don't seem to otherwise fit their alleged abilities
 
user4704
Nonsense science and editing.
 
user4704
I do like the red-headed snarky teenager and Dr. Smith though. Everybody else could have died on the ship and I'd be fine with it.
 
@JoshPetrie hahaha
which one
recent tv show, movie remake
 
user4704
5:32 PM
@Almo The new Netflix one.
 
ah ok
:)
 
6:09 PM
You know when cppcheck reports that the other of the parameters of a function are not the same in the declaration and in the definition...
 
user4704
void f(int x, int y); void f(int y, int x) { ...lol... }
 
It's the beginning of an interesting story to tell :P
@JoshPetrie Yeah; in this case it's min and max that have been inverted!
 
user4704
Ouch.
 
Fortunately, in this specific case, it's for "use these values if you can't find them in the resource file", which never happens. But that still took some time to figure out.
I managed to convert our SVN repo to a git repo! :P (we won't be using it, but I liked the challenge!)
 
6:38 PM
useful for the next time your server is unavailable
 
Yeah; for that I'd prefer an SVN replication server, though.
 
6:51 PM
@Jimmy I wonder if it would be a bit faster to search the logs, though (a local git repo vs the SVN server).
 
I haven't touched SVN in a decade; can't really comment on log search times
but balance that with for anything harder than "git log | grep foo" I would have to look up whatever arcane invocation of "git filter-branch" I need
 
Yeah, I haven't worked that much with git, so I would not know..
 
 
1 hour later…
user4704
See, there you go.
 
That was really hard
And a loooot of the code is super wrong, like... when an enemy collides with a bullet, the enemy deletes the bullet
Also, polish is super easy
 
user4704
That's not "wrong" per se.
 
It took me under half an hour to add explosions and stars... and this is technically my first finished game
 
user4704
(to have the enemy delete the bullet.)
 
8:08 PM
Well, yeah, there's just a lot of weird coupling that screams for a remake in ECS
which is my next step
 
user4704
You don't need ECS to "solve" that either.
 
user4704
ECS is not a magic bullet.
3
 
^
 
I know, but I'd like it as the next experiment
 
user4704
Then make sure you determine what you need your entity system to solve beforehand.
 
user4704
8:20 PM
Don't implement what other people tell you an entity system "needs."
 
@AlexMitan i agree that's not wrong
there's probably a lot of published games that are doing that
because it works and causes no problems and they don't need to change it
it's coupling and that's bad in theory, but also bad in theory is getting caught up making the perfect system instead of publishing your game
 
user4704
I find it annoying, personally, but the only real "problem" is that you need to answer the question: "who is responsible for taking the authoritative actions in any given interaction between A and B."
 
user4704
And in some cases it's hard to answer that question generally, so you have to keep thinking about it for every interaction between A and B.
 
user4704
There's no actual coupling issue in this specific case, really, unless ships don't already know about bullets from firing them.
 
8:39 PM
Is it fine to remove an item from a hash table by just deleting the obj[key]?
 
user4704
Depends on the language/libary/etc.
 
vanilla js, storing objects by id in a hash table
 
user4704
No idea.
 
One way to find out then
 
9:00 PM
@AlexMitan "hash table" being a plain old javascript object, i.e. var foo = { this stuff }? yes
you just do delete object[key]
 
@doppelgreener Yep!
 
 
3 hours later…
11:33 PM
Wow @Jimmy nice update :P
 
it's actually a question I've wanted to ask before, so I was hoping to rescue the question while it was still on the front page
 
The only thing that I'd change again would be the title, from how did they do it to how could I do it.
It's no longer worth a close vote from me.
Well, thanks for saving that question :)
 

« first day (2909 days earlier)      last day (2101 days later) »