Jump to content
Site Stability Read more... ×
  • Advertisement
  • entries
    12
  • comments
    7
  • views
    1947

Double Fine Quest

Timmmmmmmmmm.. T

1294 views

MY QUEST:

I found out about Double Fine through your a podcast in 2012.  Fast forward six years, I’m a student game developer giving it all I have for a job there.

So, I checked their “Action Jobs” page to see what I could find.  Under "We are always recruiting everybody, all the time" there is a short story about what happens when you get a job there.

http://www.doublefine.com/jobs

f673_mMs2ntcGK5BFEodWPLxrWwbTtObtU16AHiNz5W4qVJ_1FVm6xEyZcDpEkCshDziPN0j7X21gUz_jTB1E6GgrWi8AmJx0d4efV9IYXY4eAXCqLTyD0xtZoy3gfr29Ulbl2bSdNGZFJp0JIM5S7644wIHWpFA46A2kbAyUyE3DaOS9CE3DuSK2QBIiWMjTpYmNNDnn9ONm5vA4Nbhstje7GFdIVpVQGgKPrCj09xd7v1hJ74CuZ6LtQm-o3hLbAgMPfYdmiMbHVvbmzzEhbb6RxN_ClWu8sxCHjaklVMuogT8KfEutGZxZ9xMgsmrWdNmluHMDim-zVm6D1449PofYEUi_FKOhd7UbdZftjGQTPXp_jrc34QJ7HqYaKlng9KO9YKoySWE3kui_Z2SB1Tf9KdtYFJGUhprwocbNyiSz0W1r24Pxbq7UZ6G05yxakCyEvH_zvkf7yp9zdNesQN2CBuD0JTO0UE_4utjWlqCLkZb8iu6D_UhgpdsRgtyffEmzxJagZAKv1dRRFSIYCarXbt3QtvvdEElyLK4G5y9MPFhjw-b-jgx5beIu7PXMF8XMLWfJ1eW7wSjFCbv3wF010aqm7ThPU5RbAyd=w543-h964-noAlso featured on this fabulous brochure.

Last summer, I decided I wanted a job there, but they must have interns banging on their windows, so how could I stand out?   I decided to make a game that would have several sections to demonstrate my ability and show that I would work hard.  

Last Fall, I learned Unity through my University.  Every single project I made was either a part of my Double Fine game, or specifically designed so that I could reuse code for my Double Fine game.

Around December I realized it would be awesome to go to GDC.  The main reason being that I could speak to people from Double Fine and make an impression.  

It was too late to sign up as a GDC volunteer, passes were over $1k, but someone told me about the Unity Student Scholarship.  I didn't have a proper portfolio, but I uploaded my work from my Unity class and any other Unity projects I had.  Even without a portfolio, I tried to make it look good.  I spent so long on the application process that I was late to a New Years Eve party.

 The new year came, and my game that would get me into Double Fine, codenamed "Project Sourdough," was not on schedule.  It would never be completed on time, although parts of it were a complete mess.

Since Sourdough didn't have time to rise properly, I needed to make a more concise experience very rapidly.  I reused as much code as I could to make "Project Unleavened," a game that follows the story on Double Fine's “Action Jobs” page.

Time passed.  I really wanted to go to GDC.  One night, I prayed that I would go, even though it was unlikely.  I also prayed that if I didn't go, they would at least tell me soon, so I could stop thinking about it.

The very next moment, I pulled out my phone to call someone, and an e-mail popped up on the lock screen from Unity folks.

"Thank you for submitting...  We received a lot of high quality applications ... Unfortunately, you were not chosen as a recipient ... But we were impressed with your application" and they gave me a limited access pass.

I was completely in awe.


SO I WAS GOING TO GDC!  

 
The next thing I needed was a way to give them the game.  I designed a one-sided business card reminiscent of an atari cartridge, and had it printed onto two USB Business cards from VistaPrint.

z1e6je7.jpgv8Vqf7o.jpg

I had a lot of work to do on Unleavened.  I put in some crazy hours in the weeks leading up to GDC, and had to either solve or work around countless issues.  Unfortunately, due to a quirk in my dialogue system, I could only build for Windows at the time.  Fortunately, I did get some help from my friends.  I found out one of them is a QA guru.  Another one could make great drawings, and it was amazing seeing him bring a piece of the game to life.  But their time was limited by their own schoolwork, so I did all the coding and most of the art myself.  That said, I can’t understate the importance of my friends and family during development.

The final week of crunch on Monday, my phone died.  It got hot, the battery drained quickly, and then it would not boot up.  I've had it for years, so it was at end-of-life, but the week before flying across the country was a bad time to bite the dust.
If nothing else, Verizon knows how to sell phones.  I got my hands on a Pixel 2 before the week was out.  Crisis averted, but it took the entire day to resolve that one.

Tuesday, I referenced DF’s Jobs page.  It had changed.  I had been planning to apply for an internship, but there was a brand new note.  “Alas, we are unable to offer internships pretty much ever, sorry!”

image.png.7f2b67f00aa036167b8f15c704d96bc9.png

That could be the end of the story.   But it’s not.  If I couldn't be an intern, I’d apply for a full position as a Gameplay Programmer.

I programmed, built, tested, rinsed, repeated until it was error-free.  After all that testing I copied those files onto the two business cards.

I took a few hours off Sunday night before GDC to hang out with friends.  Unfortunately, I needed more than two business cards for GDC, so I got back to work around eleven to design some normal ones.  I lied down for a moment and fell asleep for three hours, woke up at 5 AM and then sent my design to the local Minuteman Press.

The next morning, there was no next morning, I woke up at noon.   I ran about a mile to the printer to get those business cards, and began to pack ASAP.

h_q3622iy45Ynpc276p-MVxHHguFnFXZnPlor3JOY8zip02UNtL3_SHkouq0Xn4v7pvBN6BTV--JJj7HsT0ziAHQtgWlbJfE09IP9ojcfKM7Y19y0R8JrarXclTvdu0DErE-wpEZ3eCPfHGthzWsT-ZxBKRwq0teMWAT-xZu0KIHKv2hNXG0FI3sTkN7BRGwo9JBYZuDxfJcAsSur9VQk6RiEg3dkYtxmYo8a13nL3XNhrKnwgiFufYOQH5VQIMQyaijVjO2KayngT6nY9jLS1QEDB61zCI7f0fx3P_cvXhHXFhCccnhf_dz_vKHN77Slgz_5q02qdi4UfXaEC42-S7_448E_fl_sFkKLvQ7-JAdinljTtiyd0fAFcodyFLOGyivCLsMCSx6SXtOGHeliEq3tCrjX5GWjKM4uWbtIuh0MjRMlKK2N4popXxf8WHV8Y0aebKuOTA6ys3h3GMxKcTl429EEA2vQi6sKUJSUuXXpIpmhRS-kxS26e9lX4S5C3a4jZrEdqx0y96K6HHI6qKZ1ni1Kue6r4XXm66zhpiLBaqWSy3dyBuqJkjv3cDXYdhYLD5hM5F8-Q_rmhw06PoDrkR9AF2CEew_uade=w1251-h704-no (Disclaimer: That's not San Francisco :P )

I had a friend who was on-time to bring me to the airport, but I was too far behind packing, and missed the flight Monday.  They rescheduled me for free since the next flights had open seats.  I was stuck at the airport for hours, exhausted, but Tuesday afternoon I finally made it to San Francisco.

XKCBMx2xOMQvLJ3_Vje-WRAmWI9Parabr3-4AFyZMxC81V-FUayEtJtsDvceoG5FRVPD7uoUpAYzOfyyPWTKF0H7SXeKPLhmitWW7A_j-rT-TDN9rGOF132FDrSFsMUOno93z18-E7R6HZwxnTgOUS05IznW81gXohuPhIB9tpO3114OGhwwrfCZr2bNcsJnGiRWkEyGH7KONY1DOfEzYUanLji8LC-gVv2m72Bbb5NbYmASyMEtKvO389F8v-Lj-Z6QBEsHEdtUvzJrOfceobqbWoURiWSs3znoEUOEg2qc6MWHd2L7lJFS0Meip_Jr7EiUAlaEzCVnxSyztnmBYZLAmZJ43qvMaZBjf7ArdyIMJWB6_sdXLv_gMOgxANHkIvjKSdb5g5YYEi7aS-wJ2zEh936pc0PNawx4gZbaT4mYkclSUKMM7dARe3WTw4puJGYoKEJjthGLG8pg9w2utMMDQH-Ezfe4q-YEj8WJdb76d1Z0KVua-WirIB6ZdocRVzs5Cujl-ZsQiURE1IsGSoPBJe3K1hTJAPkEgGwMLZvl2npH7WePQum5GYegTtyNVsxV-ktxXxMzi91lOJiAWpSFrNLhSCwTPPDqjDtd=w1251-h704-no

Double Fine runs a booth called "Day of the Devs" which showcases a few selected indie games.  I hung out there for hours trying to find one of them.  I met plenty of good people, but I missed their main producer (Greg Rice) by literally a minute.  

Wednesday night was an awards ceremony, and the Tim Schafer got a big one.  I waited twenty minutes after the show until the people from that company started walking out, and caught up to Greg Rice when he separated from the rest of them.

"Mister Rice, can I talk to you for a minute?"
"I'm really really late, I can't talk now."
"Can you at least take this?"
And I handed him one of the USB Business cards with my resume and the game on it.
He ran away screaming.   
Well, not really, he just walked away quickly.

 
THE HUNT CONTINUED,

jtg7Buu90nvRJICYOsAbLE2jxIPPQEANU_8D26ZagmrYHXtIn6WhQCmWPn81ltLchWIDv6OeghGezpu14wAYWMoonvRcjsAODdF2Fb2OYQa8TV4kOXRaHcSD6LZNlmD0MIoNASyyFQmSBnpoNOwzpuS1KIUzbogFyEmNo1GDJXBfWD_BoDgiHvEqhYhVzpRC7HFn0tigWNzCc6vs8PbqhAzOgyVi9UFI9mrW8UrPW5kLO6QWZBNgJ8aHYvrgCBY0syZPn_K7KFZXniBuNKy24d1KFbwYhJUzF4WE1QsvzM_05H6s8ikLlsx69OqG-lUyNWQtwMYYhZV5FBr1TcRaQmbiPr78pgR3Z1iYQa-944T_DSi53cjNTXeALXkIHtlarZem1a8E68qE6ZnzYpMn4_R-lsjBoz-g83nsAaWm1vDnePQpM0i68AAr2woGOpXYhk35f5CG9ewoEiKYgY_qFcoNMtVZ5k30eHO2a2ui9cDzoUJdMU2g9u4HN-RGT8bG3jZyKryYEnRClLYCQFszelfiqkCq711SlhLoWTbkcXUTKDJNle1gasIO15HZZNWnQVjCtb2h7gUVWfcz4-kqZY6wJuEilY8L8uWv-E7U=w1251-h704-no

Thursday, I finally got lucky at Double Fine's booth.

While scanning badges, I saw some tiny print.  It said "Double Fine Productions."  Whoah.  I looked up, and saw he was wearing a shiny Double Fine pin.  It was beautiful.  I looked at his face, and he was talking to someone else.  

I awkwardly stood by until he was free, and then told him my story before relinquishing the second USB Business card.  Package 2 delivered!  Delivered to a Communications Manager, no less!

Friday I walked out of a building and saw some people in Double Fine branded clothes ==> I orbited around in front of them, and introduced myself to two more DF people (programmers).  They really liked the idea of my game, so I gave them my card and told then where to find it online.

Saturday I applied to Double Fine thru their web site, the normal way, except that I included a link to the game.

Monday, the Communications Manager sent me an e-mail that the game didn't work.  I know exactly the issue and exactly why.  I sent both the fix and a working version.

Which brings us to today. 

Here is the game I made: https://sonictimm.itch.io/action-resume
Playtime is usually less than ten minutes.  I did modify my dialogue system for web, so you can play it in your browser.


Experience Points:     

(AKA fancier way to say TL;DR)

I'd love to say that you can work hard for your dream job, but at this point I have no idea if I'll get the job.

What if I don't get the job.  I poured my life into a project for a [possibly] failed endeavor.  I still gained:

-A portfolio. 
-A trip to GDC
-Lots of contacts from said trip  
-Some free time in San Francisco 
-TONS of Unity Experience 
-Practice writing.  I love writing, but it's hard to sit down and do it.  
-Practice Art-ing.   I love UI, but spritework is not my calling.  
-A chance to collab with some friends   
-A game that may or may not be fun, I'll let you guys decide  
-This crazy story.  Honestly, the University feels mundane after all this...  

This list is getting crazy long..

But seriously, if your project fails, you'll probably learn more than if it succeeds. 
That said, don't ever strive for failure.  Study Failure.  Look at why things don't work, learn from other people's mistakes.  

Everyone learns from success, myself included.  (I'm not the first person to try and get into a company by making a game...)

Anyway, I'd love to get your feedback.  If you can spare ten minutes, I'd love to hear what you think of my game.

Also, if you have any tips for getting noticed by a game company / making yourself more employable, I'd love to hear those as well.

Cheers!



4 Comments


Recommended Comments

Wow, what a story, thanks for sharing!

I hope you manage to find a job! That attitude of learning from mistakes instead of fearing them is very valuable. :)

Share this comment


Link to comment
20 hours ago, jbadams said:

Wow, what a story, thanks for sharing!

I hope you manage to find a job! That attitude of learning from mistakes instead of fearing them is very valuable. :)

Thank you!
If you have a chance to play the game, I'd love to hear your opinion on it

Edited by Timmmmmmmmmm.. T

Share this comment


Link to comment

I played your game, I wasn't a fan. Sorry to say this. The messaging seems wrong, your game comes across as both begging for a job and overly reverent of double fine. That's a turn off. You should flip the attitude so that you are totally amazing and a company like doublefine would be lucky to have you working for them. You can't say that directly, so you have to show through your work why you're amazing. Don't make another game telling the player how awesome you are either. Instead, make a great but small and polished game which demonstrates your skills. It doesn't have to be 100% original, just take some ideas from existing games and creatively merge them into your own game. The most important thing to focus on is keeping your game small and then focusing on polishing it. Polish it until it shines. Make it feel good. You can polish a boring game into an amazing game. Check out these talks by Vlambeer game designers:

 


Also, your game music was ripped off from Final Fantasy. That's not okay, that's using someone elses' copyrighted work. In academia, that would be the same as plagiarism. I don't care that you may not have musical talent to create your own music, find someone that does or ask someone for permission to use their art. Worst case, it's better to have silence than to rip off someone elses' work.  If game companies did the same thing and used the copyrighted IP of other game companies, they'd be sued for serious damages. By seeing you feature copyrighted content in your portfolio, you're sending a coded message to the companies you're applying for. You're saying, "I don't respect copyright and intellectual property, therefore, I'm a legal liability which may get you sued if you aren't watching me." which translates to the manager, "This person is going to be a problem" and they'll throw your resume into the garbage. I would bet that you'll have many rejections from game companies just from this alone.

But congrats on finishing a project! That's never easy. You finished one, now start the next one and do better!

Share this comment


Link to comment
On 4/21/2018 at 2:34 AM, slayemin said:

The messaging seems wrong, your game comes across as both begging for a job and overly reverent of double fine. That's a turn off. You should flip the attitude so that you are totally amazing and a company like doublefine would be lucky to have you working for them.

I'll take this to heart as I continue developing (and applying for jobs).  Sometimes it's difficult to get earnest feedback, so I really appreciate this.

On 4/21/2018 at 2:34 AM, slayemin said:

Also, your game music was ripped off from Final Fantasy. That's not okay, that's using someone elses' copyrighted work. In academia, that would be the same as plagiarism. 

I did not neglect copyright, although it does sound genuine, doesn't it?
The song was not actually ripped from FFVII, even though it is the same melody.  It was made by recording a midi that some third party made of that song.  Legally, I used a recording of a cover of a song from Final Fantasy.  While I still don't own the melody, it falls within fair use since I'll never make any money from this game, nor am I claiming credit for the melody.
Before recording it, I experimented with different sound fonts, which allow your computer to interpret a midi differently, and chose the one I liked best (in this case, it was most similar to the original). 
The rest of the soundtrack was made the same way.

Anyway, thanks for playing!

 

Edit: That second video is definitely a keeper

Edited by Timmmmmmmmmm.. T

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By TehosKhiin
      Hello,
      It's my first time posting anything on this forum but I thought it was time to step up my knowledge about gaming theory and game design if I want to get into the industry. I have a lot of ideas of games that would be great. I write everything, draw characters, right stories, design and think about gameplay mechanics etc. A day I had an epiphany about a fighting game with Sekiro's gameplay. I know of course there would be a lot of problems with...camera being wonky, the guard bar must be readjusted, and the major problem would be the deflect spamming. But personally I think that with some adjustments, great character, some risk reward (like you can cancel an attack to throw of your opponent or if you try to deflect and miss your deflect you get punished for 'spamming') mechanics, It would be an engaging experience. It would be intuitive, easy to learn hard to master and mind games. 
      Of course, I write all of this because I intent to begin digging a bit deeper with that idea. If any of you think this is crap or it is the wrong section of the forum feel free to report me. Sorry if it is the case ^^.
      Hope it will interest anybody.  
    • By ToeBeans The Brave
      Hello everyone!
      I'm new to programming and pixel art, and I would greatly appreciate hearing some feedback on my Idle and Running animations. I'm looking for constructive criticism so that I can become better at making sprites in the future, so don't hold back!


    • By Pepsidog
      I'm wanting to create a hybrid game between turn based and action.  I'm looking to create a system where the player has a list of attack or move options on their turn, but I want to add a skill minigame in order to make the game more engaging for non-strategists.  I figured some sort of minigame or something.  Any ideas are welcome.  Thanks in advance!
    • By Ey-Lord
      Hello everyone

       
      I am here to gather your opinion, remarks, ideas or any constructive criticism you may have about what I am going to present. Don’t be shy!


       
      A bit of background:

      I am working alone on an indy web-based game, a simulation of RPG (idle game) where the player controls a group of 4 characters that he can sent into battle and that will fight automatically based on some AI preference that are similar to the FF 12 system (but more complex / powerful). He then earns some experience and resources that he can use to improve his unit’s gear, talents and skills. He has a lot of control on what skills his characters will use and how/when.


       
      What brings me here today:

      The AI of Monsters. I have the AI settings for players covered (basically a bunch of if/then/and/or/else settings that he can combine and order so that his units will act as he intends in battle). I’ve been working on the AI of monsters for quite some time, made a long break and came back recently to it.


       
      Short description of the battle system:

      No movement involved. Battle is fully automated. Players setup its units AI settings before battle and monsters are controlled by a separate AI. This is a 4v4 battle, like FF7 with some kind of ATB and any time a unit fill its ATB, it can play and the then the next unit who will fill it will play, etc. The player is completely free of his playstyle and may create very offensive group or very defensive ones. 4 healers or 4 tanks is completely possible.

      The battle system is very complex and allows for very varied and sometimes unusual strategies, like killing your own allies to proc an “on death buff” that will be devastating for the opponent.


       
      What I want for my AI?

      It needs to be fun to fight against and challenging. Ideally, I would like an AI as smart as possible (not omniscient but thinking as a human would). I know that a super-smart AI is not always the best way to make a game fun or challenging but in the context of my game, this is the result I want to achieve. It may seem unfair to have the AI try to kill your squishy while your tank is standing right there but my class design gives the tools to players to counter that so it’s not an issue (tanks are not purely aggro based for example). I want players to always be challenged by AI moves and that they must carefully think about their strategy because if they leave a big hole in it, I want the AI to exploit it.

      In practice, it means a few requirements:

      No dumb decision / do not fall into obvious player’s traps Exploit obvious flaws of the opponent Act in coordination when appropriate with other units Able to find who should be their focus in the player’s team (some notion of threat) Find the best move to use and if there is some kind of combo possible, use it

      These requirements are harder to meet than it looks. The issue is the sheer number of different mechanisms and strategies available to players and to monsters as well. For example, there are many cases where killing or attacking a player unit might be detrimental (units that return damages or that gain power when you hit then for example).


       
      What I have tried before?

      I have tried or at least reviewed many different AI concepts so far.

      -          A simple copy of my player’s AI system (hierarchical if/then/else). It was easy to script as I already have the UI in place for players so I can quickly define a basic AI for any new monster’s group. The main drawbacks are that it needs to be written for every monster group, it does not allow smart targeting and cannot find the best target or the best skill to use. It will also make dumbs decision as the targeting options cannot assess threats at all.

                I’ve rules out planners since for purely selecting the best pair of (skill, target), they do not seem to match my needs.           (H)FSM or BT does not seems to match my needs as monsters do not have states / transition condition that can lead to something useful for me.        I’ve ruled out aNNs as they might, with proper training, be able to find the best action at a given time but it’s very tedious to implement and will not solve my need of finding combo or coordinating with other units very well. (plus, let’s be honest, I’d be a bit out of my depth to program them)           I have spent an extensive period of time trying with tree searches. Mainly: monte-carlo with random sampling and came to the conclusion that due to the complexity of my battle system, it is excessively costly to compute any kind of reliable data this way.
      -        My current AI system is a version of my first one (the same as the players) but with access to some “smarter” targeting function that in theory allow to choose the best target. These functions work by gathering data for thousands of simulated fights during the AI time to play (1 second). It’s a first step to find the best target but not very accurate (lots of big flaws that can be exploited by players) and it is very time consuming and that is something I’m trying to get away from. I do not want to use 100% of the players CPU as I do now.


       
      What is my latest idea?

      I started to study more in-depth the Utility theory as described by Dave Marks (I read his book and watched his GDC AI lectures as well). I liked the idea. I like that I can start on something relatively simple and add more considerations as things progress to handle more and more situations. While my work began as something very close to utility theory, it evolved a bit afterward. Here is what I plan on doing to compute a unit’s best course of action:


       
      A – Score every of its move (each move is a pair [skill, target]).

      B – Chose the move according to a selection strategy (highest score, weighted random, random amongst the top scores… lots of different selection algorithm can be used there).


       
      So far, easy, right? Let’s dig deeper into our first phase of scoring (A), which is the hard part. For all the damage or healing skills:


      Step 1: The final scoring of the move [skill,target] will be function of the a “Survival” scoring for the player team and for the enemy team. An example of this relationship could be: Adding all the survival scores of each unit in Team A and divide the result by the addition of all the survival scores for each unit in team B.

      Step 2: The survival score of each unit will be its Health after the move we are evaluating, divided by the total damage per turn that we estimate other units can deal to her (minus the total heal it ca receive). [This a step where we can process damage and heal over time as well]

      Step 3: This damage per turn estimation will be, initially, the sum for every unit in battle of the damage or heal per second it can deal to that unit. For example: If I’m alone vs 2 bad guy that can deal 1 dmg/turn and if I can deal 1 heal/turn, the damage per turn estimation against me will be 2-1 = 1. [This is not optimal since we are counting the damage of each unit once per enemy unit but it’s a start]

      Step 4: To compute the DPS or HPS of each unit, we review the unit’s skills and compute their output against the unit we want to evaluate it against. From that, we construct a skill sequence to maximize the damage output and once we got the optimal skill sequence, we can compute its DPS or HPS output and pass it along for Step 3.


       
      It might seem like a lot of work, since, in a world with only damage or healing skills, the DPS or HPS sequence of each unit will be the same in every situation and as such only the damage done or healing done by the skill evaluated would be enough. But…


       
      The tricky part comes from buffs and debuffs. If we use the above algorithm, (de)buffs that changes the damage or healing someone does or receive will be evaluated correctly as it will change the damage or heal per second output of units and it would affect the survival score and the final scoring. That is why I chose to include DPS and HPS computations for each unit for each move.


       
      This is all fine until we consider (de)buffs that changes the power of other (de)buffs. Like: I cast a buff that double the length of all my future buffs. My algorithm can’t evaluate it correctly. It’s a situation that will be common enough in my game and I want my AI to deal with it. Note: there are more complex situations where a unit could buff a buff that buffs a buff that buff a buff [….] that will end-up buffing a damage or healing skills, but those cases will not be addressed as they will hopefully be rare and too cumbersome to compute anyway.


       
      So, my goal is to score properly buffs that: 

            Buffs the damage or healing output of someone           Buffs that buffs a skill that does the above

       
      L    Long story short of how I am doing that. I’m using my initial algorithm but while also estimating damage or healing per second change for each dps or hps sequence.To do that I’m evaluating every move of the unit (or every unit in case of AoE but lets keep it simple with single target) that is targeted by the buff. So, we are switching PoV here compared to the initial unit we are evaluating (unless the move evaluated is buffing itself)

      -          I’m doing the above in 2 situations:

      o   A : After a cast of the buff skill I’m evaluating

      o   B : Without the cast of the buff, just like if it was that unit’s turn to play

      -          Using a sort of min/max approach: if the unit targeted by the buff is an ally, we will take the best branch of our tree in A and compare it with the same branch (pair [skill,target]) in B. If the unit targeted by the buff is an enemy, we want to lower their maximum score and will select the tree branch that does that in A to also compare it with the same branch in B.

      -          The information we extract here are DPS or HPS delta for each sequence of DPS/HPS for each unit vs each other unit.

      -          Then, we go back to our steps 1 to 5 and compute our scoring for the move (buff) while using our new dps/hps deltas to get better and more accurate dps/hps sequence for units affected by the buff.


       
      This is basically it. I’ve ran a manual version of the algorithm in 2 different battle settings to test it and see if it gave good results. It worked. Not flawlessly but it worked. Lots of cases will still require tweak and additions to the basic idea but I think its promising. (taunts and CCs are not easy to deal with but it’s manageable)


       
      What I like is that I can add more considerations later (as in the utility theory) like: resource cost, general unit strategy (cleave or focus), behavior (careful, lunatic, reckless). While this will still be a bit time consuming it should be a good order of magnitude faster than my current AI. It also does not prevent me from adding hardcoded AI move if I want to “script” more some monsters. Debugging and tweaking might be a bit painful though, especially when fights will involve lots of skills & stats but that’s an issue that most AI for my game would likely have anyway.


       
      To come back with my initial goals:

              No dumb decision / do not fall into obvious player’s traps
      o   Not perfect but it should choose the best target whenever possible

                 Exploit obvious flaws of the opponent
      o   Same as above

              Act in coordination when appropriate with other units
      o   This can be done simply by adding weight to some targets or computing moves for all units of a group before deciding which one to take (for example to take the best move vs a specific unit, on average)

             Able to find who should be their focus in the player’s team (some notion of threat)
      o   It will naturally focus the unit who is the easiest to kill and debuff or CC the ones that deal the more heal/damage. But, to better solve this, we will need to add other considerations to the AI scoring process, It should not be *too* hard    

            Find the best move to use and if there is some kind of combo possible, use it
      o   Combo are very often in the form of buff/debuff setup before an actual damaging or healing skills and my AI can compute up to a 3 moves combo (buff > buff > skill that dmg or heal) which should cover most cases.


       
      I’m quite happy with my initial tests. I’m not going to be coding it now. My goal was to reflect on the subject on paper and try to see if designing my AI would be a roadblock or not for my project. There are a few other area I want to design and take time to really think about before getting back to my project full time. I’d love to hear your toughs and feedbacks about my AI ideas. Do you see huge roadblocks I’m missing? Does it sound ok to you?

      If you read that far…. thank you and I can"t wait to hear from you guys😊

    • By Joey Nigro
      Can someone please program a new whacking game. The title of the game is "Whack the Mouse". I made the characters on Pixton. The weapons that are attached to the cat are claws and fangs. Don't forget to add the violence and gore warning.
      Here are the characters (the cat is the player and the mouse is the one who's getting whacked):

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!