- 78
- 326 531
Theodore Bendixson
Приєднався 10 лис 2009
I make video games with my own bare hands, and I comment on the vast ocean that is modern day software.
Mooselutions play session with my friend Demetri (livestream)
Hanging out and playing Mooselutions with some banter about game design.
Get the game on Steam here:
store.steampowered.com/app/2287140/Mooselutions/
Get the game on Steam here:
store.steampowered.com/app/2287140/Mooselutions/
Переглядів: 103
Відео
How to do mobile game development on a Windows computer (livestream)
Переглядів 22516 годин тому
How to do mobile game development on a Windows computer (livestream)
Mooselutions Trailer
Переглядів 20014 днів тому
Get Mooselutions on Steam: store.steampowered.com/app/2287140/Mooselutions/ Immerse yourself in a relaxing puzzle adventure set in a forest full of pesky moose who anger easily. You play a lost lumberjack who is a frequent target of angry moose charges and general "shenanigans". Navigate your way around the moose (meese?) Anger them. Get them to charge where you want them to go. While you're at...
Life lessons from spending my 20s snowboarding
Переглядів 4905 місяців тому
I spent my 20s trying to get as good as I could at snowboarding. I lived at ski resorts, traveled the world to New Zealand, and spent summers on a glacier with my friends. These are the life lessons I took from that experience.
Rogue Deck Builder Gameplay Trailer
Переглядів 3635 місяців тому
Build a sprawling deck. Protect it from jealous neighbors, the HOA, and building inspectors. On itch.io tedbendixson.itch.io/rogue-deck-builder
Personal Finance for Independent Software Developers
Переглядів 7555 місяців тому
In this video, I discuss how to manage your finances as an independent software developer. How do you fund an indie game yourself? How do you launch your own games and apps when you are just starting out? Should you work a full-time job or go part-time and freelance to work on your games? You can subscribe to my Twitch here: www.twitch.tv/bendixso If you enjoyed watching this stream and would l...
Rogue Deck Builder Prototyping Stream (Day 019)
Переглядів 1415 місяців тому
Playing the game with the new malding meter, hot tubs, and additional utility cards like the battery which increases energy per turn. You can get the latest game demo here: tedbendixson.itch.io/rogue-deck-builder If you enjoyed watching this stream and would like to receive updates on the progress of this game and others, please click the link to sign up for my mailing list. Thanks! eepurl.com/...
Factorio and the Human Condition
Переглядів 9565 місяців тому
Factorio, at present, is my favorite game. In this video, I attempt to explain why I like it so much. I also explain why it and similar games have become so successful when compared to their peers with much larger budgets.
How I made a cross-platform 3D game prototype in two months
Переглядів 9965 місяців тому
Many folks think custom game engines should only be used for 2D games. I used to believe that, until I spent two months making my first 3D game prototype from scratch. In this video, I will show you how I learned 3D and the impact it had on my later games. Check out the FREE github repo with the code I discussed in the video: github.com/TheoBendixson/3D-Game-Engine-Template Here's a link to the...
The most important article on software development ever
Переглядів 3,2 тис.5 місяців тому
When I first read this article, it marked a watershed in my life as a programmer. There is the programmer I was before I read it, and the programmer I became because I read it. The article is consequential, not for dealing with the abstract higher principles of programming, but precisely because it deals with the everyday plumbing of programming. I am, of course, talking about Casey Muratori's ...
How soon should you release a game prototype on itch.io?
Переглядів 3095 місяців тому
In this livestream, I discuss when to release early game prototypes. How do you know your prototype is good enough for a website like itch.io? Will you be punished for putting out something that's not polished? How do you respond to the early feedback you get? When do you take a game from the early prototype phase to a more polished production phase? Rogue Deck Builder is now available on itch....
Solo devs and the trap of the game engine (Karl Zylinski)
Переглядів 3,1 тис.5 місяців тому
In this stream, I read an article by a fellow game developer, Karl Zylinski. Like me, Karl made his most recent game Cat and Onion from scratch using Odin and Raylib. There are many valuable insights in this article, and as I read it, I relate my own experiences to his. You can purchase Karl's game, Cat and Onion on Steam. Please do! You're supporting people who want to bring simplicity and fun...
How to prototype games as a programmer with no art skills
Переглядів 2,8 тис.5 місяців тому
When you're first starting in games, it can be difficult to get started when you don't know how to make game art. In this video, I show you what minimal game art skills look like. I'm more of a programmer and not really an artist. But I know how to make art that's good enough to get the game idea across. In this livestream, I show you how to do that. If you enjoyed watching this stream and woul...
Rogue Deck Builder Prototyping Stream (Day 019)
Переглядів 1645 місяців тому
How do you market your video game in the early stages when it's just a rough prototype? Changing how repairs work, and doing a full playthrough up to the mid-game. If you enjoyed watching this stream and would like to receive updates on the progress of this game and others, please click the link to sign up for my mailing list. Thanks! eepurl.com/hTi34X
Rogue Deck Builder Prototyping Stream (Day 018)
Переглядів 875 місяців тому
How robust should you make your game engine when prototyping a game? What balance should you strike between technical excellence and speed of exploring gameplay? Where does the stereotype of the "autistic" software engineer come from, and how can we work to counteract it? How to find the end of a game and prototype towards it so the game has a beginning, middle, and end. If you enjoyed watching...
Rogue Deck Builder Prototyping Stream (Day 017)
Переглядів 395 місяців тому
Rogue Deck Builder Prototyping Stream (Day 017)
Rogue Deck Builder Prototyping Stream (Day 016)
Переглядів 1586 місяців тому
Rogue Deck Builder Prototyping Stream (Day 016)
Rogue Deck Builder Prototyping Stream (Day 015)
Переглядів 2306 місяців тому
Rogue Deck Builder Prototyping Stream (Day 015)
Rogue Deck Builder Prototyping Stream (Day 014)
Переглядів 2126 місяців тому
Rogue Deck Builder Prototyping Stream (Day 014)
Rogue Deck Builder Prototyping Stream (Day 013)
Переглядів 1046 місяців тому
Rogue Deck Builder Prototyping Stream (Day 013)
Rogue Deck Builder Prototyping Stream (Day 012)
Переглядів 916 місяців тому
Rogue Deck Builder Prototyping Stream (Day 012)
Rogue Deck Builder Prototyping Stream (Day 011)
Переглядів 2516 місяців тому
Rogue Deck Builder Prototyping Stream (Day 011)
Rogue Deck Builder Prototyping Stream (Day 010)
Переглядів 4536 місяців тому
Rogue Deck Builder Prototyping Stream (Day 010)
Rogue Deck Builder Prototyping Stream (Day 009)
Переглядів 1916 місяців тому
Rogue Deck Builder Prototyping Stream (Day 009)
Rogue Deck Builder Prototyping Stream (Day 008)
Переглядів 656 місяців тому
Rogue Deck Builder Prototyping Stream (Day 008)
Rogue Deck Builder Prototyping Stream (Day 007)
Переглядів 1826 місяців тому
Rogue Deck Builder Prototyping Stream (Day 007)
Rogue Deck Builder Prototyping Stream (Day 006)
Переглядів 1426 місяців тому
Rogue Deck Builder Prototyping Stream (Day 006)
Rogue Deck Builder Prototyping Stream (Day 005)
Переглядів 2166 місяців тому
Rogue Deck Builder Prototyping Stream (Day 005)
Rogue Deck Builder Prototyping Stream (Day 004)
Переглядів 2476 місяців тому
Rogue Deck Builder Prototyping Stream (Day 004)
Rogue Deck Builder Prototyping Stream (Day 003)
Переглядів 2186 місяців тому
Rogue Deck Builder Prototyping Stream (Day 003)
13:15 level 12
I am just at the start, and have to answer this annoying "dont reinvent the wheel". You are not reinventing the core concepts when doing things low lvl (and if so - this would be highly qualified experts who does that, not when trying to learn low lvl. It's like pizza. You can order a pizza, or buy frozen pizza you can turn eadible in 15 minutes, or buy a ready pizza base/sause and costumize to your preferences. I like sometimes make the tomato paste by myself and mix good wheet with some herbs before mixing the dough. it is relatively time consuming but fun to make and every pizza is uniqe. It is much less common to grind some wheet to make a single pizza and no one is start by domasticating wild grains and milking a jiraffe
I love that. Yeah, with games I think it's more like you're making your own dough from a few store bought ingredients instead of getting a DiGiornio from the freezer. It is more work, but it's not as much work as it is hyped up to be. And like rolling your own pizza dough, you eventually get a feel for it and can reuse a good portion of your past work for new projects.
@@tedbendixson wow I am so flattered you answered me 💖 yeah, defrosting store bought base takes more than twice the time as making from scratch some high quality dough. Shaping can be tricky,and while having a perfect circle is not crucial when cooking for family and friends, as you said in the video - you build confidence, and attempting much more ambitious projects . So while my pizza is still far from being round (mostly because I don’t care about aesthetics when I’m hungry), I now bake amazing yeast cakes. A delicious dessert with shapeless pizza IMHO is a better option than a perfectly round pizza with unsuccessful attempt of a dessert
Nice to see the progress.
This is really cool!
Im a big fan of your projects bro
I love that you only use one shader, I can't even imagine modern Unreal games using literally thousands. There is also something to be said about keeping things (games) simple, and mastering the basics/essentials without the necessity of adding a million other technological tools. I think part of why I love Mooselutions and Stardew Valley so much is because both games are inspired by that level of mastering the basics as opposed to adding unnecessary gameplay mechanics. I'm not finished with this video yet, but I'll keep coming back to it because your content is always the best.
Glad you enjoyed it, and yeah, that's been my driving philosophy behind this project since inception. I want to use the commercial endeavor of making a game as a kind of masterclass in game development. If I'm not learning, it's no longer interesting to me.
The biggest advantage of making your own game engine is because it is fun, the second one being to learn to be a better game developer ( aka not designer ). The biggest problem is trying to make Unity, Godot or Unreal... you're not going to make it if its for a game, you're not.... just make a specialized game engine for a game archetype.
Yup. Make a game and the "engine" is just whatever you need to make that game work :-)
Great trailer, this looks amazing!
Thanks! Just making a few changes to juice it up before some sales and Super MAGFest
I'd like to think that I'm programming the hard way, for someone of my disposition, by using a managed C# API to make games with rather than using GameMaker or Unity, but you're on a whole 'nother level of hard. I'll have to consider you're way of doing it after a certain level of fluency and confidence with what I'm doing now.
I'll just put it out there that it might not be as hard as you think it is. When you work directly with memory and graphics apis, there's usually less to deal with and it's simpler. Oddly, my most frustrating moments are when I have to pop up to use some library like Apple's UIKit because there's so much magic going on under the hood and you just have to guess until the thing works.
I've been a programmer by trade since the early 80s (started on 8 bit computers), and now that I am retired I decided to make some games as a hobby. I've worked on commercial games before but we always had a team of artists, and now that it is just me, I am faced with the challenge that you went through. I can program in any language from assembly, to C, C++, C# etc, but I am terrible at art. Your video is VERY GOOD at providing suggestions for people in our situation. Well done! PS: One of the applications I worked on as a programmer in the 90s was, believe it or not, Adobe Photoshop. Kind of ironic that I can not create art, but helped develop applications artists use. LOL
Glad you found the video useful :-). Yeah, you've just gotta go with the skills you know you're good at. I've been working with an artist recently, and it's so refreshing to just have someone do that part so I can focus on game design and the business.
Do you know why you don't have to make your app a bundle when using sdl or glfw, which uses cocoa behind the scenes for the mac backend? Input doesn't get lost when using these libraries. Why?
I don't. Maybe they do it for you? A bundle is just a folder structure. If you make a directory on Mac OS and add the .app extension, congratulations it's a bundle.
20:35 This is why I have begun contemplating the idea of writing my own design program. I have been relying on Figma for my board game designs, and I have about 5 projects in it which are worth something to me and have invested a lot of time into. Recently Figma lost one of my files and there is nothing to be done about it. It's just gone. It made me realize I would be much happier if I actually owned all this data and could back it up however I want to. For website designs I'm okay using Figma, since the final product will be a website and not a prototype, so once the prototype is sorta finished, it's worthless and can be discarded. But a game and an entire manual and sets of cards, assets, graphics and icons are going to always be useful.
sokoban
I know my comment is super old but is there a planned road map for this? I’m self taught, majoring in something completely different in college, but I wanna get into programming and coding, I’d rather learn it the hard way and learn it the right way, is there a specific book or video series, I’m watching cs50 right now, but I don’t know if that’s good enough?
It depends entirely on your goals and interests. I happen to be interested in games, so I started prototyping my game ideas by following along with Handmade Hero by Casey Muratori. Casey has a ton of great content that's no bullshit, straight talk about how computers work. It helps that he's a really great teacher and mentor as well. If you have broader interests outside of programming (for example game design or software entrepreneurship), it gets more challenging to find good content. With game design in particular, there's a pretty big distinction between an "industry" designer who makes games for a large company like Blizzard vs. a game designer who I respect, like Michal Kovarik (the creator of Factorio) or Jonathan Blow (creator of Braid and The Witness). The latter have brought game design into the next century, while the former takes a "safe" path for people who primarily want to be employed and make a stable paycheck. For me, the best thing has always been to work on a project I'm passionate about. I use that as the vehicle for learning, and it becomes its own road map. That was the case for the first game I released on Steam, Mooselutions. I had to learn so much to release that game, and it has now given me the tools to approach a new game with a more ambitious scope.
@@tedbendixson so project based learning is the best way huh? Think I heard pirate software saying something similar, pick a project and learn the parts of the language you need for your project, don’t take the language on all at once. Thank you for the advice, now I gotta decide on what to make 😂
@@Chunky.monkey69420 There is one valuable thing you will learn from watching Handmade Hero. Casey Muratori uses C++, but he uses it like it's just C, and it dramatically simplifies everything. I don't really know C++ because the spec has gotten out of control (overzealous engineers who don't ship actual products). If you have a solid grasp of the C programming language, you can do pretty much anything in software and it's actually much simpler than learning anything else. So if you're stuck on the more complicated aspects of C++, don't worry about it. Most of those are just bad ideas that won't make you any more productive. Casey will teach you that programming can be much simpler than is commonly taught.
Came here from ThePrimeTime to smack that Like. Well said! Thank you for the video man! 👍
How did the college talk go?
I think pretty well. It was a few years ago. Lots of good questions. I think people wanted me to be someone with more "industry experience," but really I'm just some guy who makes games.
I enjoy hearing your opinions. They aren't just contrarian for the sake of it - It's easy to follow the reasoning and how you might have come to those conclusions. I think you can do more to highlight this though. I feel like most of the video is speculation of what might be in computer science courses now, and I'm not sure that's valuable. I think you may have gotten more by doing something along the lines of interviewing a professor who has been teaching for the past couple decades. This might give listeners a perspective that is closer to the source. But personally I would prefer you to run with your more interesting ideas. In this video you mentioned how difficult it is to prove that so-called computer science dogma is linked to positive outcomes. If this is the case, would it be interesting to run experiments and document them? That way you'd have data for which processes work and which processes just make claims about their effectiveness. Just a thought. Looking forward to more videos brotha
I began my bachelor's in electrical engineering 1 month ago and I was thrust into the world of programming with no prior experience. I'll be honest, I don't enjoy it and I feel that maybe I should have done mechanical/chemical, but this video has given me some motivation to use chatgpt less and be more patient. I hope if I gain this confidence I can enjoy it a bit more.
CS is taught so poorly too. Go watch Handmade Hero or anything by Casey Muratori. It's much more straightforward and about actual problem solving.
Thank you for your wise insight. Being retired from 40 years of the IT industry I'm have warmed up my old hobby - programming. Before that I was a blacksmith and discovered the new fantastic world of computers. I had to learn English and Basic at the same time, but quickly realized that assembler was the way to make things happens fast. Luckily the assembler was really instructions like e.g. LDA, BNE. I had a ton of go's and thoughts about load a value into a register and decrement or increment so on; what's is it good for... Being a non academic and dyslectic it was tough but suddenly I realized that I can make loops, decisions and that was the same in high level language, but just assembler and it's very fast . I had lots of thoughts about what programming language I would learn and ended with C++. My wife have a little business and spend a lot time making notes about her costumers orders and she asked me to make a system or CRM for her. I thought I relatively easy could do that in Access, that used years ago. After some go's I realized I was compatible with the so called intuitive interface in the latest Access despite I knew I had to make tables, queries, forms and reports. My wife asked me how is it going and I had to admit not well, then she replied; you had spend countless hours studying that weird stuff that occupies you so much, can't you use that? I was cornered and had many thoughts and doubts that went through my head. Six months later I had a small relational database up and running. I used a graphics library called Raylib for a GUI interface and the database and for the cursor. The editing facilities was made by my own string library because I wanted to handle pointers. The database also have search and can print reports on paper. Finding C++ more and more weird I had a look at C and K&R. I was caught almost immediately and made the big rewrite in C and now I'm in my the third of C and feels at home and to your point, yes I feel more confident now.
autodidact, what a philosophy. Not a coder but about to start, next year im going to college, been wasting all this year relaxing and wasting my time fighting my own demons, you gave me insight, thanks
Your video has helped me answer the question "Why bother doing this?" in the context of my own side projects. Your answer is well thought out, and I've been referring to your video to remind myself why I should continue. Thank you for posting this.
I'm so happy you found this useful, and thanks so much for the contribution :-)
i am so going to create my 3d game and physics engine
that game is crack
20 minutes is not bad, the only game that kept me glued more than that (hours) was breath of the wild but that is one of the best games ever created, something i aspire to create when i finally get my vulkan-based 3d engine into shape
Indies should shoot for about 20 hours. If you can get hundreds of hours out of players you're basically in the stratosphere and will do Balatro or Noita numbers. I got 5-6 hours for my first game, Mooselutions.
I was working on my own game engine in Java, but i am not going to finish it, if i do come back to it i will probably move it to C++
If you start to write game without using existing engine, it is completely wrong mindset if you start by writing an engine. Write code from the mindset of making a game and "engine" will build itself around the game code.
Logic: no one should work on engines because what we want is cars! Someone has to be there to advance the tools everyone else takes for granted.
No man, it's more like if you're going to make an engine, you should have some idea what kind of car you're going to make. Maybe you aren't making a car. Maybe you're making a rocket instead. An engine designed for a rocket is going to be very different from an engine designed for car, so let the product drive the engineering and not the other way around.
Awesome video
I went to university straight after high school. Our system is a bit different in Australia, our degrees are much less expensive (for citizens at least) and they're generally 3 years in length. One thing I will say in favor of university is that at that age it is a lot harder to be self motivated. Could I have learned all that stuff on my own without the degree? Yes, definitely. Would I have learned it though? If I'm being perfectly honest probably not, as I've gotten older and more disciplined I would say that is something about myself that has changed for the better. But at the time it was what I needed and overall I would say it has put me on the right path in life. Not everyone needs it and it has its fair share of snake oil but it worked for me.
Yeah, I'm not so sure I would have been as disciplined at that age either, but maybe people need some kind of kick in the ass to make themselves more disciplined. There's so much babysitting, even in high school. If we could get kids onto a career track earlier, it would serve them better.
OOP and it's usefulness has become a hot topic recently, I think mainly due to Casey's work. I've been thinking on that topic for a while now, I've always found OOP to be painful. Since I'm mostly self taught, I used to just write procedural code, and I found that enjoyable, but when I got to the point that I had to learn about OOP I found it very mystifying, and I mostly disregarded it and tried to ignore it, but then I got a job in the industry and was forced to use it. More recently (like 1-2 years ago) I was trying to get back to a purely procedural way of programming, very much due to watching Casey's videos, but I actually found that somewhat lacking. In fact what I found out, was that quite often objects would naturally arise within my code, this stumped me. Was I simply too brainwashed by OOP to be able to think simply? I still do not know the answer to that question. But what I can do is share some of what I've learned along the way. First of all, I've actually started seeing some of the upsides of OOP, as long as you use it in a somewhat restricted way. Defining what OOP is, is kind of difficult, I think that the myriad of gurus writing books along the way, have actually way over-complicated what could be considered OOP. I think OOP at it's core is just about structs with functions hanging off of them (with an implicitly passed pointer to the instance of the struct), and encapsulation, i.e. the internal state of those "structs" should be kept (mostly) opaque to the outside world. This may seem too simplistic, but it's actually already a very useful concept, without adding anything else to it. Famously it is said that "Algorithms + Data Structures = Programs", and if you squint just right, objects (as previously defined) actually look very much like mini programs that live within your code base. This allows you to capture certain algorithms that don't fit neatly in a procedure, as is actually demonstrated by Casey's article, in the section not read in the video. I find that objects, that capture these kinds of algorithms, arise naturally on their own often enough that it makes sense to use an OOP language. Secondly, notice I didn't mention inheritance in the previous section. This is intentional. I find that inheritance is somewhat extraneous to OOP, and 99% of the time, it is abused. There are two kinds of inheritance: implementation and interface. Implementation inheritance is best avoided, instead use composition. Interface inheritance is often very useful, but because of the way it is usually implemented, it forces you to try to predict whether you need it and in what way, and since that is impossible, people often end up with either wrong, or unnecessary abstractions, that lead to a lot of complexity, not to mention the time wasted, and additional confusion introduced. This is why I would recommend that you do not try to do this ahead of time, and actually do it only when you've actually noticed an existing problem within your code base that it can solve. Third, the DRY principle is over-emphasized. What I've found is that people put such a strong emphasis on the DRY principle, that they try to prevent repetition before they've found a solution to their problem. I think that the over-application of the DRY principle is what actually leads to the severe abuse of inheritance and other forms of abstraction. I cannot stress enough how big of a problem I think this is. First, implement the simplest solution to your problem you can think of, the first thing that comes to mind, then iterate on that and try to improve it, only after that try to eliminate repetition. Also, learn to type properly, people often ignore proper typing, but the better you can type, the faster you can iterate on your solution. I mostly wrote this for myself, because despite knowing this, I still make the mistakes addressed by my points. I still slip up and try to prevent repetition, instead of addressing it when it becomes a problem. I still try to design perfect inheritance hierarchies, before I've even thought of a solution to my problem. I still try to make OOP more complicated than it should be. So I'm leaving this here, as a reminder to myself, and hopefully others. P.S. I actually have a lot more to say on the subject, but this is already a huge comment. I would love to discuss this further with whomever is interested.
For a time after being introduced to Handmade Hero, I tried programming with just functions and structs. I found that it does pretty much everything I need, and nowhere did it become apparent that I ever needed to have some concept of methods or functions which are tied to a specific struct. I don't think data hiding is useful for the kind of software I build, and I question whether it's useful for any software at all. I don't like the idea that I can invoke a function on a struct and it secretly changes some data on some fields because these side effects happen in a function that is hidden to me. It's an experience thing. Building without OOP is the surest way to convince yourself you never needed it. I don't feel like I'm missing out on anything. I feel like I write a hell of a lot less useless boilerplate and get more work done in less time.
Thanks a lot for great effort and share it with us!! :)
Thanks a lot for your effort. :) I have to problem with the library, the library only is changed when I close and re-open the program. Do you know where is the problem? Do you have any suggestion about this issue. Thanks.
Interesting. Are you talking about the separate game library dll, and that you can't get Mac OS to detect a change to the dll file when you recompile the game's source code? I haven't had this problem, but I've long since removed dynamic code loading from my game prototypes since it's extra complexity that doesn't always help me out. If I find a situation where it does, I'll put it back in.
@@tedbendixson Many thanks for your message. I have solved changing the way to compile the project. I was using the CLion, but using you script problem solved. In my opinion is the problem focussed in the build system ninja used for CLion. Extra point for the simple things. I want to go deeper, because I find it very useful and this idea is new for me, new skill.
FYI to readers: if you actually release a game, you won't have that much trouble finding work after as a Plan B if you need it. Speaking as someone in a position of hiring software devs for many years- proven ability to ship a fun or useful product is a #1 consideration that won't be replaced by AI anytime soon.
Ok
I remember way back when you made that series on the Handmade platform layer for macOS. Was that the precursor to starting to prototype Mooselutions? I'm always curious how much actual time goes into the prototypes from folks in the "from scratch" / handmade game dev community because there of course has to be some foundation around first to be able to quickly test out gameplay ideas. Even thinking back to Jon Blow's interviews on Braid as one example, it's hard to imagine he that _didn't_ have some simple DirectX rendering code lying around to just use for the initial prototyping (IIRC he says something like the initial rewind prototype took about a week with the simple graphics shown during interviews or Braid anniversary edition). If building those necessary engine pieces is considered part of the initial prototype, what was the timeline from start -> first prototype posting? First prototype -> production release?
Indeed, it took many years. Those first videos were me at the very start, just learning this totally new way of doing software development. I needed to get setup with basic text and sound rendering so I could do simple 2D prototypes. Once I was able to prototype in 2D, I was able to figure out what gameplay goes into Mooselutions. You talk about Jon Blow having something like this when he started Braid, and that is exactly the case. He had some leftover code from previous game prototypes he was building, and he just reused it after taking out all of the gameplay-specific bits. I've done the same thing with my new game. Once you've solved a problem, you get to keep the solution so long as you're alive. So every time you start something new, you're a little further ahead than the last time you started a new project.
why you should not tell people what to do or why to do
I've got a lot of respect for Karl - he's doing good work I just found you, Theodore, and I like what you are doing! I think some people have the experience of thinking they need to create a general purpose engine first - and that's a bad place to be in Others use it as a strawman argument (probably some ego protection) to call people stupid for not using a 3rd party engine As if almost every game before the 2010s didn't get created from scratch...
Based. I enjoyed this commentary. I had a similar experience, but it was with Brian Will's videos about how OOP is never the correct solution. I later found this article and handmade hero.
I think it was intuitive to call Terraria side scrolling minecraft at one point, since you place blocks. Now, I'd call it a survival metroidvania, where the loot you find and structures you make allow you to navigate more hostile biomes and tackle increasingly difficult bosses. Minecraft, to its detriment, has seemed to chase Terraria's strength of dungeons and bosses instead of focusing on the 3D building sandbox or its cave generation (took YEARS for the cave update, which I think was excellent).
Thank you for a beautiful talk! I kinda wish I had your perspective at your age. I was more like that old lady who cared about you. However as I have gotten older I have realized that some things in life are truly worth doing while young. You never know how old you end up to be and the experiences just would not be the same if you are 20 compared to 40 years old. I do often think about how I can arrange things to avoid choice and get to do both things. Maybe the answer is not to just go the safe route or go the odd job/risky route. Maybe the answer is that we are able to do both and reap their respective benefits. Just a thought. Take care Theodore!
Its funny but I am living the opposite story. I'm here, at the age 28, with a masters degree in software engineering from the hardest university in my area and 4 years of professional experience. I got burned out of doing full stack web development. Quit my job and started aggressive inline skating to make up for the fact that I never had the time to do it while i was young. Been doing that for a year now and have been living off my savings. I used to make mobile games in LibGDX back when i was 17-20, and released 2 of them. I made a Flow clone with randomly generated puzzles with some extra features like multi layer puzzles. And I made a clone of a old LINES game from the DOS area with the board size and rules adjusted to play well on a phone. The games made no money on ads but they were fun to make and great for learning. It's a shame that the university homework projects took so much time that I had no time to continue hobby game dev. I got a job as soon as I graduated but I kept getting more and more responsibilities on that job without getting a pay rise so I just quit. A year has passed and it seems like aggressive inline skating healed my burnout nicely and I now have the motivation to try my luck being a independent game dev again.
Lovely story. Feels good to know I'm not alone in this
I had to stop mowing the lawn and listening to comment that the part about “doing the thing and then be done” is huge. It exemplifies all my frustration with full time software employment so concisely. It’s why I’ve been way more productive as a freelancer ever since.
Yeah, maybe if the game studio thing doesn't work out, I can just focus on fixed price contracts with a definite goal in mind. Hourly billing is insanity.
The link to the itch page in the description is wrong.
Thank you I will change it
Another game dev with kids with a lot of fascinating experience (as shared through GDC talks, etc.) is Jason Rohrer! Great video as usual Ted. I'm curious: when you were working full-time and then moonlighting on game dev, how many hours on an average day were you able to / trying to spend on your projects (e.g. Mooselutions)? As someone who also works full-time, supports a family with a kid, and tries to move along with indie game dev, I'm always curious where people draw the line on the number of extra hours they can handle on side projects before it's too much mental load on top of the day job, etc.
Glad you liked the video :-). One of the benefits of doing a game from scratch is how it eventually turns you into a really effective and productive programmer. Because of the skills I learned from doing things this way, my day job slowly transitioned from something that takes a medium amount of effort to basically being a sinecure. Most day job programmers aren't all that ambitious, and they waste their time on the phone or in code reviews trying to look superior by pointing out small aesthetic nitpicky things. So if you just don't do any of that, you can get a lot done. I could usually finish all of my tickets for the sprint a week before it ends. The managers couldn't keep up with me. They couldn't give me enough meaningful work to stay busy, so I would just work on my own stuff when it got dead like that. Most weeks it was about ten hours. On some weeks, I might get as much as twenty hours in. If I felt particularly motivated, I might take Saturday off and work most of a Sunday. We have this silly protestant work ethic here in America. We think we owe our employers our time. I reject that notion. I think we owe our employers a valuable outcome, and it is their responsibility to provide an environment where we can contribute something of high value. If you think along those lines, you can cut down on a lot of bullshit and free up a decent chunk of time.
Hello, I was wondering what libraries/frameworks do you use to create your games, for example the rogue deck builder?
I use Sean Barret's very small STB libraries to handle PNG file loading. I also use a bunch of Microsoft's Win32 libraries to handle things like showing a window / Windows platform stuff. On Windows I also use DirectX11 for rendering. On Mac OS, I use AppKit for basic Mac OS functionality, and audiotoolbox for low level sound processing. I use Apple's native Metal libraries for rendering on Mac OS.
@@tedbendixsonWhy don't you use things like OpenGL and SDL2 or SFML? Those are pretty low level and to my knowledge they can work on Mac, Windows, and Linux, so you don't have to build a seperate platform layer.
@@dapaulpeng I enjoy learning and wanted to learn how to do a platform layer. I found it easier to work with Metal/DirectX than OpenGL. I tried SDL, but I didn't like the way it takes over a large portion of my programs logic. So here we are. I wish Jai were public. I would probably be using that. So this is the next best thing for me.
@@tedbendixson Have you tried asking for beta access? Feel like someone like you would be able to get access since you've shipped a full game from scratch
I'll ask
Frankly, it's a bad article. The author complains about people who try to force their way of programming on you, and then proceeds to do exactly that. And the argumentation is bad too. We've got this criticism of OOP: "First, you look at the real world problem - say, a payroll system - and you see that it has some plural nouns in it: “employees”, “managers”, etc. So the first thing you need to do is make classes for each of these nouns. (...)" Well... no. The central part of a payroll system are going to be payrolls. If the only relevant piece of information about "employee" or "manager" is the person's name, then you don't need any classes for them, a simple string inside the payroll class will do. So the presented issue (proliferation of classes) is not an inherent flaw of OOP, but rather poor design. Then there's a description of some prototyping and refactoring, really nothing magical about that. It's pretty much impossible to write a bigger chunk of software (OOP or not) any other way. There's nothing wrong with some rudimentary up-front design (which will likely go through multiple phases or refactoring) either. It often helps you to discover dependencies or issues you didn't consider earlier. And "because I enjoy trashing object-oriented programming" just reeks of bias. So yeah, Casey is definitely a smart and capable programmer, but that's just not good criticism. I agree on one thing though: purists are not worth listening to. Now a piece of advice from me: remember, software is a just tool. So the most important thing is that it needs to get the job done. In other words, as long as it meets the requirements, you're golden. It doesn't need to have perfect design, use fancy features, it doesn't need to be OOP, procedural or functional. It only needs to be good enough.
Thanks for the response. I think Casey could be accused of being unfair if there weren't literally hundreds of OOP examples just like the one in his opening paragraph. He's just showing a brief glimpse of what is actually taught in universities, boot camps, and online tutorials. When I first read the article, I got more of a feeling like "that's funny but not funny because it hits too close to home." You may have found work habits that allow you to be productive, even within the constraints of OOP. I have too. It still doesn't make OOP a good choice. With more experience in procedural programming, I've realized I can be much more productive by simply ditching OOP and the whole OOP mindset. It was holding me back. I am as "purist" about not using OOP as you are "purist" about not using horses to get around town. I simply found something better.
It's Ya Boi, Tedd!
taking the john blow route, but the ted way, much respect, im not American tho, but still good seeing you putting on more and more content, leverage that recent waves of views, you could do it man
when you get your big launch success, do you plan to revisit this talk with more updated info?
I appreciate the vote of confidence. Absolutely. Maybe I'll bring my aunt Mary on to discuss it. She used to teach tax law.