Author Topic: Keith Appreciation Thread  (Read 7606 times)

Offline zoutzakje

  • Hero Member Mark III
  • *****
  • Posts: 1,052
  • Crosshatch Conqueror
Re: Keith Appreciation Thread
« Reply #15 on: December 03, 2012, 07:11:26 pm »
Awesome

Offline contingencyplan

  • Full Member
  • ***
  • Posts: 147
Re: Keith Appreciation Thread
« Reply #16 on: December 03, 2012, 10:10:02 pm »
Agreed on the thanks, and good luck with the Valley 2 beta --- I'm looking forward to that one as well!

Offline Winge

  • Hero Member
  • *****
  • Posts: 601
Re: Keith Appreciation Thread
« Reply #17 on: December 03, 2012, 10:13:49 pm »
You two (Keith, Chris) are two of my three most favorite game devs.

You might not always make games I like, or change the ones I do in ways that I enjoy, but you're ever-present, reading every conversation and supplying your own input, while also maintaining civility.

Unlike a half-dozen or more other devs I could name.

This.  Really, I would have a hard time naming any other Devs, as you are much more involved in your games than any developer I've seen.  Looking forward to AVWW2 as well...now if only I actually had the time I need to play all of these games  :P
My other bonus ship is a TARDIS.

Offline LaughingThesaurus

  • Master Member Mark II
  • *****
  • Posts: 1,723
Re: Keith Appreciation Thread
« Reply #18 on: December 03, 2012, 10:31:55 pm »
You two (Keith, Chris) are two of my three most favorite game devs.

You might not always make games I like, or change the ones I do in ways that I enjoy, but you're ever-present, reading every conversation and supplying your own input, while also maintaining civility.

Unlike a half-dozen or more other devs I could name.

This.  Really, I would have a hard time naming any other Devs, as you are much more involved in your games than any developer I've seen.  Looking forward to AVWW2 as well...now if only I actually had the time I need to play all of these games  :P
I'm with this actually... because, I remember thinking that it was weird to almost be able to say "I know this developer..." without correcting myself. It's like, these are the developers that the community members are almost friends with. I feel like if they weren't so busy, they'd almost be up for a co-op game of AI War.

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Keith Appreciation Thread
« Reply #19 on: December 03, 2012, 10:36:58 pm »
I don't mind criticism of the game or recent changes or whatever; we need that.  But it's also good to have a healthy balance of not talking only about the things that we don't like, etc.

Yeah, we've been a bit rough and nitpicky with the game's design lately, haven't we.  Sorry about that.   :-[

Some personal things I love in the recent builds:
SF fleet intelligence.
Threatfleet nastiness.
Strategic Reserve (definate !FUN!)
Modular Starship as a bonus ship
Log File adjustments for readibility and locatabilty.  This is some awesome now that I'm used to it.
New CPA methodology (now that I get it).  Continuously neuter your backfield... or DIE human scum!

Thank you.  They're much appreciated.
... and then we'll have cake.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: Keith Appreciation Thread
« Reply #20 on: December 03, 2012, 10:42:01 pm »
This.  Really, I would have a hard time naming any other Devs

The third one in my list is Toady One. ;)

Offline KingIsaacLinksr

  • Master Member
  • *****
  • Posts: 1,332
  • A Paladin Without A Crusade...
Re: Keith Appreciation Thread
« Reply #21 on: December 03, 2012, 10:45:16 pm »
Just going to +1 this thread. ;)
Casual reviewer with a sense of justice.
Visit the Arcen Mantis to help: https://www.arcengames.com/mantisbt/
A Paladin's Blog. Long form videogame reviews focusing on mechanics and narrative analyzing. Plus other stuff. www.kingisaaclinksr.com

Offline Fleet

  • Hero Member
  • *****
  • Posts: 633
Re: Keith Appreciation Thread
« Reply #22 on: December 03, 2012, 11:32:48 pm »
In the name of all that is good customer service and dev skills, all hail Keith!

Offline Oralordos

  • Sr. Member Mark III
  • ****
  • Posts: 434
  • Suffering from Chronic Backstabbing Disorder
Re: Keith Appreciation Thread
« Reply #23 on: December 03, 2012, 11:36:22 pm »
All hail Keith and Chris! Gods among developers!

Offline Pluto

  • Newbie Mark III
  • *
  • Posts: 43
Re: Keith Appreciation Thread
« Reply #24 on: December 04, 2012, 01:15:36 am »
I got bored and decided to up the ante.

Looks better here -> http://pastebin.com/sgYzrxmW

Syntax highlighting ftw.  And yes, this code will compile and run.

Code: [Select]
package arcen;

import java.util.Random;

/**
 * @author Pluto
 */
public class ArcenGames {
   
    public static void main(String[] args) {
        //Ahoy a company!
        ArcenGames ag = new ArcenGames();
    }
   
    //Global random generator, never know what you find when you get out.
    Random r = new Random();

    ArcenGames() {
        for (Game g : Game.values()) {
            Keith keith = new Keith(r);
            for (int hour = 9; hour < 17; hour++) {
                switch (g) {
                    case AI_WAR:
                        if (!g.getGameKilled()) {
                            AIWar a = new AIWar();
                            int weight = r.nextInt(100);
                            if (weight > 80) {
                                keith.addPain(a);
                            } else if (weight <= 80 && weight > 5) {
                                keith.fixBugs(a);
                            } else if (weight <= 5 && weight > 0) {
                                keith.addToExpansion(a);
                            } else  if (weight == 0 ){
                                //He killed it.
                                g.setGameKilled(true);
                                close();
                            } else {
                                //Keith wins the powerball and runs away.
                                close();
                            }
                        }
                        break;
                    case A_VALLEY_WITHOUT_WIND:
                        if (!g.getGameKilled()) {
                            keith.idunknowwhatthisgamereallyis(10);
                        }
                        break;
                    case TIDALIS:
                        if (!g.getGameKilled()) {
                            keith.ialsodontknowwhatsinthisgame();
                        }
                        break;
                }
            }
        }
    }

    private void close() {
        Runtime.getRuntime().exit(0);
    }
}

//Arcen's games.
class Keith {

    //Keith is a person.  Person's have health.  Some people are healthy.  Some people are not.
    double health;
    //Keith has feelings!  Though sometimes I wonder...
    double feelings;
    //Keith is fickle.  Very very fickle.
    double fickleness;
    //Keith has a work load. This is part of having a job.
    double workLoad;
    Random r;

    Keith(Random r) {
        health = r.nextDouble();
        feelings = r.nextDouble();
        fickleness = r.nextDouble();
        workLoad = r.nextDouble();
        this.r = r;
    }

    double getHealth() {
        return health;
    }

    double getFeelings() {
        return feelings;
    }

    double getFickleness() {
        return fickleness;
    }

    double getWorkLoad() {
        return workLoad;
    }

    /**
     * This should be self explanatory.
     */
    void idunknowwhatthisgamereallyis(int i) {
        //umm, what?
        throw new UnsupportedOperationException("Not yet implemented");
    }

    /**
     * This should also be self explanatory.
     */
    void ialsodontknowwhatsinthisgame() {
        //yeah, above.
        throw new UnsupportedOperationException("Not yet implemented");
    }

    /**
     * Keith adds something to make AI War more painful.
     *
     * @param a
     */
    void addPain(AIWar a) {
        if (this.works()) {
            //No limit in the pain threshold.
            a.setPainThreshold(a.getPainThreshold() + 1);
        }
    }

    /**
     * Keith fixes bugs inherent in AI war.
     *
     * @param a
     */
    void fixBugs(AIWar a) {
        if (this.works()) {
            //Constantly fix bugs.
            if (a.getNumBugs() > 0) {
                a.setNumBugs(a.getNumBugs() - 1);
            } else {
                //...  but if they all get fixed, inevitably more have creeped in.
                a.setNumBugs(7);
            }
        }
    }

    /**
     * Keith adds to the expansion progress of AI war.
     *
     * @param a
     */
    void addToExpansion(AIWar a) {
        if (this.works()) {
            //Still working towards the next expansion!
            if (a.getExpansionProgress() < 100) {
                a.setExpansionProgress(a.getExpansionProgress() + 1);
            } else {
                //And if it's finished, there's always a new one to start.
                a.setExpansionProgress(0);
            }
        }
    }

    /**
     * Simple determination of whether Keith gets work done.
     *
     * @return Whether Keith works.
     */
    private boolean works() {
        if (workLoad <= .4) {
            //Keith got lazy and procrastinated as he thought he didn't have much to do.
            workLoad += .1;
            return false;
        }
        if (feelings <= .2) {
            //Keith is in too bad of a mood to work.
            //But, the mood goes up slowly.
            feelings += .1;
            return false;
        }
        if (health <= .5) {
            //Keith is not feeling well.  He takes a trip around go.
            health += .2;
            return false;
        }
        if (fickleness >= .5) {
            //Keith feels fickle.  He goes swimming with Old Greg.
            fickleness -= .1;
            return false;
        }

        //Keith does work!
        workLoad -= .02;
        feelings -= .02;
        health -= .02;
        fickleness += .02;
        return true;
    }
}

class AIWar extends ArcenGames {

    int painThreshold = 75;
    int numBugs = 7;
    int expansionProgress = 25;

    public int getExpansionProgress() {
        return expansionProgress;
    }

    public void setExpansionProgress(int expansionProgress) {
        this.expansionProgress = expansionProgress;
    }

    public int getNumBugs() {
        return numBugs;
    }

    public void setNumBugs(int numBugs) {
        this.numBugs = numBugs;
    }

    public int getPainThreshold() {
        return painThreshold;
    }

    public void setPainThreshold(int painThreshold) {
        this.painThreshold = painThreshold;
    }
}

//Arcen's games.
enum Game {

    AI_WAR(false),
    A_VALLEY_WITHOUT_WIND(false),
    TIDALIS(false);
    private boolean GAME_KILLED;

    Game(boolean g) {
        this.GAME_KILLED = g;
    }

    boolean getGameKilled() {
        return GAME_KILLED;
    }

    void setGameKilled(boolean state) {
        this.GAME_KILLED = state;
    }
}

Yes, I like java.  <3 Keith.  Get to feeling better!
« Last Edit: December 04, 2012, 01:19:56 am by Pluto »

Offline Spikey00

  • Lord of just 5 Colony Ships
  • Master Member Mark II
  • *****
  • Posts: 1,704
  • And he sayeth to sea worm, thou shalt wriggle
Re: Keith Appreciation Thread
« Reply #25 on: December 04, 2012, 01:19:17 am »
I love you Keith.  Lance and Foogie probably do too; I just thought you might have wanted to know.   :-*

(Be well, sir!)
I'd take a sea worm any time over a hundred emotionless spinning carriers.
irc.appliedirc.com / #aiwar
AI War Facebook
AI War Steam Group

Offline Lancefighter

  • Core Member
  • *****
  • Posts: 2,440
Re: Keith Appreciation Thread
« Reply #26 on: December 04, 2012, 01:44:45 am »
I feel like i might be slightly late. I am really happy to have the opportunity to work so closely with the developers of something I have spent much time playing, and hope that this relationship, and the entire community, will continue to prosper as arcen becomes a huge gaming conglomerate that reinvents video games.

 Also, you should show up in the irc sometime, there has been excellent discussion of some rougelike of late!
Ideas? Suggestions? Concerns? Bugs to be squashed? Report them on the Mantis Bugtracker!

Author of the Dyson Project and the Spire Gambit

Offline Histidine

  • Hero Member
  • *****
  • Posts: 581
Re: Keith Appreciation Thread
« Reply #27 on: December 04, 2012, 04:18:28 am »
As a FOSS game dev myself, I wish I was half as awesome as Keith.
<3 you Keith, and Chris, and everyone else at Arcen!

Offline Bognor

  • Hero Member
  • *****
  • Posts: 570
Re: Keith Appreciation Thread
« Reply #28 on: December 04, 2012, 09:08:22 am »
+1 for Keith and Arcen are awesome! :D It's a really amazing game, and a wonderful community to be a part of.

Also, belated thanks for making the thread about tractored ships and deepstriking based on my objection.
Your computer can help defeat malaria!
Please visit the World Community Grid to find out how.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Keith Appreciation Thread
« Reply #29 on: December 04, 2012, 10:21:05 am »
Yeah, we've been a bit rough and nitpicky with the game's design lately, haven't we.  Sorry about that.   :-[
Oh, I wasn't saying that things were greatly out of balance in that regard, just explaining that what I look for in feedback is that kind of balance (as opposed to always negative or always positive).  I'd say y'all do a pretty good job of that overall.

Thanks to everyone for the kind words, the occasional direct reminder that our brainwashingcustomer-service efforts are working is helpful :)

All hail Keith and Chris! Gods among developers!
That would be taking it a bit far ;)

The third one in my list is Toady One. ;)
Yea, that guy's an inspiration.  As is DF itself.  Not always an inspiration to good things, but nonetheless ;)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!