Fork me on GitHub
#clojure-gamedev
<
2022-10-19
>
Mateusz Mazurczak17:10:29

I was wondering recently, as an software developer that never got into gamedev but found it fascinating. Wouldn't it be better to learn gamedev from scratch by (starting minimal) building bigger and bigger games instead of spending time to learn all those engines?

phronmophobic17:10:23

I think it depends. You can definitely learn a lot by starting from scratch, but you can also learn a lot by starting with a working game/prototype and modifying it do something new and fun.

Mateusz Mazurczak17:10:38

You mean like finding some game on github and making your spin on it?

phronmophobic17:10:05

potentially. Many game engines come with templates for different genres.

phronmophobic17:10:59

I would probably start with a template provided by the game engine, but there's probably some good third party templates too.

phronmophobic17:10:57

It depends on what you're looking for. Implementing simple games like tetris, snake, and galaga can be fun. Trying to implement a 2d platformer from scratch can also be fun, but it's a lot of work. There's also physics based games where you can have a lot of freedom to experiment, but you get to start with a bunch of useful base functionality

phronmophobic17:10:08

At some point, you have to decide if you're more interested in writing a phsyics engine or making a game (or want to dedicate years to a project to do both).

1
☝️ 1
Joshua Suskalo18:10:25

I want to chip in here. If you want to write a game, use an engine. If you want to experiment with graphics programming, 3d stuff, procedural generation, UI, sound systems, etc. write an engine from scratch.

Joshua Suskalo18:10:36

That is to say, if your end goal is to have a product in hand, use an engine (appropriate to your goal, so a simple 2d one for games like tetris, a complex 3d one if your goal is more like an indie 3d title), but if your goal is to have fun along the way and learn about all the internals of games, write an engine.

phronmophobic18:10:58

It does depend on the genre. You can write interesting MUDs, adventure games, story games, and card games from scratch.

Joshua Suskalo18:10:28

Hence an appropriate engine to your goal. For a MUD the "engine" might just be a simple socket library.

👍 1
Joshua Suskalo18:10:36

All that said, if you don't know what you want to do, I'd start with writing something very small in Unity or Godot, see if you really enjoyed the process of making a game, or if you were frustrated by it feeling like you didn't have enough control or that you don't know what's going on under the hood.

1
Joshua Suskalo18:10:00

Making something small will tell you what about the process you like, and then you can go from there.

Lone Ranger01:10:56

I’ll tell you this — morale is a finite resource when it comes to solo game development. I spent two years writing a clojure script wrapper on top of babylonjs because … you know, writing a video game in clojure script sounds like the best thing ever. And it kinda was but damn everything I made sucked. And then at some point I switched to unity which I was avoiding because c# blah, and Arcadia and clojure-clr are kinda dead rn. But damn, it’s fun. And encouraging. And there’s a huge community. And what’s more, game devs come from a different evolutionary branch than we do. And it’s really interesting to dive into their world on their terms. It’s made me a better dev all around. And did I mention it’s fun? Annnnnd they have these amazing things called asset stores where you can funnel all the money from your 9-5 into buying art, music, 3D models, and all kinds of fun stuff at really reasonable prices, and you can focus on the coding. And damn it’s fun! I guess my point is—- if you like the low level stuff, writing shaders and such by hand, do it. But I’d that’s not your jam, the nice thing about modern indie game dev is you should focus on your strengths and the things you find fun. Then use the asset stores to fill in the gaps. Conservation of morale, never forget it

💯 4
👍 1
Lone Ranger01:10:42

@U5NCUG8NR ‘s advice to make lots of small games is spot on

Joshua Suskalo14:10:38

if you go down the route of making your own engine you aren't SOL on assets either by the way, there's fantastic assets available on https://opengameart.org/ and in Kenney's Art Assets https://www.kenney.nl/assets, there's https://freesound.org/, and lots more. Plus ofc there's plenty of people who do commissions on 3d artwork, audio, music, and more if you want something custom. The only thing you can't really get if you're going low level and writing your own engine is prefabs, levels, scripts, etc. But ofc if you're going down that road it's because you wanted to write those yourself anyway.

👍 1
Lone Ranger15:10:59

❤️ ❤️ ❤️ ❤️ ❤️ ❤️ great finds, @U5NCUG8NR!

Joshua Suskalo15:10:00

Yeah these have been invaluable to me. I am far from good as an artist, so I gotta rely on others' work for that, and there's great stuff out there for people like me. Writing game engines is one of my favorite hobbies.

Joshua Suskalo15:10:31

I am a little amused that it ended up just being a hobby though considering that's actually what I went to school for

Lone Ranger15:10:01

ahhh you went to art school? :the_horns: I wish I did something like that instead of whatever it was that I did

Joshua Suskalo15:10:24

No! Not art school for sure, I went for Game Engine Development at a tech school

🤯 1
Joshua Suskalo15:10:47

It was between that and software engineering and I looked over the syllabus for both and the only differences between the two degree programs were that software dev had unit testing, some gui development, sql, and some other stuff I'd done before, and game development had graphics programming, animation, linear algebra, and other stuff I'd never touched before, so I went for that.

👍 1