Your tutorial gave me a boost of confidence in like all the concepts you used in this tutorial be it functions loops conditionals and literally everything else. Thanks man, stay blessed :)
@Lapisdolphin16 күн бұрын
Great tutorial, but is there any way to return back to menu after you enter shop???
@TezFraser15 күн бұрын
Yes you should be able to type -1 as a choice and it'll exit the menu. I just never printed the option if memory serves I kinda forgot to lol
@Lapisdolphin15 күн бұрын
ok thx
@AndreiShulgach16 күн бұрын
Love this content. There's a ton of effort put into this video and it shows. Keep it up! 100K subs is right around the corner 🤘
@TezFraser9 күн бұрын
Appreciate the words of encouragement Andrei!
@sombrerosomar222 күн бұрын
Shirt fire
@skate126 күн бұрын
Great video
@trademark789229 күн бұрын
shoooot daddy im trying to build on TOP of your foundation
@AnonAdderlanАй бұрын
While all you can eat pasta is fine when it comes to a single dev project, it becomes an exponentially growing nightmare the minute you add even one more dev to the project. And at some point you're not going to get anywhere further without establishing work cultures, coding styles, and higher order models, which arguably are even more important than the language chosen at that stage. So the real question is: What's the maximum _scale_ for projects coded in this style?
@meroubignoles9822Ай бұрын
Someone have to do a Shift extended (psp minis game) for the playdate, it's just THE game made for this
@Vyrant.987Ай бұрын
So True!!!!
@valcaronАй бұрын
"Who cares?" is not an argument.
@DefaultFlameАй бұрын
I thought you said "this is a real term that we use in the worm of computers."
@TezFraserАй бұрын
😂
@lordmax-2002Ай бұрын
Probably should focus more on that giant ass price tag
@shmurblethebirdmanbarbarianАй бұрын
I just have no interest in Ubisoft games after everything they’ve said and done. I’m not going to give this game any of my attention
@VaiLeisHereАй бұрын
I mean, it's not necessarily because he's black. Wr know almost nothing about the history of Yasuke. There was almost no record other than the story of him becoming the first black samurai. And i believe AC series is trying to portray an alternate story to an already existing history. So trying to make one for Yasuke is a bit of a challenge ig.
@liloofy9642Ай бұрын
Eh
@weedwhacker3003Ай бұрын
Its obvious bait to get people to talk about the game, and it probably will suck
@tommywright2487Ай бұрын
so your whole point is “well the game is probably gonna suck” when u haven’t even played it or seen gameplay?
@weedwhacker3003Ай бұрын
@@tommywright2487 buddy 90% of triple A games these days are garbage cash grabs
@tommywright2487Ай бұрын
@@weedwhacker3003 cool bro thanks for sharing your opinion, im just gonna safely discard it tho because i enjoy what i enjoy🙏😭
@weedwhacker3003Ай бұрын
@tommywright2487 how are you gonna enjoy something thats overpriced and not even out yet? Don't even make sense bruh
@tommywright2487Ай бұрын
@@weedwhacker3003 i’ve enjoyed every other AC game, i have no reason to believe this one will be any different🤷🏽♀️
@chadyways8750Ай бұрын
Inefficient code is such a misnomer, because if you notice that your performance suddenly went to shit, you aren't just going to go "oh well, computers are fast enough", what people consider inefficient is code design most of the time. I have yet to see anyone shit on any other "shit game code" other than if else chains or long switch case statements at which point it's both a design and architecture problem not an efficiency problem, modern compilers will 9/10 times optimize your yanky shit away.
@EichroАй бұрын
The end user does not care about how efficient is the code, as long as the game runs well enough. The DEVELOPER cares. Bad code can be a nightmare to maintain. We might have seen a completed Yandere Simulator otherwise. ...But if you know how to navigate the mess then all power to you. Seems like it worked for Balatro.
@SleepingFumosАй бұрын
there is a double standard. if a game runs poorly / don't like the creator: people will clown on the developer constantly mentioning their code (Yandere Dev is a good example) if the game runs well or the developer is likable: people will praise them for managing to make a good game despite "bad code" balastro is a 2D game with no physics so there is a lot of room for poorly optimized code. also, like any programmer will tell you (including myself): readability is very important, but so is flexibility. "else if" chains is objectively bad code practices (hashmaps and early-return are just some techniques to eliminate them).
@thedrunkmonkshowАй бұрын
I've never played Undertale but for a classic style RPG of that size it's not unusual or unreasonable to use a giant switch statement like that and I bet it's for the different states or state machines for the characters to act out in scenes or telling of the story. Technically switch statements are faster than if statements or functions anyway because the CPU can jump to the line of code that's needed instead of swimming through and testing a bunch of if statements. Appreciate the video!
@thedrunkmonkshowАй бұрын
@@_I-OvO-I_ that's the word I was looking for... Dialogue! Thank you! 😊
@meroses73Ай бұрын
i using lua too
@sisirkadiveti3639Ай бұрын
Hey Tez, I have been looking into how other people's mobile games performed in a very saturated environment and I randomly stumbled upon your video and thank you for all the information you provided. So, I want to ask...if you were to re-publish this game by yourself, what would you do differently? Would you spend some small amount of money with advertising such as Google ads or would you instead add more content, polish the game, and find an actual publisher? I'm asking these questions since I've been developing my own mobile game for several months now and I'm starting to freak out after learning how harsh the mobile game industry is lol. I'm aiming to make enough money in the next few years to be able to start my own company but it seems like it's gonna be a very very rough journey.
@TezFraserАй бұрын
Hi so I've actually thought about this a lot! I was actually planning to do a v2 release at some point but I kind of lost steam on that and it never really happened. One major thing I think is that I'm done making freemium games. It's a low barrier of entry for most users but i think converting them to paid users is a harder task than I originally thought. I'd also monetize better and play test more. I had no clue if my monetization strategies were even effective and it turns out they were not. There's also a science to doing things like showing ads eg: showing an ad after a high score, or how many ads in x amount of time and I wasn't really following any of that. I also kept so much of the development a secret that was silly of me considering I do have platforms where I talk about game development. I was just so convinced someone would come along and clone my game before I could release it. I'd have focused a little less on the gimmick and maybe a bit more on the general gameplay because I do think most people find it fun. I'm not sure if I'd actually pay for google ads just because I don't know if I am aware of what a good ad for my game would look like. So I might just be throwing money away doing that. I think I have enough content in the game now but I didn't in the beginning and probably took too long to add the extra modes. I'd have considered a publisher but it really depends on which one and their history, there are some scummy publishers out there so be careful! I actually might just make a follow up video talking about all the little things I'd change, but I don't think there is a winning formula anymore. You just gotta make the best game you can and do everything you can think of(within reason) to make it successful, good luck on your game!
@sisirkadiveti3639Ай бұрын
@@TezFraser Thank you so much for your insights. You provided a lot of info that I need to keep in mind during my development phase. For example, I haven't told anyone about my game except my closest friends and it seems like it's not the best path to follow, especially if I'm new to all this. Once again, thank you for your detailed response!
@holleeyАй бұрын
spaghetti code is not just about efficiency though. you cannot really defend spaghetti code and then highlight the importance of readability at the same time. spaghetti code -> poor readability. also spaghetti code -> harder to maintain and more bug prone. I think the point you should be trying to make is that code style is not the most important thing in getting a game shipped. games with spaghetti code may get shipped because their devs did other more important things well, while games with clean code might get shelved because their devs did other more important things poorly. still, of course you'll ultimately be in a better position with well structured code. just don't waste time on premature optimization. :)
@SleepingFumosАй бұрын
rant 👿: it always annoys me to see people who want to make games start with a game engine and not spending time learning a programming language first. they want quick results, instant gratification. every time i watch a Unity tutorial i feel angered seeing people misuse keywords and structuring things in a disgusting manner. and of course they use NO PATTERNS OR PRINCIPLES, because those are things you learn with experience, which they do not have.
@FennecTECHАй бұрын
I mean. It was pretty clear and transparent that helldivers 2 would require PSN login. It was indicated in an orange box on the store page. Not that it makes it feel any less scummy of them to just turn it on months after release
@WMan37Ай бұрын
The fact that Balatro is "inefficiently made" never even crossed my mind as an end user because I remember remarking at how little space it took on my drive compared to like, most of my other most enjoyed games except for classic Doom. They crammed that entire thing into 62 megabytes. As an end user I'm not thinking "oh no, if else statements", I'm thinking "Why can't more games I play have that low of a footprint on my drives?" yeah yeah I know, asset sizes and all that, but still, I have picture folders on my PC that take more space than Balatro does. I can literally install that game in one second. When you're used to games you play being like 50+ GB that's really something.
@sir0herrbatkaАй бұрын
The only selected few make games out of actually good code. Carmack is one of those guys, but you aint Carcmack.
@OrbitdecayАй бұрын
100% agree! Haven't done game dev programming in ~17 years (moved on to enterprise/web services a time ago), but it was true back then as well. Optimize the hell out of what needs to be optimized, everything else is on a critical deadline so hack it/prototype it as much as possible. Where this really hurts game development is forward porting onto new systems/maintaining it. My Steam library is old enough to drink at this point and aside from the whole live service/kill games discussion, we have to start worrying about how ABI/library compatibility is also going to start/is killing games over time. Games will always be written as one off prototypes over and over again, because they don't *need* to be maintained like other types of software, but once they do need to be maintained, they choices can become problematic. It's also why game engines are a thing.
@NoOne-fe3gcАй бұрын
it is all fine and danddy until you need to fix something, or take other people into your game....
@alexandrepvАй бұрын
I'm sorry but a gargantuan if/else stack is not good design and it is not that easier to read. We shouldn't encourage bad practices just because the "CPU can handle it". Switch to declarative over imperative in these cases. It's easier to test and maintain.
@AtaGunZАй бұрын
Balatro code ain't that bad
@AtaGunZАй бұрын
Long switch chains are what most high efficiency low level coders do lol. I do HPC and while it's important to do stuff in branchless ways, if you are gonna have a branch you gotta let it count :P
@blahblahblah118Ай бұрын
The most optimized code is something you should strive for in the long term, but definitely not something you need to ship a game. A little jank can add character. Trying to work around jank can lead to discoveries and new things. And maintaining jank is how you learn for the next game.
@Jumpah94-yv7nsАй бұрын
I 100% agree. Furthermore, regardless if its game dev or other software development, chances are that people "overenigneer" their project, making it difficult to focus on the really interesting things. Often I've heard stories of co-workers and friends, that started a project, but set it aside, because they ramped up their expectations (which they never met). I can respect that block of if-else of the Balatro Developer, because they created a great game and they focused on functionalities, game logic etc.. The code may not be very maintainable in the long term, but they already succeeded by selling over a million times. I don't think they need to worry much about the code
@SkefflesАй бұрын
Interesting video. I tend to think people focus too much on optimisation or functionality, forgetting about maintainability. This is what leads to spaghetti code. Of course, you can publish a game quickly without it, but for longer-term projects, it is crucial. I rarely see it discussed in the game dev space.
@CaladriusTVАй бұрын
Like anything, there's a balance. If you're making a one-and-done solo project, sure, write what works. If you're planning for the codebase to be maintained for a long time and for systems to scale up later with regular new content, and the team is going to be quite large, you need to be architecting that shit beautifully from day 1 or the technical debt will ramp up exponentially.
@DefaultFlameАй бұрын
Yup. Different solutions for different use cases. There's always outliers, like if a game or program intended to be a quick one off becomes incredibly loved or widely used. If it's a game writing a sequel might get harder with spaghetti code, and a program that get widely adopted might face issues for future updates or scaling if it can't be easily maintained, but the exception isn't the rule.
@rot456Ай бұрын
nah, i hate my job because of the whole readability thing
@NoviumGamesАй бұрын
Honestly efficiency is what i get hung up on every time, especially since I feel like I can't just do a mockup that may have visual bugs, but I have to get it right on the first try
@mintx1720Ай бұрын
As a member of the rust-gamedev community, I strongly disagree. (we currently have 50 game engines and 5 games btw)
@Akronymus_Ай бұрын
The balatro code doesn't even really strike me as spaghetti. Sure, storing the functions (as lambdas) in a table would be nicer for a lookup. But as there are additional conditions, even that is a questionable benefit. The whole trying to ridicule the balatro code just screams "not knowing what actual constraints lua has and thinking you know you do" to me. It also is extremely easy to extend with more jokers as compared to the "better" way most people seem to propose.
@CinderellaCostallasАй бұрын
I'm programming my own game right now and it's my very first, this video motivated me to not get hung up on how to code in "the most efficient way" and rather focus on readability. That's such an eye opener for me as a new programmer
@TezFraserАй бұрын
There is always time to improve later! Iteration is the name of the game and if you're gonna struggle to understand what you did, do it the easy way first and then go back and improve when you have the time. I'm glad I could help!
@hstubbs3Ай бұрын
It isn't just game dev. Any code base that is large enough and that has insufficient 'tribal knowledge' or documentation about the implementation details will end up spaghetti-fied as features are added... Just having programmers come and go from the project over the course of years can lead to that lack of knowledge... And then some new feature is implemented by making minimal localized changes to patch it in, potentially resulting in odd logic paths that may go unnoticed for months or years until _something_ inevitably causes the odd bug because fates aligned that weren't in alignment when the feature was implemented... But, the users don't know that... all that matters is how the release build feels, how it functions.. is it stable _enough_ ? Design it. Code it. Test it. Ship it.
@tmthyhaАй бұрын
I hate to say it but Balatro, although fun, is painfully slow. Going from blind to blind can take up to 10 seconds it feels like. It's long enough to take me out of the game, for sure.
@Yeyito05Ай бұрын
Art is art
@Tiogar60Ай бұрын
As a unreal engine game designer, my code is literally spaghetti
@ThePlayerOfGamesАй бұрын
Is it called "graph" programming? It's so cool, I wish more engines had it
@logixindieАй бұрын
Does that mean your code is edible
@Tiogar60Ай бұрын
@@ThePlayerOfGames Yeah i use blueprint primarily. i dabbled with C++ but it's just too dense and i just want to make games.
@cloud-wr1hsАй бұрын
As a League of Legends player, I strongly disagree.
@wanderingturtle1705Ай бұрын
And Vanguard did NOT help.
@swozzlesticks3068Ай бұрын
"The best games are made of spaghetti" Allow me to introduce you to factorio my good sir. It is, truly, the opposite of spaghetti... though to be fair it is imperative that the game not be spaghetti because performance is paramount due to the nature of the game.
@TezFraserАй бұрын
Sure, I bet it went through iterations though. Very rarely do devs get it right the first time around first try haha, speaking from experience 😂
@guard13007Ай бұрын
@@TezFraser Take a look at their Friday Facts blog posts. Over a hundred posts showing all the decisions they made, redid things, screwed up, tried things, failed, and failed, and failed, and succeeded.
@corinnebrown6152Ай бұрын
always a strong supporter of it doesn’t matter how you get there if you have the end result you want!
@tinyangel6657Ай бұрын
Thank you for the clear explanation! 😀
@brandonhenry12Ай бұрын
First
@deinlesailesnoiresАй бұрын
Damnit, I'm second !😢
@spo_0kАй бұрын
field programmable gate array***
@TezFraserАй бұрын
You are totally right lol how embarrassing I use to work with the technology too 😅