« first day (1754 days earlier)   

12:00 AM
Nsfw but awesome
 
@IcyDefiance how do you implement the scene flow? when each scene runs
 
THE COPS WON'T HELP YOU
 
I have a "SceneManager" which was basically just a stack of scenes. Whatever scene is on top of the stack is the one that gets updated and drawn.
 
THE PRIESTS WON'T HELP YOU
 
What I'm doing is running a callback when the current scene exits, whatever that scene is, and then deciding which one should run based on the one that exited.
 
Pip
12:02 AM
lol
@IcyDefiance but Ruby :D
 
I let each scene have access to the stack so it could say "manager.Push(newScene);"
then the manager would call "OnPause()" on the old scene, then "OnEnter()" and "OnResume()" on the new scene
also "OnPause; OnLeave();" when a scene is popped from the stack
 
Pip
@OMGtechy yeah, true :)
@Chris Dotadotadotadota
dota
dotadota
 
Best album trailer ever
 
Pip
@Chris Pls Volvo the cult be with you
 
@IcyDefiance so scenes are created from within scenes, not from an outside class
 
12:05 AM
wasn't required, but yeah they could be, and I mostly used it that way
I figured the scene itself would know best when it was supposed to die and start the next scene
 
but what if sceneA needs to push a sceneB onto the stack, and sceneB also needs to push sceneA. woudn't you have circular imports?
 
Pip
Hahaha for some reason Steam just forgot my Dota client was there.... When it started downloading again I canceled then selected "Update" and it finished in like 2 seconds (it had to redownload the exe which it deleted for some reason)
 
@Icy was that stupid?
 
imports...what language are you using?
python?
if so, that could be a problem. my framework is C# so projects "import" each other, not individual files.
 
Sorry, I mean, you would need to have a reference to sceneA's constructor in sceneB and a reference to sceneB's constructor in sceneA, right?
That seems like it would be a problem.
 
12:16 AM
shouldn't be. it's not in C# at least.
if the constructor of each was referencing the other, that might be
you'd get a stack overflow error then
 
I'm using js, but I don't know if require() would have a problem with circular "imports".
 
Pip
Oh nvm
that's a lib
 
yep
I was talking about node's require().
 
Yeah, I thought so.
 
12:18 AM
yeah in javascript you might need some kind of workaround for that
not a problem at all in C#
 
how does c# solves this? I'm curious
 
all files in the same project just know about each other by default. they don't reference each other or anything.
 
Pip
yep
as long as they are in the same namespace (including the default)
(which is the solution btw)
 
and 'project' is a language thing?
like a package?
 
nah even if they're in the same namespace they know about each other
 
Pip
12:20 AM
yep
 
err, *not in the same namespace
you just need to qualify the name with its namespace then
 
that's weird
 
also namespace != solution. they're usually named the same, but they don't have to be.
anyway
"project" in C# usually compiles to a single binary, either exe or dll
so basically if two files are going into the same binary, they know about each other
separate binaries aren't allowed to circularly reference each other without some crazy tricks (introspection would probably work...probably...it's crazy though)
 
Loading scenes, as long as the player knows the game hasn't frozen, anything's game. Art, bar, circular loader, animated or not, tips, lore, basic screen
Overlaid on top of an existing scene or as a separate thing, no right or wrong way imo
 
preferably animate something other than the loading bar and do your loading async, so if the game freezes then it's obvious
if you want to get really fancy, make sure the animated thing is being loaded over and over from the hard drive every time it loops, instead of just keeping it in memory
 
12:25 AM
@Chris but if the loading screen had some interactivity then wouldn't it be better for it to be a scene on its own?
 
that way if the game doesn't freeze, but it stops loading for some crazy reason, the animation will still stop :D
 
@Icy thats a good idea
 
@Jovito it would probably be easier and cleaner from a developer's perspective, yeah
 
but that extra measure something very few people do. it's not that necessary.
just something animated is good enough
 
my Fire TV version, I know it takes 50 seconds to load, so I made a very basic loading screen, fiery soul that moves along with the bar
Generic Android version gets a message asking users to "please wait" lol
cuz up to 60 seconds with no progress percentage report from Unity is kinda bad
 
12:31 AM
witcher 3 got really fancy with their loading screens. instead of a progress bar they have a narrator recap the story of whatever main quest you're on, complete with an animation representing what is being said.
 
in-game, since it's forever one scene, I just show a black sprite over the whole screen, and use a white line to load across the bottom, there's like 10 steps to the loading and it's always super quick
ah nice
 
since the main time you see a loading screen there is when you first open the game for that play session, it's actually useful
 
Ouch
Typescript's generated code is 100x slower than my regular js
It's literally running at 2 fps now
 
ship it
 
lmao
am just coding to look for a minimizer/optimizer
noooooooooooooooooo
my typescript sprite scaler is broken D: i guess I'll just use the regular js one
 
@Jovito thank u ;( i needed this to express how i feel
 
@TheMuffinCoder how do you make private variables in js following the classical oop model?
 
@Jovito lol i give up on doing that stuff in js
I went to typescript which made that much easier
 
function Whatever() {}

Whatever.prototype.iDontCare = function() {}

Whatever.prototye.coudntCareLess = function() {}
 
12:44 AM
I've seen it like this
 
Before
After
@Jovito in typescript u literally only have to write the word private
 
function Whatever() {
    function iDontCare() {}
    function coundtCareLess() {}

    // private attributes
    var privateShit;
    var privatePoop;
}
 
@Jovito sry cant help u out
closures, variable scope, object... etc got to confusing for me in js
 
I understand, I almost killed myself over this some time ago
 
lmao
Hey Jovito
 
12:48 AM
I asked @Aidan for an air strike but it never came
 
Sorry for ignoring the main point, but why dont u use TypeScript instead or something like Dart?
All your current js is valid typescript too
 
and so it iiis yeah, just like you said it would be
 
never used typescript or dart for that matter
only js madness
 
lmao i used to do that too... actually 4 days ago
xD a week ago i tried to make private values too but then I said to myself, screw it i dont care if they're global
 
12:59 AM
@TheMuffinCoder that's messed up dude
 
@Jovito lol but it didnt really matter to me
I was global in my namespace at least
not the whole dom
 
oh, alright then
you scared me
 
xD i also only had that script so it wouldnt had matter either :P
 
what do you mean? you're doing everything in a single file?
 
:P it wasnt a big script and was easier to deal with in the IDE
 
1:20 AM
user image
2
 
Pip
nice
 
Hey guys am having problems with the canvas, the sprite is distorted
what do u call this type of problem? the eye size changes randomly
@Pip thx but it doesnt render correctly D:
 
Pip
Aww yeah
I did pretty shit but we still won
was good game
 
@Pip :P u still had a positive score, more assists and kills than deaths :D
 
Pip
:D
@JohnMcDonald oh god
I played Bad Rats
oh god
My friend's opinion
 
1:45 AM
mmm that weird scaling problems seems to only occur in Chrome, IE doesnt seem to show it... I wonder why the sprite gets scaled... the position and dimensions are whole numbers
 
looks cools
Early WIP of a new enemy I started last night
 

« first day (1754 days earlier)