this post was submitted on 17 Oct 2024
91 points (100.0% liked)
Asklemmy
43907 readers
1091 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Hey, I'm also a software developer, and I dabble in game dev.
You eat an elephant one bite at a time. You're probably already familiar with Agile, and that's a good way to organize your project. Start small, get one thing working, and then you can iteratively add features.
If you're interested in game design, you may want to do some reading on the subject. The Onion model for game design is highly effective. You start with a core feature, finish that feature, then add new layers by adding new features. You complete each feature before you start on the next, and this way you always have a working game. It's fairly similar to Vertical Slices in Agile development.
As far as choosing an engine, I'll make it easy for you and just recommend Godot. It's FOSS and widely used in particular by solo devs. I've also dabbled with Unity and Unreal, which will be the other major free (but proprietary) options. Unity has less ramp-up time than Unreal, but it also has a history of screwing with its users. You're probably familiar with vendor-lock, and that's what you'll be getting into if you try either of those.
You may already have the skills to build your own engine. Don't. You'll pull your hair out on all the edge cases and abstractions, and an off-the-shelf engine already has that figured out for you.
As far as learning to use the software, I guess that depends on your learning style. There's books, videos, and official documentation on the web for whatever engine you decide to use. I'd recommend you use the same approach as learning any other new stack or library. For me, that often means going to the documentation's Getting Started page and just playing around.
As you mentioned, tutorial hell is real. Don't get me wrong, tutorials are a great way to learn the engine's features that you aren't already aware of. But don't be afraid to go off-script and just play around. Sooner or later you'll have to make your own sausage anyway.
Since you already know how to code, you've got a huge leg up on most beginners. The hardest part about making games is creating assets and scripting features. As far as assets go, you can certainly make them yourself, or you can outsource that work with third-party assets. While you're learning, I'll recommend Kenney - they're highly regarded in the game dev community, and all of their assets are CC0 licensed so you're free to use them even without attribution.
Good luck!
Agile is explicitly a way for a team to be self-organising. What benefit do you get from it as a solo developer?
When I learned it, one of the core tenets was that you build a prototype and then iterate off of it. I guess that's what I'm referring to
Every organization I've worked for has a different bastardization of it, so your mileage may vary