« first day (2094 days earlier)      last day (2929 days later) » 
00:00 - 19:0019:00 - 00:00

12:26 AM
I've seen this idiom a few times now:
5 hours ago, by Tyyppi_77
current = lerp(current, target, 0.1f);
Does a function like this go on community wiki?
float lerp(float a, float b, float ratio, float frames = 1.0f) {
	return (a - b) * pow(1.0f - ratio, frames) + b;
}
because then you can correct for variable timestep like current = lerp(current, target, 0.1f, dt / fixedFps);
 
oh shit
that never occurred to me
 
jI've inserted myself into my computer chair
for work is complete
 
Sie
1:21 AM
How do I become a l33t haker?
@Almo I will whenever the login server gets back up.
It's online lol
 
2:19 AM
@Sie yiou there?
 
Sie
2:33 AM
@Almo check your messages
 
which
i don't see any from you
 
Sie
I meant on League which we already cleared up.
 
i didn't see any
 
 
5 hours later…
7:39 AM
So, thinking about sharing user-created content. Specifically, how to do it in a centralised way, but on a budget (ideally free). Something like a Github project with per-directory write access, maybe? What would be your ideas?
Getting the Nexus to add a site for your game? :)
 
8:09 AM
Huh, having a modding system that supports git would be cool
 
Yeah, but it also raises questions about how to prevent people from overwriting each other's data.
I can think of two solutions: One, to have someone vet the submissions and the mods being added and updated via PRs, and another to have the system support multiple repositories (with a pre-defined structure), and you share the link to somebody's private one to get all of that person's or team's mods.
I was wondering if somebody had something else thought out.
 
I mean, if you support git there's not much difference between checking out one or multiple repositories
My plan is that each mod automatically gets a prefix (defined in some mod.json file) and maybe there's an override folder if you want to tweak existing files
 
8:34 AM
I'm still not sure if it should be straight up git checkout (Automatic versioning, but also getting people to understand how to find a specific version and not having a proper "release" or "beta" channel), checking out only defined tags, or checking out Github releases only (which forces the mod makers to properly package their shit).
 
I don't know, an option I'm thinking off would be have a branch that lists meta information for ease of browsing
So a description file (basic html? links to images in the repository), versions file (one version per line? $hash $description), dependencies ($repository $hash $name) and changelog
Maybe some other random things I dunno
 
 
1 hour later…
user92578
9:42 AM
@MickLH That's pretty cool
 
10:56 AM
Who the hell is flagging all those low quality posts... there's been an increase in non shitty posts flagged lately...
 
DH.
Don't look at me Alexandre
 
Hehe :)
I'd reply to this ppl that a close vote is not a super downvote, like the post of Josh, but there is no way to communicate with the author of the flag.
 
user92578
11:33 AM
10 mins of school left
 
4 hours of work left :(
 
DH.
I just barely started working lol
But this isn't a problem because it's friday yay
Then I'll get the whole weekend to work on my thesis completely not yay
 
user92578
Unscrambling of words exercise in my english book: "L DANCE AM I MOIST" :D
 
user92578
(domestic animal)
 
errr 8h work left?
Weee I get moist too when I dance.. :P
 
DH.
12:00 PM
wow it really deserves a star
That last one have such a cool effect
 
user92578
12:46 PM
 
user92578
I made the enemies panic when they get caught on fire
 
Lol
nice :P
Their parents should have taught them to stop, drop and roll :P
Maybe you could have your 'smarter' enemies do that instead!
 
user92578
@AlexandreVaillancourt LOL that would be awesome if I had enough motivation to put to the animation effort that would be required
 
Ha, yeah, well put it at the bottom of your list, hehe :P
 
user92578
12:59 PM
It's now on the "Ideas" list which is actually "probably not, but wouldn't it be awesome"
 
Speaking of that
How would you guys rate the importance of a game design document if you are a one-man-dev?
 
user92578
I don't have one
 
user92578
But it's taken me a long time to get where I am with this game
 
user92578
So I'm really not sure
 
@NaCl it requires a lot of mental control to not drift that design if its only in your head and not a document
also it depends if its always just you doing the work
 
1:10 PM
I never had one, however, I never had such a big project like yours, too
 
Some kind of a game design document is essential. It could be as simple as a list of tasks to check off.
This is my "Game Design Document", from trello.com
 
DH.
The details of the progress are in the subitens?
 
user92578
I have a Trello board too
 
Individual tasks I need to do.
 
user92578
It's really great, allows organizing tasks
 
1:15 PM
The lists are groups of features I want to add.
 
@PearsonArtPhoto OMG OMG OMG ... That's MY game design lol
 
oddly enough ... my trello based design looks just likethat
 
I have a few lists towards the end that keep track of things like references, but it helps a lot to keep track of things...
 
user92578
 
1:16 PM
I found that after the scrollbar got really small I went too far and had to control myself and start creating less lanes
 
user92578
My board
 
@Tyyppi_77 oh that's soo ... wow ... so true to the game ( i love that)
 
user92578
It's a custom Stylish CSS theme :)
 
do you have a site with a bunch of backgrounds and such for peoples desktops?
 
user92578
Spent a Saturday morning a while ago to that
 
user92578
1:17 PM
@wadry No I don't but that's a good idea! I'll add that under "Website"
 
I would love to get some 4k versions of your backgrounds for my desktop at home
 
user92578
4k is going to be hard I think
 
I really like your artwork man :)
 
My ship is a block, I don't have work for a custom background that won't be seen by anyone...
 
@Tyyppi_77 I have a pair of 4k screens lol
 
user92578
1:18 PM
@wadry ty! <3
 
@wadry I mean, just pad the top with orange
 
@Tyyppi_77 I could prob streatch the image on to my screens ... not sure how it would look though
 
user92578
Yeah you might have to do that manually to avoid interpolation
 
user92578
I use a dual monitor version of that background myself
 
even better would be a pair of different backgrounds that would tile so I could have a full blown desktop :)
I'm optimising my mesh gen tonight I think ... now that my code is working I am gonna have to get some sort of scene put together
 
user92578
1:21 PM
sounds cool
 
user92578
I gotta go eat now, brb
 
I'm desperate to show stuff off but I'm scared to in here
people are really critical in here
@Tyyppi_77 k later man :)
 
Not critical really, but they do provide realistic feedback.
The earlier you get good feedback, the better.
 
yeh its hard to make progress though whne the feedback is ALWAYS "start again but do it right htis time"
I sit here some days and am like ... WTF ... WHERE DO YOU LIVE!!!!! WHERE!!!
then i realise ... yeh he has a point
fuck sake ... back to the drawing board
I have 6 different voxel frameworks now
the latest is totally rad but cut down on my original design, but a shit ton more efficient
when I finish up the chunk of work I am doing right now I plan to hit @Jon's blog and take at some of his map gen stuff ... I think there are likely to be some interesting gems in there
 
I've never seen that be the feedback, start again...
 
1:30 PM
not directly ... but usually that's how it ends when I do the digging in to what's the problem in my current situation
I will be like how can I make these 3 lines better <some code> ...
the answer would be .... oh how did you get here because if you did x this problem wouldn't exist
I then do some reading, research a little on x, realise I did things in a totally stupid way and actually x makes a ton more sense
 
I guess for an engine that might be an appropriate solution.
 
then I go, ah ok ... right ... start again
3 months later ... repeat
So I stopped daring to post questions / ask for feedback in fear that I might never achieve something
Now I have something ... i'm in fear that if I share it someone will spot something that results in me starting again .... again!
 
user92578
@wadry just show! I do it all the time, spam even WIP stuff
 
Yeh but i take the feedback to heart then get all emo and shit
I just need to get over my issues I think
I'd like to actually get some sort of basic scene setup then show that up and running
then if people want to feedback on that i'll prob be like ... im too far along to turn back now
right now i'm just working on the scale ... I need a lot of data in a scene
 
 
2 hours later…
user92578
3:20 PM
Aight I just refactored my AI system to allow easy state machine creation and handling
 
user92578
Had to do some basic template classes to allow easy data query from parent AI controller
 
interesting
this is one area i'd like to explore later when I feel I have world generation cracked
 
user92578
It's really nothing fancy
 
user92578
It'll just speed up my AI development as it uses less boilerplate code
 
3:36 PM
I was toying with using a bot framework ... MS just released a new one
Just throw rules in to it
I kinda think of AI these days as just a rules engine eval
its not real AI
 
I have a smartphone.
It's not really smart...
 
so is it a stupid phone?
 
I don't think so either. It's just a phone, it'll do what I tell it to do...
 
Jon
4:30 PM
Fuck people
 
Love is beautiful!
 
Jon
Hard to love idiots
 
What did they do?
 
user92578
Aight so I'm trying to improve my controller dead zones
 
user92578
4:34 PM
However, there's one issue I'm not sure quite how to solve
 
user92578
SDL is event-based, so I don't get a joystick value as (x, y), as I get those separately on events.
 
user92578
I guess I could try to cache values? Would the be horrible
 
user92578
So when I get a new X, I would use that and the previously received Y, and the other way around
 
DH.
You mean to always calculate the Δ
 
user92578
What?
 
user92578
4:43 PM
Oh, and my axis code is uncoupled from the axis actually, so the code that actually handles the controller value reading does now know if it's handling X or Y
 
DH.
I probably misunderstood you
You meant to use the actual X and the last Y?
 
user92578
So SDL basically gives me events like X_AXIS_CHANGED, and Y_AXIS_CHANGED
 
Jon
That's not good enough
 
user92578
The proper method of deadzone calculation requires me to know about both X and Y values
 
Jon
I want it to give me a full game
 
user92578
4:46 PM
Are you drunk?
 
Jon
Oh you code games? Must be nice to play games all day
 
DH.
Hm he's probably just repeating what some retarded said to him
 
@Jon It pissed me off at my previous job. Since we were the only game studio around, they brought in stupid ppl asking stupid questions.
Hey look we're cool we make games!
 
user92578
lol yes
 
@Tyyppi_77 thanks
 
4:53 PM
Of course, artists were the most affected ones because no one can fathom wtf's going on on a programmer's screen...
So we, programmers, were mostly left alone.
 
user92578
Hmm, this is actually kinda annoying
 
DH.
Nothing not common
Unless there's a stick man or a model doing what you programmed, no one gives shit
Or ofc, you ELI5 everything you're typing
 
@Tyyppi_77 I got good results in the past using some simple statistics to control the deadzone dynamically
 
user92578
Okay, I think I have an idea. If a receive an X event, I query the Y value from the controller, clip the gotten vector and then perform the action with the X data
 
user92578
And the same for Y
 
user92578
4:57 PM
If I just could get controller axis events like mouse events, with both X and Y values...
 
@DH. Yeah, but they won't care.. it's not cool :P
@DH. at one point, they asked the artists to not use 3dsmax when visitors came in, because we were using cracked version and we did not want to receive a call from Autodesk's re-sellers asking questions :P
4
 
user92578
LOL
 
@Tyyppi_77 If you really want to avoid sharing X and Y back and forth, you can have a box-shaped deadzone in the middle instead of a circle shaped one.
The important thing is re-mapping the "good" zone back over the "full" zone
 
user92578
Yeah that I gotta add in too
 
user92578
 
user92578
5:02 PM
And I'm currently using the cross-based approach
 
You can mix that first approach with the last one, and get 99% of the nice feeling without having to synchronize X and Y
 
user92578
// Inverts the axis value if wanted.
int axisValue = control->InvertControllerAxes ? -event->caxis.value : event->caxis.value;
const float normalizedAxisValue = axisValue / SDL_JOYSTICK_VALUE_LIMIT;

// Movement to left.
if (axisValue < -SDL_JOYSTICK_MOVEMENT_LIMIT)
{
	negativeValue(abs(axisValue));
}
// Movement to right
else if (axisValue > SDL_JOYSTICK_MOVEMENT_LIMIT)
{
	positiveValue(abs(axisValue));
}
// The axis was released, stops movement.
else
{
	release();
}
 
user92578
That's my current code, executed for all axis that's wanted, with release, negativeValue, positiveValue set to use the correct callbacks from the caller
 
user92578
Aight, I guess I'll just add in the normalizing then and see how that feels
 
is SDL_JOYSTICK_MOVEMENT_LIMIT your deadzone size?
 
user92578
5:04 PM
Yeah
 
user92578
I gotta translate that into a configurable value too
 
if (axisValue > SDL_JOYSTICK_MOVEMENT_LIMIT) {
    axisValue = (axisValue - SDL_JOYSTICK_MOVEMENT_LIMIT) / (1.0 - SDL_JOYSTICK_MOVEMENT_LIMIT);
}
and similar for the other case
 
user92578
Do I need to account for axisValue being negative?
 
yeah, the same way you already are, but with that formula instead
axisValue = (axisValue + SDL_JOYSTICK_MOVEMENT_LIMIT) / (1.0 - SDL_JOYSTICK_MOVEMENT_LIMIT);
Notice though only the left side of the division got adjusted, the right side should stay between [0, 1]
 
user92578
Ah, actually because I always use the scaled value as positive, I can just use one formula at the top
 
5:14 PM
Oh convenient lol, yeah if I had paid slightly closer attention I should have seen the abs() :P
though, you probably want fabs( ... ) because abs() rounds to integer
 
user92578
I'm ending up with a little higher values than 1.0 when walking left, is that something that is caused by wrong math or float precision?
 
btw, here's the deadzone shape you will get with that
 
user92578
Yeah that looks good enough
 
@Tyyppi_77 It's an error with the math lol
 
user92578
Actually already the axis value (without scaling) is bigger than 1
 
user92578
5:18 PM
const float normalizedAxisValue = (float)(axisValueReceived / (float)SDL_JOYSTICK_VALUE_LIMIT);
 
I think I forgot to mention some detail, let me start from the top and read over this again
 
user92578
Have I totally messed up something?
 
user92578
There normalizedAxisValue > 1.0f
 
lol well, I didn't expect the axisValue to ever go outside [-1, 1], but I think I also messed something up
 
@wadry pls
 
5:19 PM
There has to be a clamp-to-zero part somewhere
I don't think I mentioned where one should go with the formula I gave
 
@mikeTheLiar pls ... fuck off
 
user92578
There's my current code
 
@Tyyppi_77 still working that AI man?
 
user92578
No, I got the refactoring done
 
user92578
5:21 PM
Now improving controller deadzones
 
niiiice
Is gun hero actually out now?
 
user92578
no
 
I aint been in here for a while (not actively anyway)
ah cool ... wouldn't want to miss it
 
user92578
I'm kinda working on getting a demo out sometime
 
user92578
And then I want to hit Greenlight if the feedback I get from the demo suggests that I might have enough stuff
 
DH.
5:23 PM
Then you would focus only on making all the levels?
 
user92578
Yeah I need to make more levels, but I still need to nail down some features
 
user92578
I won't obviously make all of them for the demo nor for a possible Greenlight trailer
 
user92578
But I have cool stuff there, different environment themes and color themes, a boss fight and stuffz
 
DH.
Yeah IKR, I may not talk all the time here but I look very often what people updates here
 
max(0, axisValue - SDL_JOYSTICK_VALUE_LIMIT) / (1 - SDL_JOYSTICK_VALUE_LIMIT)
 
user92578
5:26 PM
axisValue here is [0, 1]? So already abs'd?
 
I checked it out and it works for (0 <= SDL_JOYSTICK_VALUE_LIMIT < 1) and (0 <= axisValue <= 1)
 
user92578
SDL_JOYSTICK_VALUE_LIMIT = 32767
 
user92578
Did you mean MOVEMENT_LIMIT?
 
Yeah
 
user92578
Aight
 
5:28 PM
tbh I would never use such a big long name for a variable lol
I could barely motivate myself to type that whole name
 
user92578
It's currently a constant, and trying to follow with the SDL naming stuff
 
lol I figured, just.. I can barely motivate myself to type any word as long as "motivate"
 
user92578
haha :D
 
user92578
aight that works perfectly
 
user92578
thanks a ton, once again
 
5:29 PM
np!
 
user92578
now do games stick the deadzone to the config menu usually?
 
I have seen it before but I've never seen anyone use that control
What I like to do is keep a histogram of past inputs, and use that to determine the ranges and deadzones
 
user92578
That sounds TBH like the most Mick thing to do
 
lol I have ulterior motives than just making you happy
I want to play GunHero, and I'm very picky about these things, so it's partly to serve myself ;)
 
user92578
:)
 
user92578
5:32 PM
TBH I kinda just want to either stick this into a config file and either just leave it there or allow in-game tweaking
 
user92578
But then I don't want to always look lazy in front of you
 
Lol well a good compromise in my opinion is to leave the deadzone like that, but calculate range dynamically
All you have to do is track the maximum for each axis, and use that as the scale instead of the hard limit
That balances it so that a player using a shitty controller doesn't get screwed out of full movement speed
 
user92578
That sounds doable. I was just about to ask "why", but there we go then.
 
lol I swear I have reasons! I feel very uncomfortable having an opinion without a reason that I could use to argue against myself
 
@MickLH p!
 
5:37 PM
What's weird is thinking that if P = NP really is true, then so is Problem = No Problem. lol
 
user92578
Do you think one max value per player is enough or should I do this per axis?
 
user92578
Or, how shitty controllers do people actually have?
 
I would do it per-axis, because most of my fucked up controllers only have one part shitty
I think mostly the right thumbstick is screwed up on mine
 
user92578
You probably won't be using that in GunHero :)
 
Doing them per-player would punish one thumbstick if the other is perfect
Or even more extreme, would punish up-down, if left-right is perfect
 
5:41 PM
0
Q: Drawing visibility polygons in Unity (for vision cones with occlusion)

Ethan BierleinI'm currently trying to create an effect like the one displayed below in Unity: However, it seems that I can't do this with any of Unity's built-in light objects, and I simply cannot find anything online that talks about this. Is there a way to achieve this in Unity? 2D or 3D solutions are fin...

 
user92578
Yeah that's the real consern as you wouldn't be using two thumbsticks at the same time
 
In fact, on that train of thought theoretically the left and right should have their own maximums ...
 
user92578
Oh god.
 
lol
Imagine you have a controller where it smoothly goes left, but then right shits out at 75%
 
user92578
yeah true
 
user92578
5:43 PM
Do I like need to buy/loot some crappy controllers?
 
Only if you want to do the automatic statistical deadzone config lol
For range config, I think we hit the bottom of the rabbit hole already with separate left/right
Man... where is the library for all these little things?
 
user92578
Can I initialize those values to something?
 
user92578
Won't that otherwise result in weird movement in the first movement
 
user92578
But then initial values can be too high
 
I'd initialize them as low as possible, yes it will screw up the first movement
But literally only the first thumbstick movement, it will go straight to 100% speed, but that will probably happen in the menu before the game even starts
 
user92578
5:47 PM
Oh right
 
user92578
Damn menus need deadzones too, right?
 
user92578
Idiot me has coded the deadzone stuff in the player class, that listens to the controller events
 
Probably, though you can probably just get away with something like "Menu only changes at 80% axis"
 
user92578
Oh yeah
 
user92578
I don't think the accuracy there is something crucial
 
5:53 PM
@Sie you gotta photoshop the "p"s off "pepsi" and move the "e" to the end because you're getting pwn'd in the avatar war by @Tyyppi_77 whose coke bottle features his handle
 
Sie
@MickLH The Pepsi Master Race does not compete in such primitive skirmish's.
 
Is that why Coke so easily demolished in the blind taste test?
 
user92578
damn now I gotta change the math formula
 
user92578
wait nvm, not actually :D
 
I feel overwhelmed with things that I need to finish coding, yet I still want to open a new project
It's a pretty straightforward concept to do automatic deadzone... Key Insight: Thumbstick measurements come from one of two distinct random distributions, and are never a mix.
It either comes from human randomness (outside deadzone) or device randomness (inside deadzone)
 
Sie
6:03 PM
@MickLH Me too at times. Sometimes I get sick of having to code for two devices effectively.
 
user92578
Okay that maximum thing works now, it was pretty straight forward
 
user92578
Thanks again, I'll call it a day now
 
Ok except also do unsigned Histogram[HG_RES]; for each axis now too
And at each update do Histogram[lround(axisValue * HG_RES)]++; and... jk lol
Except also not jk if you want to try and fit the random distributions of player noise vs controller noise, and then estimate the mixture of them both at each input sample, and store that estimate into another histogram plotted against axis depth
And then find the point of best separation between the two in axis-depth space, and call that your deadzone estimate
 
6:36 PM
Hey fellas
 
@FullyLucid WHeuaaaazzzaaaaaahhhhhppppp!!!
 
AAHHHAHHAHHH!
I'm writing grid collisions for characters in my game
 
@FullyLucid How's your algorithm shaped?
 
It's shaped like upon movement of some direction, check the x axis first, if there's a tile that way, then don't go that way, and then do the same for y
I had it a different way which was pretty cool and I'm guessing slightly more efficient, but I kept catching my players head on side tiles when I moved upward and sideways both
actually this must be a bit more efficient, since it tests at most 2 tiles per frame, whereas my other one would occasionally test 3 or 4 depending on the landscape
 
6:59 PM
It works fine for this project. I'm going to do a bit of a better solution for my long term project. like take the minimal distance that it can move toward the tile instead of just ditch the movement
 
00:00 - 19:0019:00 - 00:00

« first day (2094 days earlier)      last day (2929 days later) »