Lostcast 71


  • Tiger Hat

    So, in fairness i’ve only listened to about half of it so far, because my phone decided that at 32 minutes that it was basically over…

    But I wanted to talk more about Make vs Grunt. Not that I’m like a die hard Grunt fan, but you can basically do everything that you say with Make with Grunt instead and that is because of the fact that node can do everything that Bash can do (albeit as you said sometimes “harder” than rm -rf). Here’s the reason that’s important IMO: cross platform. Make and Bash are really only going to work on nix ish environments. So this means that when Matt realizes that he wants to switch to using his PC for everything, he can’t. The other benefits I think are also similar to what Matt is saying about his days of doing stuff with PHP instead of Bash because he didn’t know Bash, and I agree. Bash as you said is old as dirt, and really the experts in my mind are those guys with really long beards that house a small bird that the feed. Anyway, so it’s not even Grunt necessarily that I think that you should use, but more that (as you have said in the past about things like Metalsmith) that you should be using all things Node/JS

    :)

    Maybe I’ll have some more after I can listen to the other half hehe…


  • Tiger Hat

    Loopcast


  • LDG

    @Warspawn said:

    i’ve only listened to about half of it so far

    THEN YOUR OPINION IS COMPLETELY INVALID!!!11

    I kid of course ;) Yeah we’re definitely interested in 100% JavaScript wherever possible. I don’t have a lot to say about make/grunt because I STILL haven’t investigated them. I guess I"m waiting until I have to because Geoff changed something :P

    The cross-platform bit is an important part, but I depend so heavily on Bash that I’d probably develop on Linux before WIndows (at least for web stuff). Later this year I will be getting very intimate with my weird Ultrabook prototype to get A Wizard’s Lizard on Wii U, so I do care about Windows development, just its lack of a Bash shell is a real weak spot to me. Stuff like Cygwin never cut it.

    Bash is interesting to me because I use it constantly while developing, but it’s mostly simple commands like cd, ls, rm, mv, but there’s also a billion little CLI apps I use like mogrify, vlc, scp, ack, grep, lame, wc… the list goes on! On the flip side, I absolutely loathe it as a scripting language. if/fi? Terrible syntax! It always felt silly to me to be writing PHP scripts mostly to compile Bash commands (e.g. exec(“rm -rf”);) but anything is better than having to learn Bash scripting!


  • LDG

    @cheersphilip said:

    Loopcast

    Dude I swear I had that typed in as the title for this ep, but then I changed it when I realized the last two eps were also single words ;)


  • Tiger Hat

    All this build script stuff seems totally irrelevant to me!

    But the loop stuff was gold!

    I didn’t know the Unix / page load timestamp thing - this may have been why something I was working on a while ago was just NOT working - will go back and have a look :)

    Thanks you Loopcast!


  • Patron

    I think this episode wasn’t that strong on the informative side, but man, wasn’t it fun! :D

    I was going to create this thread, but @Warspawn stole that from me, so…

    • Hey, finally a “Geoff talking” episode… A Geffesode! I like that, for some reason…

    • I hate make. Seriously, EVERY TIME I try to compile a C++ application, I get tons of weird errors I don’t know how to solve. Basically, I hate it because I don’t know how to use it.

    • Grunt looks seriously interesting! There are TONS of tasks I would like to automate!

    • I know this might sound like a silly question but, why aren’t you simply using something like Wordpress for your blog instead of a weird custom thing I’ve never heard about like Metalsmith? Just because that’s the LDG fashion?

    • Don’t get me wrong, I like this “micro-framework” philosophy, but having to be constantly learning new APIs and standards is a PITA. I think that’s one of the main reasons why I’m fascinated by low-level programming.

    • So, fixing your time-step is a cheap solution so you don’t have to implement CCD @geoffb? Well, it’s less processor intensive, for sure.

    • I don’t get it… What is the problem with changing from the Unix timestamp? I mean, for calculating deltas, it doesn’t matter, right?

    • So, I was thinking that, no matter if you’re using fixed or variable time stepping, too high deltas will cause unwanted effects.
      Of course, fixed time-stepping gives you a high “before things explode” threshold, but I’d rather not let people play my game at all than letting them play it at unbearably low framerates.
      IMO a ideal game loop would look something like this:

    
    var last = new Date();
    
    var loop = function()
    {
    
     var now = new Date();
     var DT = now - last.
    
     if(DT < 64)
     {
      update(DT);
      render();
     } 
    
     requestAnimationFrame(loop);
    }
    

    @richtaur said:

    Later this year I will be getting very intimate with my weird Ultrabook prototype to get A Wizard’s Lizard on Wii U, so I do care about Windows development, just its lack of a Bash shell is a real weak spot to me.

    Wait, so, Nintendo Web tools are Windows only? Argh!


  • LDG

    @Josue said:

    I think this episode wasn’t that strong on the informative side, but man, wasn’t it fun! :D

    That’s good to hear! Gotta get some fun in there sometimes.

    I was going to create this thread, but @Warspawn stole that from me, so…

    Tag, @Warpspan is it!

    Hey, finally a “Geoff talking” episode… A Geffesode! I like that, for some reason…

    Oh man, that’s good. We’ll use that eventually. Lostcast 413: Geffesode

    I hate make. … Basically, I hate it because I don’t know how to use it.

    Exactly how I feel.

    Wait, so, Nintendo Web tools are Windows only? Argh!

    I can neither confirm nor deny that ;)



  • @Warspawn Bash, Make and Vim are all bedrock technologies.
    They’re also extremely easy to use, free, and open source, and everywhere.
    30 years form now, we’ll still have Bash, Make and Vim.
    They provide a stable, future-proof environment on which to develop new technologies.
    And it means the time you invest into learning them is a good long term investment.

    If you don’t already know it, it’s worth reading this article on Make and Grunt:

    http://hadihariri.com/2014/04/21/build-make-no-more/


  • LDG

    @Josue said:

    • I hate make. Seriously, EVERY TIME I try to compile a C++ application, I get tons of weird errors I don’t know how to solve. Basically, I hate it because I don’t know how to use it.

    It sounds like you hate gcc, then. Make is simply an entry point to gcc for C++ and there’s nothing C++/gcc specific about make, as far as I know. I sorta felt the same way as you did about make (because my only experience with it involved gcc), but once you figure it out a bit, it’s pretty straightforward.

    • Grunt looks seriously interesting! There are TONS of tasks I would like to automate!

    It does. I think the real advantage of Grunt would be in the number of plugins available.

    • I know this might sound like a silly question but, why aren’t you simply using something like Wordpress for your blog instead of a weird custom thing I’ve never heard about like Metalsmith? Just because that’s the LDG fashion?

    A few reasons:

    1. WordPress is way more CMS than we need.
    2. It’s not a static site generator. I’m pretty adamant that our site should be static, It solves lots of scaling issues before they even become problems.
    3. Using AWS would mean that WP would be run on EC2, which is more expensive than S3.
    4. It’s based in PHP/MySQL. Nothing wrong with that, per se, but ew.
    5. WP is not the be all end all of blogging. It pays to experiment with various new technologies now and again.
    • Don’t get me wrong, I like this “micro-framework” philosophy, but having to be constantly learning new APIs and standards is a PITA. I think that’s one of the main reasons why I’m fascinated by low-level programming.

    It can be a PITA. However, there are upsides as well. It’s easy to replace certain micro-components than it is to completely switch large frameworks. Micro-frameworks allow you to pick the best tool for the job.

    • So, fixing your time-step is a cheap solution so you don’t have to implement CCD @geoffb? Well, it’s less processor intensive, for sure.

    I wouldn’t call it cheap. Nor are they mutually exclusive. That said, a fixed timestep does alleviate the potential for some collision issues which CCD would also solve. It’s not just that, though. A fixed timestep means your simulation always runs in a fixed time chunk which is more predictable and thus better.

    • I don’t get it… What is the problem with changing from the Unix timestamp? I mean, for calculating deltas, it doesn’t matter, right?

    If you’re calculating the delta with UNIX timestamps manually, then there is no change. If you were using the first parameter passed to the requestAnimationFrame callback, then it’s absolutely a cross-browser problem.


  • Tiger Hat

    DIDN’T MENTION SPELUNKY!!!


  • Tiger Hat

    @d13 said:

    @Warspawn Bash, Make and Vim are all bedrock technologies.
    They’re also extremely easy to use, free, and open source, and everywhere.
    30 years form now, we’ll still have Bash, Make and Vim.
    They provide a stable, future-proof environment on which to develop new technologies.
    And it means the time you invest into learning them is a good long term investment.

    If you don’t already know it, it’s worth reading this article on Make and Grunt:

    http://hadihariri.com/2014/04/21/build-make-no-more/

    they’re not really on Windows. I really have no clue why anyone still uses VIM (I know @richtaur sort of does) I’m not sure I agree that just because something is old as dirt and works that something new should not be used…

    my main point however is Windows, it doesn’t have those things, but it does have Node or Java or Python or other actual cross platform technologies. I read the article, and I can see the point I guess if you’re a Linux person, I certainly feel that way about CoffeeScript as I loathe it. But just like my hatred of that, it’s really just personal preference IMO … besides the cross platform part.


  • Patron

    @geoffb said:

    @Josue said:

    • I hate make. Seriously, EVERY TIME I try to compile a C++ application, I get tons of weird errors I don’t know how to solve. Basically, I hate it because I don’t know how to use it.

    It sounds like you hate gcc, then. Make is simply an entry point to gcc for C++ and there’s nothing C++/gcc specific about make, as far as I know. I sorta felt the same way as you did about make (because my only experience with it involved gcc), but once you figure it out a bit, it’s pretty straightforward.

    Yeah, I generally feel like that about C/C++.
    The languages themselves look pretty interesting (specially C. I’ve tryed low-level C programming, and it’s super cool!), but the tools you have to use are HUGE and old as hydrogen.

    • I know this might sound like a silly question but, why aren’t you simply using something like Wordpress for your blog instead of a weird custom thing I’ve never heard about like Metalsmith? Just because that’s the LDG fashion?

    A few reasons:

    1. WordPress is way more CMS than we need.
    2. It’s not a static site generator. I’m pretty adamant that our site should be static, It solves lots of scaling issues before they even become problems.
    3. Using AWS would mean that WP would be run on EC2, which is more expensive than S3.
    4. It’s based in PHP/MySQL. Nothing wrong with that, per se, but ew.
    5. WP is not the be all end all of blogging. It pays to experiment with various new technologies now and again.

    Well, but WordPress or something simillar would meet your needs, wouldn’t it?
    It may be more expensive to maintain, but the time you invested in making Metalsmith work also is expensive.

    • Don’t get me wrong, I like this “micro-framework” philosophy, but having to be constantly learning new APIs and standards is a PITA. I think that’s one of the main reasons why I’m fascinated by low-level programming.

    It can be a PITA. However, there are upsides as well. It’s easy to replace certain micro-components than it is to completely switch large frameworks. Micro-frameworks allow you to pick the best tool for the job.

    I dream of a world without APIs, standards, specifications and OSs…
    Just you, the processor and a bunch of memory…

    • So, fixing your time-step is a cheap solution so you don’t have to implement CCD @geoffb? Well, it’s less processor intensive, for sure.

    I wouldn’t call it cheap. Nor are they mutually exclusive. That said, a fixed timestep does alleviate the potential for some collision issues which CCD would also solve. It’s not just that, though. A fixed timestep means your simulation always runs in a fixed time chunk which is more predictable and thus better.

    Fixing your time step is generally easier than implementing CCD, that’s why I said it’s cheap.

    With that said, I still think it’s too expensive, considering the upsides.

    Fixed time-stepping isn’t that easy to implement, if you consider interpolation is almost mandatory.

    Of course, if you’re making a multiplayer game or a game with a replay feature, the more predictable is your simulation, the better, but I don’t think it makes such a difference in other games.

    As you said, high deltas just happen. You can solve issues in regards to the game exploding with high deltas by just ignoring them.

    And in regards to low-performance computers, just forget it, you know… Minimum requirements exist for a reason.

    • I don’t get it… What is the problem with changing from the Unix timestamp? I mean, for calculating deltas, it doesn’t matter, right?

    If you’re calculating the delta with UNIX timestamps manually, then there is no change. If you were using the first parameter passed to the requestAnimationFrame callback, then it’s absolutely a cross-browser problem.

    Well, then why would you use that parameter?


  • LDG

    @Warspawn said:

    I really have no clue why anyone still uses VIM

    Scriptability (which a lot of other editors have), but more importantly command mode (which most don’t). It allows the user to do far more with fewer keystrokes. I’ve been rocking it for over 10 years and I haven’t considered switching to any editor without command mode. Not having command mode feels like walking through waste-deep mud…


  • LDG

    @Josue I think you’re missing the key points about WordPress (or any similar CMS, really) vs static site generation. These full fledged CMS products are generally built on a dynamic scripting language (PHP, etc) and database (MySQL, etc). That fact has a few very serious implications:

    1. Scale: Your site must be hosted on some kind of environment which supports web serving (via Apache, nginx, etc), scripting (PHP), and database. These are more expensive and harder to scale. AWS does make it easier to scale these kinds of applications, but you’re going to have to set that up and maintain it and it’ll be more costly.
    2. Security: The above requirements are a huge security attack surface. Apache/PHP/MySQL/WordPress all have attack vectors which are routinely discovered and exploited. These holes are often fixed in short order, but the problem exists and new exploits will be discovered as time goes on.
    3. Speed: I don’t care how many caching layers WP has, it’ll never be faster than serving a static file. The moment you touch PHP or MySQL, you’ve lost to static serving.

    Using static site generation largely sidesteps these concerns because there’s no (custom) web server, scripting, or database in production. While Amazon S3 does have a web server of some kind, they transparently maintain, secure, and scale that layer. Also, to be clear, I’m not saying that S3 has zero attack vectors, but it has far fewer.


  • Patron

    @geoffb said:

    @Josue I think you’re missing the key points about WordPress (or any similar CMS, really) vs static site generation. These full fledged CMS products are generally built on a dynamic scripting language (PHP, etc) and database (MySQL, etc). That fact has a few very serious implications:

    1. Scale: Your site must be hosted on some kind of environment which supports web serving (via Apache, nginx, etc), scripting (PHP), and database. These are more expensive and harder to scale. AWS does make it easier to scale these kinds of applications, but you’re going to have to set that up and maintain it and it’ll be more costly.
    2. Security: The above requirements are a huge security attack surface. Apache/PHP/MySQL/WordPress all have attack vectors which are routinely discovered and exploited. These holes are often fixed in short order, but the problem exists and new exploits will be discovered as time goes on.
    3. Speed: I don’t care how many caching layers WP has, it’ll never be faster than serving a static file. The moment you touch PHP or MySQL, you’ve lost to static serving.

    Using static site generation largely sidesteps these concerns because there’s no (custom) web server, scripting, or database in production. While Amazon S3 does have a web server of some kind, they transparently maintain, secure, and scale that layer. Also, to be clear, I’m not saying that S3 has zero attack vectors, but it has far fewer.

    From those implications you pointed out, the only which I can see really being a problem is scale.

    I understand that something like WordPress would be expensive for you and probably overkill, but if you choose to use it, you could just set it up with a one click install and forget about it, as opposed to having to run your make files to build stuff.

    But still on that topic, why aren’t you just using your Tumblr or something like that? Is having control of everything worth the costs of server hosting?


  • LDG

    @Josue said:

    From those implications you pointed out, the only which I can see really being a problem is scale.

    Then we’re having two different conversations. :) You may not care about security or speed, but I do, and so should any organization with web-based properties.

    But still on that topic, why aren’t you just using your Tumblr or something like that? Is having control of everything worth the costs of server hosting?

    Yes.


  • Penguin

    @Warspawn said:

    I really have no clue why anyone still uses VIM

    I need to know if they turned mesenchymal!

    (I just wanna be included)


  • Patron

    @geoffb said:

    @Josue said:

    From those implications you pointed out, the only which I can see really being a problem is scale.

    Then we’re having two different conversations. :) You may not care about security or speed, but I do, and so should any organization with web-based properties.

    I didn’t say I don’t care about speed or security, I just said I can’t see how they can be a problem with WordPress.

    Ok, maybe WordPress is not secure enough for a internet banking service, but it sure is for the LDG main page.

    I mean, what’s the worse thing a hacker could do if he got into your WordPress server?
    Delete your posts? Make Lostdecadegames.com redirect to some porn site?

    And I never had any speed issues with the Ludum dare compo site, which is WordPress based.

    The LDG blog isn’t any more complex than that.

    But still on that topic, why aren’t you just using your Tumblr or something like that? Is having control of everything worth the costs of server hosting?

    Yes.

    Yeah, sure, having control of everything is great, but only if you’re going to use it.

    I’m pretty sure you could replicate every function the LDG blog has on Tumblr.


  • LDG

    I’ve run several sites on WordPress, and after a while, they inevitably get full of spam. One of mine was hacked to death with iframes in every file… it adds an overhead that we just don’t want.

    Also, the LDG domain is a mission-critical website. When it’s down, we lose sales. It’s important that it be fast, secure, and scale effortlessly. Have you considered that @geoffb has a decade of web dev experience, and might know a thing or two? ;)


  • Patron

    @richtaur said:

    I’ve run several sites on WordPress, and after a while, they inevitably get full of spam. One of mine was hacked to death with iframes in every file… it adds an overhead that we just don’t want.

    Well, so, how the heck does the Ludum Dare guys maintain their site?

    Actually, they’ve had some spam problems a week or two ago, but looks like it’s under control now.

    Also, the LDG domain is a mission-critical website. When it’s down, we lose sales. It’s important that it be fast, secure, and scale effortlessly.

    So why don’t you use Tumblr or something?

    It would be effortless to you to maintain it, it would be effortless to users to use it.

    Have you considered that @geoffb has a decade of web dev experience, and might know a thing or two? ;)

    If I didn’t know Geoff knows what he’s talking about, I wouldn’t ask him.

    It’s just that your toolset and the way you use it just sounds weird to me.

    I think that if I was at your position, I would do things differently.

    With that said, I’m very respectful to you, as your way to do things seems to be working pretty well, while my way to do things is just a theory.

    I just want to know why shouldn’t you do it the way I think you should.


  • LDG

    We actually started with Posterous, which is similar to Tumblr. Letting someone else completely control your website is fine if you have an extremely narrow focus, like a picture blog or photo gallery. But for an indie game website it might need to be capable of many different things – blogging, game info lists, podcasts, we host demos and have meta data like versioning files someplace. From my experience most hosted CMS services don’t have a system for uploading static files. They’re just pretty limiting and web stuff is second nature to us so we do a lot of stuff ourselves. That said we also have a Tumblr ;) Sometimes it’s about using things and seeing what works.


Log in to reply