IssueRaiser

Programming lessons learned from making my first game and why I'm writing my own engine in 2018

I just released my first game, [BYTEPATH](http://store.steampowered.com/app/760330/BYTEPATH/), and I thought it would be useful to write down my thoughts on what I learned from making it. I'll divide these lessons into soft and hard: soft meaning more software engineering related ideas and guidelines, hard meaning more technical programming stuff. And then I'll also talk about why I'm gonna write my own engine. <br> # Soft Lessons For context, I've been trying to make my own games for about 5-6 years now and I have 3 "serious" projects that I worked on before this one. Two of those projects are dead and failed completely, and the last one I put on hold temporarily to work on this game instead. Here are some gifs of those projects: <p align="center"> <img src="https://i.imgur.com/dcjo640.gif"> </p> <p align="center"> <img src="https://i.imgur.com/1UGfm9J.gif"> </p> <p align="center"> <img src="https://i.imgur.com/Kn2LSAH.gif"> </p> The first two projects failed for various reasons, but in the context of programming they ultimately failed (at least from my perspective) because I tried to be too clever too many times and prematurely generalized things way too much. Most of the soft lessons I've learned have to do with this, so it's important to set this context correctly first. <br> ## Premature Generalization By far the most important lesson I took out of this game is that whenever there's behavior that needs to be repeated around to multiple types of entities, it's b

Posted by a327ex on Feb 25, 2018, 12:56 AM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.4,000 issues0 comments

reliability (SaaS)

Programming lessons learned from making my first game and why I'm writing my own engine in 2018

a327exFeb 25, 2018, 12:56 AM

I just released my first game, [BYTEPATH](http://store.steampowered.com/app/760330/BYTEPATH/), and I thought it would be useful to write down my thoughts on what I learned from making it. I'll divide these lessons into soft and hard: soft meaning more software engineering related ideas and guidelines, hard meaning more technical programming stuff. And then I'll also talk about why I'm gonna write my own engine. <br> # Soft Lessons For context, I've been trying to make my own games for about 5-6 years now and I have 3 "serious" projects that I worked on before this one. Two of those projects are dead and failed completely, and the last one I put on hold temporarily to work on this game instead. Here are some gifs of those projects: <p align="center"> <img src="https://i.imgur.com/dcjo640.gif"> </p> <p align="center"> <img src="https://i.imgur.com/1UGfm9J.gif"> </p> <p align="center"> <img src="https://i.imgur.com/Kn2LSAH.gif"> </p> The first two projects failed for various reasons, but in the context of programming they ultimately failed (at least from my perspective) because I tried to be too clever too many times and prematurely generalized things way too much. Most of the soft lessons I've learned have to do with this, so it's important to set this context correctly first. <br> ## Premature Generalization By far the most important lesson I took out of this game is that whenever there's behavior that needs to be repeated around to multiple types of entities, it's b

Comments (0)

No comments yet. Start the discussion.

Comment on this issue