« first day (3368 days earlier)      last day (262 days later) » 

12:17 AM
@Almo how so?
 
requiring someone to have a job to have health insurance is stupid
3
people who are between jobs most need that sort of help
 
12:32 AM
Ah, yeah. Here, you're covered by the government's if you don't have one provided by the employer...
Not sure about the US, though...
(Or the rest of Canada)
(And I don't know how it applies to non citizens)
 
 
2 hours later…
3:01 AM
yeah US is a mess
supposedly hospitals won't turn you away if you can't pay, but in practice...
 
lack of normal healthcarem eans things get bad before they go to doc
here GP is free, so we catch things earlier and it's cheaper all around
 
general practitioner
 
Ah, right, yeah!
 
 
4 hours later…
7:00 AM
That feel when you can't name the update method "Update" because Unity will call it repeatedly when you do
 
 
4 hours later…
10:59 AM
@trollingchar Wish Unity had some android-like Override tag, so you can explicitly tell Unity if you indeed plan a function to be treated as a Unity function or a custom one
 
Why can't it just use an attribute like [Update]? It's already using attributes for many things
 
I'm not familiar enough with attributes, how do they work with functions?
 
Attributes do nothing by themselves, they are used by other modules/plugins/etc via reflection or something
at least when I worked with them, I used reflection to find classes marked with attributes and process them
in this case if Unity sees for example [SerializeField] attribute it knows that this field should appear in inspector
 
11:16 AM
Ooooh I see, I've used [SerializeField] before
From what I understand they are like annotations in Java (similar to @Override)
 
yes
they are similar
 
 
2 hours later…
1:45 PM
But then again, we're used to Update. But that does not describe really well what the function is doing...
 
True, but when it comes to OOP there could always be an object that is meant to be updated manually, its nice to have the choice
 
But that could be an incentive to give a better name to the function :)
We have had issues with functions named "update" that were doing "everything".
 
2:03 PM
If I listen to music like metalcore and death metal when I work, when I get home at night, can I complain to my wife that I'm being yelled at all day long?
 
I like that, does complaining to your wife come with perks? More time to spend on video games to make you feel better? Or takeaway from your favourite place?
 
It doesn't come with perks, no :P
 
It appears the movies have been lying to me
 
Oh, I guess mileage may vary
 
:P
 
2:10 PM
hello again
 
yo
 
I can't decide how to organize states in my game state machine
 
Is this for the worms game ? or in general?
 
What do you use to handle animations and states now ?
Is it a custom system or some other tool?
 
2:15 PM
this is a state machine for turns, not animations
There are actions that can affect victory conditions and those that cannot
Poison damage, water rising and nuclear missiles fall into the first category
Shield regen, wind change and crates fall into the second
 
Wouldn't it be better to check victory condition every time a player dies? (assuming that's the only victory condition)
 
so I should synchronize clients when ckeck for victory is already made and will not be changed
@TomTsagk this is a way that prevents scheduled nukes from arriving
 
Oh are you talking about multiplayer ?
 
okay
the game has multiplayer mode, and clients synchronize via server
how turns work
before each turn, wind changes, shields regenerate, and a crate may fall
then a player plays his turn
 
Mmm
How much have you implemented already? is there any state machine now?
 
2:22 PM
after that, poison damage applies and water level rises in sudden death mode
my code is messy that's why I'm refactoring it
the problem is that nukes work this way: you select a target, confirm strike, everyone sees CAUTION ☢ CAUTION screen, but nuke falls after every player plays one turn, right before your turn
and if you are eliminated, it still falls
the problem is in specifying an order that I will implement
 
You could divine the turn into phases, and dynamically add or remove phases depending on the special weapons
 
this is where i have problems
 
so a turn goes like PREPARE PHASE (preparing the current turn, change wind, pass a turn on timed weapons etc) then PLAYER PHASE where the current player has a turn etc etc
 
I already have some phases
 
You could add some of the effect on those phases? It helps if you "combine" similar-behaving effects, to simplify the process
 
2:29 PM
initial
before-turn
sync
ready
turn
after-turn
poison
next-turn
this is how it works now
 
Sounds good, you could probably combine some of those phases to each other (like poison can happen during "after-turn")
 
before-turn is when harmless events happen, after-turn is when projectiles are flying but you can't move, poison is where harmful events happen
but poison should work exactly once, and nukes may arrive several times (if a player was eliminated)
my thoughts are refactoring this into this
initial
harmless events & send sync signal
wait for server
ready
turn
after turn
harmful events
loop dropping nukes until a player can become active (not eliminated)
repeat
but I don't know where to insert checks for victory and draw
will it be unfair to not drop a nuke if victory conditions are met at some moment between turns?
one of the Three Superweapons isn't something less important than an ordinary victory I think
it can turn half of the map into radioactive ashes so even if you are eliminated, your opponent may be unable to escape it, so it will be a draw
 
What if all phases are grouped in an object oriented way, so that every phase inherits the Phase object, and every time a Phase object finishes, it checks for victory condition?
 
I can implement everything. I am not done with requirements.
 
2:44 PM
In general I like more simplified system, so you can focus more on the actual game, instead of spending time refactoring or maintaining later on
 
if the check is done after each phase, nukes may be ignored sometimes
 
How do nukes work exactly? I think I've misunderstood that
 
1. You select a target and confirm a nuclear strike.
2. Everyone sees a huge nuclear alarm screen and hears loud nuclear alarm sounds. They don't know where is the target.
3. Every player makes their turn.
4. Right before your turn, or instead of it (if you are eliminated), the missile arrives and deals devastating damage.
Should I allow victory if there are missiles not yet dropped?
the answer is now clear to me that I should lock victory until all missiles strike
 
Oh I see, this sounds more like a design decision than a developing decision
 
even there are no players left, isn't it fun to witness something amusing and rare?
@TomTsagk yes
now i have better understanding how to organize states
 
2:53 PM
I remember on the original games, when events would happen, the game would wait for them to finish, and if anyone won after that event, they would be declared victorious straight away (even if the sea level was about to rise for example)
I think its fair that if multiple events are meant to happen, if the first event kills all your enemies, that you should be victorious
 
hmm
a chess-like approach
 
I'm not sure chess works like that :P
 
but i like the approach when you must secure your victory - no casualties from poison and flooding and nukes about to strike
I should ask players what they think, but when I release the game, you may become players, so I ask you
a working day is over, I go afk for a hour
 
3:11 PM
Haha fair enough, at the end of the day it's your choice. I can see how both ways could work and be fun, but it also depends on the rest of the game
Has anyone done any work on detecting endian-ness on C ?
 
Someone mentioned little endian?
 
Was that drawn by you? :P
 
No. Google did that :P
 
She looks so sassy
 
But no, I haven't worked with endian-ness in C. I did not work much with C.
 
3:24 PM
What about C++? I imagine it would be similar?
I found a snippet on stack overflow, that you can create an int and a pointer to char to basically check if the current system is using little-endian or big-endian, but for some reason it feels there should be a better way?
 
std::endian::native == std::endian::little
And lots of weird corner cases that you should probably just do:
static_assert(
	std::endian::native == std::endian::little ||
	std::endian::native == std::endian::big &&
std::endian::big != std::endian::little)
 
works for c++ 20, though, might not be implemented. This informaiton is supplied by the compiler?
 
Oh ++20 :o I did not notice that
 
That's interesting, wasn't aware of this
 
3:47 PM
http://manpages.courier-mta.org/htmlman3/endian.3.html
this? it should be compatible with pure C
but it may be linux-only
 
There's standard to host order and to network order things ain't there?
 
Should be, though idk what they'd be
 
Yeah the hton and ntoh family linux.die.net/man/3/htons
Host to Network and Network to Host
 
Thanks @trollingchar, looks interesting, but it seems to be functions to convert from one to another
I was thinking something more to detect the endian-ness of the current system
 
3:50 PM
I've found this: https://stackoverflow.com/questions/2100331/c-macro-definition-to-determine-big-endian-or-little-endian-machine

but even though it works, it feels "hacky"
 
convert a number from host endianness to little or big and compare
 
So bool is_bigendian_machine() { return htonl( 0xff ) == 0xff }
 
oooh I see
that makes sense
This actually seems promising, thanks a lot everyone :D
 
If your at the point of needing to know what is the endianness of a machine, it's because you're deep down doing leet stuff :P
 
It's not what it sounds like :P
I'm making a small `.ply` parser, and when parsing it, it tells you if its data is in little or big endian
 
4:03 PM
Oh, ok, well reading binary stuff is a bit more involve than reading text files :P
 
True, but reading binary data is so much faster, that makes it worth it to understand how it works, or at least try :P
 
all files are binary
you just decode them differently
 
@TomTsagk I totally agree :)
@trollingchar Yeah, here "you" means "the api you use", but your right.
 
@trollingchar isn't everything binary?
This took a philosophical turn
 
@TomTsagk cough CoC update cough
 
4:06 PM
@TomTsagk If I say yes, Stack Exchange Inc will ban me
 
Oh no you didn't :P
 
I love those:
updateMouseCursorVisibility(); // Update the mouse cursor visibility
 
Oh boy
 
omg they again
 
4:10 PM
There was a function in Unity that had a very confusing name, and I search the docs to see what it does, and it literally said the same as the name of the function, but it had normal grammar. Which suggests someone actually wrote that instead of being automated
 
Lots of people work at Unity. When you add more people, the quality can degrade :P
 
@AlexandreVaillancourt I guarantee it
 
First hand experience?
 
 
1 hour later…
5:39 PM
.
 
I do that to clear chat notifications
 
6:00 PM
:D
 
 
2 hours later…
8:20 PM
there's comment in there about "you should use BARF", which looks serious, but BARF is not a real compression algo.
other comments say it's a comment in bad form
I'm askling you about it because how would you feel as a mod of that site if I flagged that comment?
personally I think it should be deleted.
 
8:54 PM
Goddamn, this is the most Friday of Fridays
I might just bounce a little early because I'm not likely to get much more done
 
heh
 
9:18 PM
@Almo Sorry, I don't know enough about that site's norms to make a good call off the cuff. But we can raise it with other mods' input in a bit...
 
ok thanks for taking a look :)
 

« first day (3368 days earlier)      last day (262 days later) »