2014: A Pretty Weird Year Part II
Let's continue the recap of a pretty strange feeling year for me!
Hot of the heels of Game Developers Conference I jumped back into work on Otter and Stratoforce. I got some more basic art stuff done, and finally tackled the topic of 2d path finding. Path finding is something that always felt like it was too complicated for me to figure out, but thanks to some tutorials around the internet and help from some great friends I was able to get something basic working.
I still don't totally understand how it works, and if I had to come up with a path finding solution that isn't detailed in an internet tutorial then I'm pretty sure I'd be screwed. I still haven't really figured out how to make it more efficient, and I'm pretty sure I have to figure out a better way to implement it in my game... argh.
I spent a lot of time doodling this month, and probably spent too much time overall doodling during the year. Oops.
Mainly just working on Stratoforce some more this month and got some of the menus up and running.
This month I also spent some time doing some pretty hardcore experiments with rendering in Otter. I was obsessed with the idea of trying to get sprite batching working with everything that is renderable in Otter. A lot of engines or frameworks support batched rendering out of the gate, but unfortunately SFML does not meaning that I have to come up with my own solution.
I ended up hitting a wall that I didn't understand how to pass. I got some basic sprite batching working, but ultimately it seemed like a waste of time because building the batches takes the same amount of time as just rendering everything with a crapload of draw calls.
Without sprite batching a lot of sprites are sent to the GPU when they're ready to go which results in a lot of draw calls. I assumed that this was bad because a lot of engines use sprite batching to reduce the number of draw calls. However when I got a system up and running in Otter to handle automatic sprite batching what I found is that instead of the rendering being slow from a lot of draw calls, the rendering ends up being slow because it has to construct the batch of sprites on the CPU to send to the GPU.
So I felt like I wasted a lot of time here and that was crappy, but it was still fun to try and set up the sprite batching system.
June was the month of shaders and web design. A lot of time was spent finally buckling down and learning a thing or two about GLSL.
A lot of what I'm focusing on is post processing shaders for 2d games. Shaders seem to have a near infinite amount of applications which actually makes it pretty difficult to learn them since a lot of tutorials out there on the internet cover stuff that I'm not even going to come close to using. Whenever I got anything up and running I tried to share the source code with the hopes that maybe someday a google search to my blog will help someone with similar goals out.
After some experimentation I ended up getting a cool shockwave effect set up in Stratoforce.
On the web design side of things this month I also started on a project that would ultimately end up being Dan Adelman's site. I had a lot of fun diving back into the web design world and seeing that pretty much everything is completely different. Responsive design is the big game changer, and making everything on the site mobile friendly. Pretty intimidating stuff, but luckily I was able to find a lot of helpful guides and frameworks to move me along.
I also spent way too much time doodling probably.
--
Hmmm... yeah it seems like although progress was being made, it wasn't being made fast enough! Path finding and shaders were two big things that have eluded me for a long time, so getting those somewhat under control in my brain was a huge accomplishment, but I'm still not really satisfied. Getting back into web design for a quick project was fun, but I think I also used that as a distraction because I didn't want to work on my game all that much.
Part III is coming up!
April
Hot of the heels of Game Developers Conference I jumped back into work on Otter and Stratoforce. I got some more basic art stuff done, and finally tackled the topic of 2d path finding. Path finding is something that always felt like it was too complicated for me to figure out, but thanks to some tutorials around the internet and help from some great friends I was able to get something basic working.
I still don't totally understand how it works, and if I had to come up with a path finding solution that isn't detailed in an internet tutorial then I'm pretty sure I'd be screwed. I still haven't really figured out how to make it more efficient, and I'm pretty sure I have to figure out a better way to implement it in my game... argh.
I spent a lot of time doodling this month, and probably spent too much time overall doodling during the year. Oops.
May
Mainly just working on Stratoforce some more this month and got some of the menus up and running.
This month I also spent some time doing some pretty hardcore experiments with rendering in Otter. I was obsessed with the idea of trying to get sprite batching working with everything that is renderable in Otter. A lot of engines or frameworks support batched rendering out of the gate, but unfortunately SFML does not meaning that I have to come up with my own solution.
I ended up hitting a wall that I didn't understand how to pass. I got some basic sprite batching working, but ultimately it seemed like a waste of time because building the batches takes the same amount of time as just rendering everything with a crapload of draw calls.
Without sprite batching a lot of sprites are sent to the GPU when they're ready to go which results in a lot of draw calls. I assumed that this was bad because a lot of engines use sprite batching to reduce the number of draw calls. However when I got a system up and running in Otter to handle automatic sprite batching what I found is that instead of the rendering being slow from a lot of draw calls, the rendering ends up being slow because it has to construct the batch of sprites on the CPU to send to the GPU.
So I felt like I wasted a lot of time here and that was crappy, but it was still fun to try and set up the sprite batching system.
June
June was the month of shaders and web design. A lot of time was spent finally buckling down and learning a thing or two about GLSL.
A lot of what I'm focusing on is post processing shaders for 2d games. Shaders seem to have a near infinite amount of applications which actually makes it pretty difficult to learn them since a lot of tutorials out there on the internet cover stuff that I'm not even going to come close to using. Whenever I got anything up and running I tried to share the source code with the hopes that maybe someday a google search to my blog will help someone with similar goals out.
After some experimentation I ended up getting a cool shockwave effect set up in Stratoforce.
On the web design side of things this month I also started on a project that would ultimately end up being Dan Adelman's site. I had a lot of fun diving back into the web design world and seeing that pretty much everything is completely different. Responsive design is the big game changer, and making everything on the site mobile friendly. Pretty intimidating stuff, but luckily I was able to find a lot of helpful guides and frameworks to move me along.
I also spent way too much time doodling probably.
--
Hmmm... yeah it seems like although progress was being made, it wasn't being made fast enough! Path finding and shaders were two big things that have eluded me for a long time, so getting those somewhat under control in my brain was a huge accomplishment, but I'm still not really satisfied. Getting back into web design for a quick project was fun, but I think I also used that as a distraction because I didn't want to work on my game all that much.
Part III is coming up!
No Comments