mammonmachine

Don’t follow me if

I wrote and directed WE KNOW THE DEVIL and HEAVEN WILL BE MINE. I also wrote for NEON WHITE and I currently work at game company doing game things.


I don't think these game dev tutorials are a waste of time or anything but i hate pre-prepared asset packs. I know this is probably what people want because the game looking pretty automatically makes it feel '''real''' but there was one tutorial I followed where the teacher just drew every asset as he was making it. I had way more fun doing it that way and I am absolutely terrible at drawing. When you're just copying code and learning which menus are hiding which resources you need, I think getting to do one thing your way, even if that way is terrible, feels empowering?

I am having fun doing code tutorials for children though. Daniel Shiffman's coding train has been my favorite so far, and what makes it good to me imo is 1. It focuses on concepts, patterns, and math but leaves you with enough tools to do play around on your own with them. 2. He usually throws out an exercise at the very end of a video that's something you're completely capable of doing, generally simple and solvable in an hour or so. You have a specific goal of what you want to achieve, but it's general enough that you can pick a result you're excited about, even if it's something like "I want to make a field of flowers"

Most tutorials, partially because they have all these juicy 2D asset packs provided, make big assumptions about what you want to do and why, and assumptions about what 'feels good'. I'm not going to say I understand better than established convention, but I would prefer convention to be phrased as such, not as "it looks bad, and here's the tween that makes it look good". Unity's own beginner programmer course has everything running off of rigidbody physics, as if this was the default way movement in games should be done. That is a pretty big assumption and rigidbody physics for 2D games generally feels awful. They are certainly proud of their physics engine and it lets you easily make physics sanbox games, but what if you don't want to do that?

Since every game design student wants to make mario or zelda generally game tutorials are oriented towards making one of those games, but I wish they were a bit more abstract. Obviously I'm asking for something more like "a real education" than a game engine or specific feature, I'm just finding that it is hard to find something like this for games specifically. Of course, the other side of this is having coding patterns presented so abstractly and context-free that it's difficult to understand how to use or apply them, but I'm starting to get a bit better and understanding what to do with them.

I'm open to recommendations though! I'm grinding through basic tutorials for using Godot at this point, but I might appreciate something that can teach me more fundamentals.


You must log in to comment.

in reply to @mammonmachine's post:

I don't know that I have any particular recommendations, but as someone who teaches both creative coding and game engine stuff, it's nice to hear your thoughts here—a lot of curriculum discussions over here lately.

Creative code has always felt Better to me for learning programming than the more vanilla command prompt way I learned it, I hadn't really thought of trying to treat my game engine teaching in the same way as my creative code teaching! More approaches that are "here are some tools, let's make something with them and be creative" rather than "let's paint a still life of a bowl of fruit."

Creative code has been far and away the best and most transformative for me, and I am the furthest thing from a visual arts person. Just getting to see how math, code, and results on screen intersect makes math so much more fun and exciting. Shaders and VFX are something I'm really interested in right now and I really appreciate when tutorials treat these similar to creative code and give you tools to play around with!

In terms of more design-y stuff, I think about how arrays and for loops let you do things with inventories, but also let you create grids which are useful for title-based games. Probably some students are more excited about animations and level design tasks, but I've been most engaged when I realized that learning how to store, retrieve, and manipulate data immediately made me think of making character sheets and stats and other fun numbers stuff...uh, numbers that are fun to me I guess haha. I would have loved spending more time there. Just getting to fill out an array with data I was interested in and learning how to manipulate it in ways that were interesting to me (creating an RPG or a card game or something) was something I felt I could have spent a whole course on.

I'm a writer, and I'm more interested in narrative, menu based games with mechanics that work in this space, rather than real time games, which might put me in an exceptional category though.

I definitely think just getting to play with stats and numbers (because they're MY numbers and I want them to go up and down in my way) might feel empowering! I think there are students interested in story and narrative that generally are pointed towards twine, which is great if you want to write and draw but not so great if you want to also learn to code. Thanks for listening to me ramble!

So many people in gamesdev are self-taught and, well, frankly, are not very good at teaching things themselves, it ends up that most tutorials feel more like they're running you through a list of features or concepts, rather than trying to impart understanding. So if you don't really 'get it' ahead of time, they're probably going to feel fairly obtuse a lot of the time.

Unity would very much prefer you work with Unity's built-in tools and, frankly, they kind of suck. But also going lower level means you have to do a lot more infrastructure to get things up and running, which is something that can be fun in its own right, but also means you have a lot slower of a start before you get something that moves on screen properly. Kinda lose/lose here without jumping to some third party libraries.

It's never been a very solvable problem because the vast majority of games are purpose built for what they want to be, which is daunting, but also it can be genuinely freeing to realize that, yeah, you can just put the building blocks together however you want to create whatever chimerical gremlin suits your fancy that week.

Also feel free to hit me up if you ever want to talk shop about this stuff. Usually just a little direction of lower level intent helps a long way in imparting comprehension of higher level decisions.

I would love talking shop! For what I want it is probably most practical to start in an existing engine, but as I've discovered knowing what a computer can do and how a computer does it explains so much about why games look they way they look and do what they do. As a naive non-programmer I often am looking to do something very specific, but then finding that how you do it involves a complex but very flexible programming pattern or tool that can be used in all kinds of different ways. I think it can get frustrating if you only just want an answer and to move on, but I've actually come to enjoy learning the how and why enough that the process has become interesting and enjoyable in and of itself.

One way to think about code is that its fundamental purpose it to transform data. So you have one or more sets of data (your game information, textures, etc) and you want to run some code to transform them into another set (the rasterization data that the graphics drivers want to display). Sometimes this process takes a few intermediate steps, frequently for the sanity of the programmers doing it.

Most coding practices are about giving some standardization to this transformation so you can get from point A to point B without pulling your hair out in the process; code's written more for humans than it is for the computer. The computer doesn't care what it looks like, it is a very literal minded baby and will gladly barf all over for you if instructions are unclear.

Anyway I have a lot of free time on my hands since I just moved, so you can discord me if you want: mauve#2174