Quest Implementation

  Рет қаралды 13,497

Timothy Cain

Timothy Cain

Күн бұрын

Пікірлер: 70
@DBROstalos
@DBROstalos Жыл бұрын
For me, as an indie developer working on my own game, your channel has already given me many times more than people speaking at conferences or training courses. A real diamond.
@JamesLee-mp8hk
@JamesLee-mp8hk Жыл бұрын
What kind of game are you working on? Is it an RPG? Could you tell me about it? If you'd rather not no worries but I love RPGs particularly indie RPGs .
@stevedowning3892
@stevedowning3892 Жыл бұрын
Me too, although I speak as a rank n00b who only downloaded Godot this week
@DBROstalos
@DBROstalos Жыл бұрын
yes it is a turned-based RPG insipred by KOTOR2 in terms of story and setting but with Megami Tensei/Persona combat, so it's a mix between EU and Asian gamedesign sort of @@JamesLee-mp8hk
@Deadener
@Deadener Жыл бұрын
Tim has been a bad influence on me. I just want to make reasonably scoped games that I can ship within a few months, and as I watch these videos, I can feel a devil lean over me and whisper in my ear: "You could make an RPG."
@sp33kz
@sp33kz Жыл бұрын
Abso-fuckin-lutely. I love that you get the technical side of things as well as the broader, more people-oriented side.
@TheForbiddenLOL
@TheForbiddenLOL Жыл бұрын
As simple as this is to program, I really appreciate hearing someone from the industry talk about the structure of a system like this. I'm always thinking to myself while coding these systems "Is this really the way it's *meant* to be done?".
@Developesque
@Developesque Жыл бұрын
Thanks for talking about all of these things. I work in the early and late hours and all weekend on my indie games, by myself, so I don't get to hear the daily banter that aids in skill development.
@CainOnGames
@CainOnGames Жыл бұрын
I think that banter is what I miss the most as I start the retirement process. So I'll keep talking for a while. :)
@echoness_
@echoness_ Жыл бұрын
Thank you, as a programmer I really apprecite the insight of how to consider project structure. The architecture is not only about the games functionality but also helping the development team boost their efficiency.
@daytonode
@daytonode Жыл бұрын
These technical videos are a god send. Topics that you'd think aren't even niche get so little coverage on the internet because game developers think they're so standard.
@theangel666100
@theangel666100 Жыл бұрын
This is a great video. Thanks Tim. Its almost like having a senior dev to ask questions to.
@bushwhackedonvhs
@bushwhackedonvhs Жыл бұрын
When you said "You can't go from mentioned to unknown" regarding quests I immediately had an idea for a game mechanic where drugs or an illness or injury cause you to forget various quests and pieces of information at random and you have to go about some process to get rid of the effect.
@developerdeveloper67
@developerdeveloper67 Жыл бұрын
Tim, can you compare C, C++, C#, talk about your experiences making games with these languages, early on in your own engines and later on on Unity (Pillars) and also tell us what did you enjoy more doing?
@EyefyourGf
@EyefyourGf Жыл бұрын
C or C++ is not used in unity only C#,and i say that because you clearly said early on in your engines and now in unity.
@jextra1313
@jextra1313 Жыл бұрын
I wonder if Tim liked or disliked the higher-level nature of C#, due to his familiarity with C/C++.
@theultimateevil3430
@theultimateevil3430 Жыл бұрын
I'm not Tim, but here's my unwelcome subjective experience: C is garbage, C++ is ultimate garbage (though you can't do graphics/engine programming in anything else but; the alternatives has only started to appear lately with Rust and Zig), C# is nice for gameplay programming (can't program engines with it because of garbage collector) and is usually a go-to choice as a scripting language in a game engine. You can make tools for your game engine with whatever, Python is widely used (but it's subjectively horrible, pick C# instead). Tools for Unity is made with C# plugins, the gameplay code is C# as well. C# performance should be enough. There's no much support for native languages (C++ etc.) for gameplay programming in game engines in general, aside from UE (but it's cursed). Historically, some engines went with their own custom languages for scripting (UnrealScript, etc.). The language for a programmer doesn't matter as much as the tooling around it, basically, you pick the right tool for the job and go with it.
@human-ft3wk
@human-ft3wk Жыл бұрын
@@EyefyourGfhe didn't imply C or C++ was used in unity, he mentioned all 3 languages
@abmarnie9
@abmarnie9 Жыл бұрын
I love how specific this video is. I am doing a quest system in my game soon
@LilArquebus
@LilArquebus Жыл бұрын
Thanks for all the videos lately! Been a very pleasant surprise.
@TheDevisaur
@TheDevisaur Жыл бұрын
Really helpful video for understanding a basic approach to quests. One point you bring up is that you would leave certain aspects up to scripting. How is scripting vs coding defined? In traditional coding spaces, at least so far I've found, it's basically all grouped into one bucket with out differentiation.
@spitemonster
@spitemonster Жыл бұрын
Thank you for making this Tim. I see I'm not the only developer in the comments, shouldn't be surprised about that! Just wanted to chime in and say more technical videos like this, theory and design rather than the nitty gritty, from someone like yourself is tremendously invaluable. Can only ask for more! EDIT: I suppose since you mentioned you like more specific questions, a video on the topic of software design and delegating that design to a dev team would be great, not to mention more systems based discussions! I'd also love to know more about what your specific day-to-day role and job was like as a director or lead programmer.
@Ambanoid
@Ambanoid Жыл бұрын
For our rpg game we went with node based approach: the nodes, once reached by a "signal", fire their script and advance or hold the signal and wait for events. There's almost no predefined node structure and our scripters had to figure out a good way to sctructure quests themselves. Very flexible and universal. I think CDPR uses/used something similar. The states that Tim talks about are even more universal, but in our system they aren't mandatory - a quest is a set of scripted nodes that might not even be visible to the player.
@lrinfi
@lrinfi Жыл бұрын
Loved the story about all the bug fixes for Witcher 3 being stuffed into the wandering vendor because his was the only signal that was always active and game/quest stage, etc. didn't matter. I know nothing about programming, but that was hilarious to me.
@Anubis1101
@Anubis1101 Жыл бұрын
I hope you do more programming videos, I definitely need them. It's hard to find good learning material for game programming. Most programming videos/channels are leaning more towards the FAANG industries (which often approach things differently than game development), and most game dev videos are for generic development in specific engines like Unity. A KZbinr called The Cherno has been immensely helpful, but I'd love more of your insight into it, and even some hard examples if you're willing.
@cjgj
@cjgj Жыл бұрын
Hey Tim, I'm curious if you'd be interested in talking about your experiences with people who got into the games industry later in their careers. Things like whether they're generally successful or not, how common it is, what kinds of things outsiders take awhile to grasp, etc. I've worked as a programmer at non-gaming companies for awhile now, and I've often thought about what it would be like to get into the games industry, but I have no idea how that might actually go. Thanks for the videos!
@mudmew4231
@mudmew4231 Жыл бұрын
Hey Tim, I remember you talking about how your super luck character from GURPs made you want to put luck into Fallout. Is there anything else in your CRPGS that was heavily influenced by your experience in tabletop games? This also goes for narratives that got told at the table then put into your games. Thanks!
@kyoujinko
@kyoujinko Жыл бұрын
That's really interesting, please more coding answers would be appreciated. In particular save states, I presume that it is saved to a database, but how does it know where you were, who was standing there, etc etc
@colin-campbell
@colin-campbell Жыл бұрын
+1 to this question
@jextra1313
@jextra1313 Жыл бұрын
I'd guess that any object that has to be saved has a method that triggers on the save event, which sends relevant values to a function that recieves all values and creates/updates the save file. If I'm way off, it would be really interesting to find out how Tim does it.
@YellowCable
@YellowCable Жыл бұрын
I always would have wanted as a player to have the ability to return to the quest giver and renounce/unaccept a quest, especially for certain kinds of quests, make it disappear from the "todo", but having this explicit exchange with the NPC, and possibly negotiate for the quest to be delayed.
@S....
@S.... Жыл бұрын
More videos like that , please.
@LddStyx
@LddStyx Жыл бұрын
You could do a tree structure where the objectives are sub-quests so that the root is completed once all of its branches are compleated.
@TommyHanusa
@TommyHanusa Жыл бұрын
Are additional variables on more advanced quests just additional instances of the quest class? It seems like the pattern would be to use a quest class instance to hold variables of the quest class type to build up more complicated quests. For an advanced quest "To make an apple pie" it might reference 5 other quest variables ("invent universe", "apple", "spice", "crust", and "getting baked") that need to be completed for the advanced quests completion. And any call to update the quest state on a quest variable would make a call to check the state on the advanced quest to see if it should advance or expose additional quests (so you only mention "getting baked" after you have all the ingredients). Quest variables could also then be updating other quest variables to build them into a chain (once the "invent universe" quest variable is completed then the "apple","spice", and "crust" quests get accepted). Have you tried this or in your experience does a different structure work better? *and of course you can botch the "spice" quest by getting Old Bay instead of Cinnamon.
@H0VA
@H0VA Жыл бұрын
Tim great work as always. I always wondered in regards to world and story building did you come up with villains like Frank Horrigan and others in the first 2 fallout games. It really has left a lasting impression on me because of how well done they were. And what would you say makes for a good antagonist or villain in the context of the story?
@blackdragon5274
@blackdragon5274 Жыл бұрын
Hey Tim, I'm curious as to what kind of involvement you had in New Vegas, I know you only went to obsidian a year after it came out, but did any old friends ask you your thoughts during development like with Fallout 2, or did any of your old ideas get reused? If nothing, or if it wouldn't make the video too long, what did you think of where New Vegas took the world of Fallout? Love the videos!
@13skiba
@13skiba Жыл бұрын
Hiya Tim. A big fan of your work. I would like to know your opinions on current rpg games and a particular little game called Atom RPG.
@Draekdude
@Draekdude Жыл бұрын
I love these videos! Is there a Tim discord or patreon?
@shrek1onDVD
@shrek1onDVD Жыл бұрын
Hey Tim, do you know why games stopped putting in cheat codes? Even back in day, going from San Andreas to GTA 4 so many cheats were removed and like the coolest ones too. Even tho it's not a cheat, did the hot coffee incident have anything to do with it? edit: thinking on it, i wouldnt be surprised if the rise of achievements had something to do with cheats going away
@zhulikkulik
@zhulikkulik Жыл бұрын
I think it is because cheats aren't really intended for players. It's a testing functionality so you can just instantly get access to something instead of looking for it or completing quests etc. Engines now have better ways to test things so maybe there's no need for it. Also it's kinda weird to leave something like that in a game.
@arcan762
@arcan762 Жыл бұрын
I think part of it was because games companies often did deals with gaming magazine publishers (back when those were still popular), where you could only get the cheats in the relevant magazines, but obviously now nobody cares about those as you can just look them up online.
@Rentash
@Rentash Жыл бұрын
Hey Tim, I know this may be a broad request but. For someone who doesn't have the time or money for college but is very passionate and has a lot of ideas in regards to Game Design and Setting, Where do you recommend someone start? I don't know the first thing about making a game but really really would love to get started in some capacity! Thanks in advance, and Thanks even more for these videos!
@Rentash
@Rentash Жыл бұрын
I just realized I didn't word this the best, for clarification I mean what exactly would be the basic skills required to begin working on games and where/how do you recommend someone begin honing said skills? (I know you've done a video on getting a job in the games industry in the past and I wanted to add that this question is more for those who would like to get started on a passion project and don't have the skills to do so)
@AB-sw4kb
@AB-sw4kb Жыл бұрын
@@Rentash I think it can depend on what sort of game this is. Is this like an action-adventure RPG, racing game, JRPG, puzzle game...?
@Rentash
@Rentash Жыл бұрын
@AB-sw4kb Well, like I said in my comment I know nothing about making a game, and by that I should elaborate and say I know nothing about coding except maybe the commands I've used in DosBox. Anyways while I have plenty of ideas, I'd say the most achievable out of the bunch is this idea I have for a roguelike JRPG. I know JRPG's are generally very long and therefore development can be rough so I figured a roguelike would alleviate those symptoms. Basically a game revolving around the Battle Mechanics of JRPGs that tries to add depth to equipment, skills and classes (in this case "backgrounds) with the gimmick of you killing god (classic JRPG trope) but! Your character to score the final blow becomes god in your next playthrough, and perhaps additional mechanics supporting this like picking a piece of equipment from each character from your party (outside of the one who "becomes god") and naming said equipment for it to become legendary loot next time around etc.
@Rentash
@Rentash Жыл бұрын
@AB-sw4kb 2D of course for sake of simplicity.
@theangel666100
@theangel666100 Жыл бұрын
​@@RentashI'd suggest doing some basic C# beginers tutorials, then getting into unity. You're going to need to understand concepts like object oriented programming
@Lbf5677
@Lbf5677 Жыл бұрын
how did you implement conversations in fallout in code?
@wyattderp9719
@wyattderp9719 Жыл бұрын
How hard is it to add dynamic quests and quests with consequences into a game and why do so many developers fall into the fetch quest trap?
@LadislausMarguspa
@LadislausMarguspa Жыл бұрын
nice
@lovzi9865
@lovzi9865 11 ай бұрын
Tim, why do you want the mentioned state into your game?
@CainOnGames
@CainOnGames 11 ай бұрын
This allows the quest giver to know they offered the quest already, so narrative designers can write lines like “Have you reconsidered taking on those bandits?”.
@lovzi9865
@lovzi9865 11 ай бұрын
@@CainOnGames thanks Tim. Makes sense to store that info for the immersiveness. And thanks for all your videos. You are an inspiration for a software engineer who wants to create its first RPG.
@MFKitten
@MFKitten Жыл бұрын
I just eant to suggest that you really should make the original game idea for your Fallout engine, where you go back in time and kill the monkey that disrupts human evolution and go back to the future that is now controlled by dinosaurs etc etc. That sounds like a game everyone would love nowadays. It has some Tim Schafer vibes!
@MaskedImposter
@MaskedImposter Жыл бұрын
Everyone loves singletons :D
@WesBelden
@WesBelden Жыл бұрын
That was fun, thanks for your breakdown and to the viewer who asked the question. I'm curious on how you typically approach dialogue trees and their content updating based on quest state and other factors. Do you condider the scripts and quest entirely separate systems (scripts just calling quest methods), or do you ever have a quest variable reference a script to run? If there are different dialogue options based on dialogue choices previously selected by the player, quest related actions with multiple outcomes etc. do you prefer that all be tracked separately in script variables, or provide a means of setting those variables in the quest?
@FluffySylveonBoi
@FluffySylveonBoi Жыл бұрын
KZbin unsubscribed me again, so I had to hit it again. I hate when they do it :/
@jextra1313
@jextra1313 Жыл бұрын
Their state machine is broken, which is pretty relevant to the current video
@an_imminence
@an_imminence Жыл бұрын
The complicated part about quests is not the system programming, it's the "writing the quests well" part. The Witcher 3 devs talked about how many different things can intervene, affect or reorder quests. - Oh, you've been to the cave and befriended the ghost already? Then we don't need any help anymore! (achieved before mentioned, but unknown to the questgiver) - You found the traitor someone sent you to find, but what to do with him now? (can be completed three different ways, which might be referred to later) - Oh, the questgiver dies after you got rid of the monster successfully? Who will pay you now? But that's for the designers to worry about ;)
@lrinfi
@lrinfi Жыл бұрын
The better written, the more difficult to program, I bet, and The Witcher 3 had some of the most complex quests I've ever seen. They set a bar that will be hard to surpass with that one.
@_KondoIsami_
@_KondoIsami_ Жыл бұрын
That's definitively not just for the designers to worry about, for something like you described to be even possible you have create a very good system that will take all of that into account. In fact on release the Witcher 3 had a bug where a few quests you completed could be marked as failed, and the game still has a few issues with the quest system.
@lrinfi
@lrinfi Жыл бұрын
@@_KondoIsami_ True to a point. Most RPG main and faction storylines and characters, however, are written to "support" mechanics/programming and not the other the way around. (This is among Bethesda's most glaring issues, as I see it, and why the factions in one of their games are essentially the same factions in every other.) The Witcher series inverted that. The systems and programming were designed to support the story and characterizations, some of the mechanics created on the fly, e.g. the player swimming mechanic in Witcher 3. I think that's much of the reason why The Witcher 3, especially, is widely looked upon as pushing the industry forward whereas other studios are focussing on the technical to such an all-consuming degree that they wind up spinning their wheels and turning out mediocre games. The quest programming envelope could be pushed light years ahead provided a game's narrative demands that it be.
@LandBark
@LandBark Жыл бұрын
About quests Tim Cain (guy who is talking in the video), how do you feel about the idea that quests can have limited time to start/begin? Like for example quest to kill a bunch of monsters, instead you do plot dungeon and after finishing it you learn that either quest-giver hired someone else, did it themselves or monsters moved on and the orphan crushing machine got wrecked (that would be a twist, monsters were actually doing good while you did evil). That would require another flag, to make sure you get "Slowpoke" achievement. (I do realize it's a bit advanced flag of botching it, given a limited time to do a quest) Another great video 👍
@nurgle-j5n
@nurgle-j5n Жыл бұрын
all i know is you better not deadname any questgivers. better be on your best behavior
@jextra1313
@jextra1313 Жыл бұрын
even if you disagree with the concept of deadnaming, this joke is lame.
@nurgle-j5n
@nurgle-j5n Жыл бұрын
​@@jextra1313 it's not a joke. bigot
@nurgle-j5n
@nurgle-j5n Жыл бұрын
@@jextra1313he already did it once you nazi
@theangel666100
@theangel666100 Жыл бұрын
Don't be weird
When Bugs Become Features
11:02
Timothy Cain
Рет қаралды 22 М.
Mastering Gaming Marketing: Insights for Indie and AAA Productions
3:52
Building Better Games
Рет қаралды 18
УДИВИЛ ВСЕХ СВОИМ УХОДОМ!😳 #shorts
00:49
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 39 МЛН
Level Caps
10:22
Timothy Cain
Рет қаралды 16 М.
How To Write Design Docs
17:23
Timothy Cain
Рет қаралды 65 М.
Experience & Level Progression
11:36
Timothy Cain
Рет қаралды 14 М.
Why More People Dont Use Linux
18:51
ThePrimeTime
Рет қаралды 322 М.
How to Become a Narrative Designer
19:51
Games Factory Talents
Рет қаралды 12 М.
This tiny computer changes EVERYTHING
15:57
Jeff Geerling
Рет қаралды 707 М.
You're Probably Wrong About Rainbows
27:11
Veritasium
Рет қаралды 3,3 МЛН
The fastest CPU in the world
25:53
Linus Tech Tips
Рет қаралды 1,3 МЛН