Go screwed over the indie game Haunts



  • @joe.edwards said:

    $28k is enough to keep a decent programmer employed for a few months, tops. It's less than peanuts compared to the budget of the average game
    Yes, $28k isn't even half a year's salary, but it's still a significant amount of money.  (If you don't think so, then please send me a check for $28,000).  But the point is -- taking $28k from people so you can create a game in some bizzarro language that's so fucked up that:  @lettucemode said:
    Not even the original programmer, with the original files on his original dev machine, can compile the source anymore.
    Just seems wrong.  It almost seems like a scam, although I have a feeling it's covered by the old saying "Never attribute to malice that which is adequately explained by stupidity."


  • ♿ (Parody)

    @El_Heffe said:

    @joe.edwards said:
    $28k is enough to keep a decent programmer employed for a few months, tops. It's less than peanuts compared to the budget of the average game

    Yes, $28k isn't even half a year's salary, but it's still a significant amount of money.

    Right, but...isn't the point of kickstarter to, um...kickstart a venture? I presume they planned to sell licenses to people after it got going (references to Amazon on their kickstarter page back this up). So the $25K goal was supposed to be enough for whatever level of effort was required to get it going. Like most projects, the estimate was crap, though for somewhat unusual but typically WTF reasons.



  • @boomzilla said:

    Right, but...isn't the point of kickstarter to, um...kickstart a venture?
    Well, yeah, I get that.  But after you "kickstart" your venture, aren't you supposed to .... you know ... keep going?  It appears that the guy started the project and now has said "so long, I'm off to go get a real job" leaving behind a "community" of "volunteers" and a lot of non-working code.  Frankly, I think the 28,000 people who contributed deserve to get their dollar back.


  • ♿ (Parody)

    @El_Heffe said:

    @boomzilla said:
    Right, but...isn't the point of kickstarter to, um...kickstart a venture?

    Well, yeah, I get that.  But after you "kickstart" your venture, aren't you supposed to .... you know ... keep going?

    Did you read what happened? They failed (so far) to get it working.

    @El_Heffe said:

    Frankly, I think the 28,000 people who contributed deserve to get their dollar back.

    In the Terms of use, I find:
    @Kickstarter said:

  • Project Creators agree to make a good faith attempt to fulfill each reward by its Estimated Delivery Date.
    ...

  • Project Creators are required to fulfill all rewards of their successful fundraising campaigns or refund any Backer whose reward they do not or cannot fulfill.
  • I think they've been making a good faith effort (based on the minimal effort I've expended to understand this disaster). I'm not sure how long you could keep going before you have to admit that you cannot fulfill the rewards. I imagine the $5-$10 people aren't too upset...the $7K dude cannot be happy about this, though.


  • Considered Harmful

    @boomzilla said:

    @El_Heffe said:
    @boomzilla said:
    Right, but...isn't the point of kickstarter to, um...kickstart a venture?

    Well, yeah, I get that.  But after you "kickstart" your venture, aren't you supposed to .... you know ... keep going?

    Did you read what happened? They failed (so far) to get it working.

    @El_Heffe said:

    Frankly, I think the 28,000 people who contributed deserve to get their dollar back.

    In the Terms of use, I find:
    @Kickstarter said:

  • Project Creators agree to make a good faith attempt to fulfill each reward by its Estimated Delivery Date.
    ...

  • Project Creators are required to fulfill all rewards of their successful fundraising campaigns or refund any Backer whose reward they do not or cannot fulfill.
  • I think they've been making a good faith effort (based on the minimal effort I've expended to understand this disaster). I'm not sure how long you could keep going before you have to admit that you cannot fulfill the rewards. I imagine the $5-$10 people aren't too upset...the $7K dude cannot be happy about this, though.

    They offered refunds, and a surprising few claimed them.



  • @boomzilla said:

    @El_Heffe said:
    @boomzilla said:
    Right, but...isn't the point of kickstarter to, um...kickstart a venture?
    Well, yeah, I get that.  But after you "kickstart" your venture, aren't you supposed to .... you know ... keep going?

    Did you read what happened? They failed (so far) to get it working.

    Yes, I read that.  I also read: @lettucemode said:
    So now we're in a kind of no-mans land of the
    original programmer not being unable to help during his transition to a
    new job and a new city, but none of the new volunteers with enough time
    to jump into the potentially very hairy problem of figuring out what is
    wrong in a program they didn't write, in a language they probably don't
    know
    And that was my point - the guy took the money, started the project, then left to go get a new job, leaving behind a bunch of non-working code and a "community" of "volunteers" who have no clue what to do. @boomzilla said:
    In the Terms of use, I find
    Please listen carefully.  The WHOOSH is a joke about refunds flying over your head.**


  • ♿ (Parody)

    @El_Heffe said:

    Please listen carefully.  The WHOOSH is a joke about refunds flying over your head.**

    Whew. I often miss non-funny jokes as jokes. Thanks for the heads up.



  • @morbiuswilters said:

    The only benefit Maven has is it's auto-magical, which I consider riskier than just managing deps myself.


    IMHO maven is fine for very small projects (thats for sure) and possibly larger ones

    Managing dependencies on your own can eat up a huge amount of time if you are like 1-3 developers. For every dependency you have to look up the dependencies dependencies and so forth. maven does that automatically and the change in depedencies is visible in the pom file which should be under source control.  I guess I can also live with each developer having his own local repository and if you are so concerned about backups you can just run a script like once per week that copies (or zips and copies) the repo of one of the devs to a remote location (dropbox or such).however I would consider that overkill.

     In a large project you can basically have 1 "build expert" responsible for the whole stuff like a organisational maven repo, build server and helping with problems or very complex builds



  • There is nothing special in Go that makes it particularly well suited to video games, but on the other hand there is nothing inherent in the language that makes it a bad choice, except for the fact that it's new and not well supported.

    Herein lies the WTF. There's plenty of languages that are particularly well suited to video games because they sit on top of well-established graphics frameworks, engines, and other niceties that keep you from re-inventing the wheel.

    Write it in C# and you have XNA and MonoGame at your fingertips. Write it in Python and you get pygame. As the One True Language™, C++ probably has dozens of commercial and open source packages to link against. Even fucking JavaScript has a game framework. Write it in fucking GML for all I care!


  • Discourse touched me in a no-no place

    @flabdablet said:

    As far as I know, git is the only available DVCS based on reliable content addressing.
    There are others. In fact, all DVCSes have to use content addressing at some level because that's the only reliable way to issue an ID without a central authority and without having repositories know some kind of global address (which would be just punting the problem to DNS, but that's mostly solved). Straight sequence numbers don't work because there's no way for two disconnected repositories to know when the other has used a sequence number and nobody wants to futz around with fixing up the numbers after the fact; that way would lie utter madness.

    Content-addressed references tend to be butt-ugly, but then again all encoded hashes are (unless you encode in a pattern of flowers or something, in which case you need to submit your scheme to the main site here). If ugliness of reference is all that's bothering you, maybe programming isn't your schtick.


  • Discourse touched me in a no-no place

    @boomzilla said:

    Yes. This sounds to me like they looked at Maven and took it to the next level or something. I've never spent the time to figure out Maven. Its dependency stuff as I "understand" it sounds like an interesting idea, but every time I start to try to use it I'm overwhelmed by WTF.
    Maven is... powerful and deeply scary. The trick to doing it right is that the less you specify, the more likely you are to get it right. You're supposed to make your project's layout conform to some conventions (slightly irksome at first, but you get over it) and then let the build system do the rest for itself. Once you've learned to let go and let the computer look after the majority of the details, it's actually really good. It certainly beats screwing around with automake, especially for Java projects, where the language doesn't sit well with make in the first place (make assumes you build one file at a time, but Java compilers are defined to logically build everything within a module at once; these simply don't sit well together, despite both being valid models of the world).

    But trying to go beyond what Maven does by extending it to fetching and building sources of projects (or managing runtime dependencies of applications — I ought to write up our experiences with that blunder here sometime) and you get into desperate trouble. The big problems are dependency hell (a problem for all large pieces of software, to be fair) and referencing unreleased code from outside their project (don't do it!).


  • ♿ (Parody)

    @dkf said:

    It certainly beats screwing around with automake, especially for Java projects, where the language doesn't sit well with make in the first place (make assumes you build one file at a time, but Java compilers are defined to logically build everything within a module at once; these simply don't sit well together, despite both being valid models of the world).

    Does anyone do that? We use ant, which is of course the java equivalent, and works pretty well.

    @dkf said:

    But trying to go beyond what Maven does by extending it to fetching and building sources of projects (or managing runtime dependencies of applications — I ought to write up our experiences with that blunder here sometime) and you get into desperate trouble. The big problems are dependency hell (a problem for all large pieces of software, to be fair) and referencing unreleased code from outside their project (don't do it!).

    I've always had reservations about this for the same reason as the title project failed. Dependency stuff should be something that gets resolved at the start (or whenever you add a component). Then you have whatever libraries, etc, you need stored away so that you can easily check them out and set up a new environment. That stuff shouldn't be changing all the time like your source code does. It just seems kinda wrong to mix that with your build process, unless the fetching is from your project's source control (or similar local resource).



  • Go Faster!!

    Good news!!  A new version of Go has been released and it's 30 - 40% faster!!  Your code still won't compile, but if it ever does, boy will it be fast.



  • @El_Heffe said:

    Good news!!  A new version of Go has been released and it's 30 - 40% faster!!  Your code still won't compile, but if it ever does, boy will it be fast.

    They also made int a different size on 64-bit platforms than on 32-bit platforms. Wheee



  • @Ben L. said:

    @El_Heffe said:
    Good news!!  A new version of Go has been released and it's 30 - 40% faster!!  Your code still won't compile, but if it ever does, boy will it be fast.

    They also made int a different size on 64-bit platforms than on 32-bit platforms. Wheee

    Morbs' Software Axiom 237: Given enough time, your favorite language will eventually copy every mistake of C.



  •  It appears they didn't even file an issue on GitHub.

     https://github.com/xenith-studios/golua/issues



  • And that is why I never use, nor will ever use, any code that isn't hosted on my own server(s). If I can't test it first, I don't want random updates from on high causing havoc with my stuff.



  • @blakeyrat said:

    I mean I already think Nuget on Windows/Visual Studio is a bad idea

    NuGet is much better because:

    1. Package restore (where it downloads packages from the internet at build time) is optional. By default, packages are stored in a local folder, which you can check in to source control
    2. Packages are versioned and your package config specifies the version to use
    3. NuGet.org have a policy stating they generally don't delete packages, so any given version should always be available.

    Really it's just the same thing .NET developers have always done (check in .dll files in a lib folder) with added dependency management and version tracking. If you don't use package restore, you're not dependent on NuGet at all (as you just end up with a folder containing all the dependencies).



  • Apologies if this has been covered but how does one even let this happen. If he had taken the time to understand his tools he would realize that 'go get' does not download the latest HEAD from the upstream repository without a -u. That means he would have had to force the update to happen. Additionally he had at his disposal the ability to name a package if he truly needed to update something but didn't want to touch anything else.



    For those still concerned about go's package management, you can utilize the GOPATH environment variable to sandbox your dependencies. It is correct that you cant specify a version but using this method you can easily go in and tag a commit or create a branch since its a fully functional clone of the repository.



  • @wmbest2 said:

    Joined on 2009-9-18
    Posts 1

    Hey guys, 2009 called!



  • @wmbest2 said:

    Apologies if this has been covered but how does one even let this happen.

    That's like asking a rape victim how they let themselves be violated. Go sucks.

    @wmbest2 said:

    For those still concerned about go's package management, you can utilize the GOPATH environment variable to sandbox your dependencies.

    Oh, that makes things so much clearer!



  • @lettucemode said:

    the way Go handles dependencies like headers is to hardcode a path to a github repo

    No. Sometimes, people on this site are too eager to jump to WTF status without trying to look deeper.

    Go does not "hardcode a path to a git repo". The developer does. If the devs made poor choices, then the devs are to blame. You could manage more yourself ratehr than leaving it to whatever is in some remote repo, and given the commercial nature of this it should have been better managed from the get go (pun intended).

    http://www.stovepipestudios.com/blog/2013/02/go-dependency-management.html
    with comments in:
    http://www.reddit.com/r/golang/comments/182jcx/go_dependency_management_for_rubyists/



  • @alphadogg said:

    No. Sometimes, people on this site are too eager to jump to WTF status without trying to look deeper.

    Go does not "hardcode a path to a git repo". The developer does.

    If the programming language has a feature that's easily-abused, it's a bad programming language.

    "The problem isn't that the barrel is backwards, the problem is that the gun user didn't know you have to hold it in an awkward backwards position with two fingers and push the trigger instead of pulling it."


  • Considered Harmful

    @blakeyrat said:

    If the programming language has a feature that's easily-abused, it's a bad programming language.

    If a single poorly thought-out feature makes the whole language bad, I don't know of any good languages.



  • @joe.edwards said:

    @blakeyrat said:
    If the programming language has a feature that's easily-abused, it's a bad programming language.

    If a single poorly thought-out feature makes the whole language bad, I don't know of any good languages.

    Agreed.  Plenty of otherwise-good languages contain a GOTO, for example...

     



  • @joe.edwards said:

    @blakeyrat said:
    If the programming language has a feature that's easily-abused, it's a bad programming language.

    If a single poorly thought-out feature makes the whole language bad, I don't know of any good languages.

    Now you're catching on.



  • @blakeyrat said:

    If the programming language has a feature that's easily-abused

    Cute picture is a nice attempt to be sarcastically funny, and "easily-abused" is highly subjective, but to me you are either an inexperienced developer, a determined hater, or a pathologically cynical hipster.

    I don't find the way the Go language designers setup the import statement, which is quite frankly the same as many other languages, as badly designed. Go is not that gun.... not in the least. The only possible exposure is versioning issues, but on significant projects, you should be managing your project dependencies yourself, not leaving it to other third parties. And, dependency hell is just a constant in any but throwaway projects.

    To use your lame gun analogy, even when the gun is well-designed, people still shoot themselves in the foot. The OP's story seems to be a case of this, not a case of a poorly designed gun.

    IMHO, of course... :)



  • @blakeyrat said:

    @joe.edwards said:
    @blakeyrat said:
    If the programming language has a feature that's easily-abused, it's a bad programming language.

    If a single poorly thought-out feature makes the whole language bad, I don't know of any good languages.

    Now you're catching on.

    Instead of defining a set of good languages and a set of bad languages, why don't we define a function H(a, b) that returns a if a is horrible compared to b, b if b is horrible compared to a, and shuts down your computer if you can't decide. For example, H(C++, C++) would return C++ because C++ is horrible compared to ANY language, including C++.



  • @Ben L. said:

    Instead of defining a set of good languages and a set of bad languages, why don't we define a function H(a, b) that returns a if a is horrible compared to b, b if b is horrible compared to a, and shuts down your computer if you can't decide. For example, H(C++, C++) would return C++ because C++ is horrible compared to ANY language, including C++.

    Your bad idea thread is thataway



  • @alphadogg said:

    a determined hater, or a pathologically cynical hipster.

    Now you're catching on.



  • @alphadogg said:

    Go is not that gun.... not in the least.

    Yeah, that gun would at least fire. Go is a backwards-pointing squib load. It's not even useful enough to be dangerous.



  • @Ben L. said:

    Instead of defining a set of good languages and a set of bad languages, why don't we define a function H(a, b) that returns a if a is horrible compared to b, b if b is horrible compared to a, and shuts down your computer if you can't decide. For example, H(C++, C++) would return C++ because C++ is horrible compared to ANY language, including C++.

    That's a terrible idea. H(a, b) needs to return -1 if a is worse, 1 if b is worse, and 0 if they're just as equally bad.



  • @MiffTheFox said:

    @Ben L. said:
    Instead of defining a set of good languages and a set of bad languages, why don't we define a function H(a, b) that returns a if a is horrible compared to b, b if b is horrible compared to a, and shuts down your computer if you can't decide. For example, H(C++, C++) would return C++ because C++ is horrible compared to ANY language, including C++.

    That's a terrible idea. H(a, b) needs to return -1 if a is worse, 1 if b is worse, and 0 if they're just as equally bad.

    How do you suggest I implement H(Go, H(C, H(C#, H(Java, H(Haskell, H(Erlang, Cool)))))) with your system?



  • @Ben L. said:

    @MiffTheFox said:
    @Ben L. said:
    Instead of defining a set of good languages and a set of bad languages, why don't we define a function H(a, b) that returns a if a is horrible compared to b, b if b is horrible compared to a, and shuts down your computer if you can't decide. For example, H(C++, C++) would return C++ because C++ is horrible compared to ANY language, including C++.

    That's a terrible idea. H(a, b) needs to return -1 if a is worse, 1 if b is worse, and 0 if they're just as equally bad.

    How do you suggest I implement H(Go, H(C, H(C#, H(Java, H(Haskell, H(Erlang, Cool)))))) with your system?

    (new Language[ ] { Language.Go, Language.C, Language.CSharp, Language.Java, Language.Haskell, Language.Erlang, Language.Cool }).OrderBy(lang => lang, new HComparer()).FirstOrDefault()


  • I just realized something beautiful about this thread: check the "star rating" at the top. It shows zero stars (which technically shouldn't even be possible since the lowest rating a person can give is 1 star). But if you click into it (you have to rate it because apparently that's just how CS works) it shows 3 people have given it 5 stars.

    The thing is, this a new fuck-up from CS, I know in the past we've had several 5-star threads that displayed correctly.



  • @morbiuswilters said:

    3 people have given it 5 stars.



  • @morbiuswilters said:

    I just realized something beautiful about this thread: check the "star rating" at the top. It shows zero stars (which technically shouldn't even be possible since the lowest rating a person can give is 1 star). But if you click into it (you have to rate it because apparently that's just how CS works) it shows 3 people have given it 5 stars.

    The thing is, this a new fuck-up from CS, I know in the past we've had several 5-star threads that displayed correctly.

    When I hover my mouse over the stars it says "Rated -715827875.67  out of 5 / 3 ratings".

     I've seen this before and I seem to remember someone saying that there was a way to deliberately cause this to happen.



  • @morbiuswilters said:

    @alphadogg said:
    Go is not that gun.... not in the least.

    Yeah, that gun would at least fire. Go is a backwards-pointing squib load. It's not even useful enough to be dangerous.

    Too hipster/edgy for me... Rebuttal is pointless...



  • @alphadogg said:

    Too hipster/edgy for me...

    Whoa, man, I think that's the first time I've ever been accused of being a hipster.

    @alphadogg said:

    Rebuttal is pointless...

    It usually is when you're on the wrong fucking side.



  • @morbiuswilters said:

    @alphadogg said:
    Rebuttal is pointless...

    It usually is when you're on the wrong fucking side.

    Insert anal sex joke



  • @Ben L. said:

    Insert anal sex joke

    You're still growing, it won't be a joke forever.



  • I just re-read the original repository readme. Apparently this "open source" project requires closed-source clones of open-source software of which the only copy was deleted from the "programmer"'s computer by the "programmer".

    This is the equivelent of printing out a web page, scribbling on it with a pen, and then making a new web page that references the scribbles only you have.

    I don't care what you guys think about Go. This guy is a fucking moron.


  • Trolleybus Mechanic

     [quoteuser="morbs"]

    How many hipsters even know what a squib load is?

    [/quote]

    Brandon Lee was killed when someone shot a blank at him from a gun that was improperly cleared of a squib load. The movie he was filming when this happened was The Crow.

    Thus every single goddamn hipster knows what a squib load is.

    ... or am I mixing them up with goths? Does it matter?



  • @Lorne Kates said:

    ... or am I mixing them up with goths?

    I'm sure there's some crossover, but by-and-large they are different.

    Also, people know about him dying, but I think most people just know it was a "gun accident" or they are a bit more perceptive a "misfire". I doubt most goths know the term for it.



  • @morbiuswilters said:

    gun accident

    @morbiuswilters said:
    misfire

    Gun control: because when you can control your gun, you don't shoot people "by accident".



  • @Ben L. said:

    @morbiuswilters said:
    gun accident

    @morbiuswilters said:
    misfire

    Gun control: because when you can control your gun, you don't shoot people "by accident".

    Well, in Lee's case they were filming a movie and somebody was stupid and didn't check to see if the gun had a bullet stuck in the barrel before they fired a blank. I'm not sure if you had a point, though, or were just being retarded.



  • @morbiuswilters said:

    @Ben L. said:
    @morbiuswilters said:
    gun accident

    @morbiuswilters said:
    misfire

    Gun control: because when you can control your gun, you don't shoot people "by accident".

    Well, in Lee's case they were filming a movie and somebody was stupid and didn't check to see if the gun had a bullet stuck in the barrel before they fired a blank. I'm not sure if you had a point, though, or were just being retarded.

    Canoes boys being retarded is an important part of life!



  • @morbiuswilters said:

    It usually is when you're on the wrong fucking side.

    Or, when you are dealing with zealot types, users of misplaced cynicism, and guys with axes to grind. Case in point, people who stupidly blame a technology for the obvious failings of the users of said technology.



  • Go nuts, anyone? This thing inplements both version and dependency managment, and import path looks like "gonuts.io/vendor/nut".

     



  • @morbiuswilters said:

    Morbs' Software Axiom 237: Given enough time, any language designed by chimps will eventually copy every mistake of C.

    FTFY.


Log in to reply