game dev tutorial step 1 drink a lot of caffeine step 2 work enough to distract yourself from the panic attack from too much caffeine (Today)
I'm just so happy there's a day every year where we can put aside our differences and agree that Independence Day is the greatest movie ever (2 days ago)
2015 - 1 - 30 / 2:01 am / general
One of the things on my to do list for the past billion years has been a rearrange of my website! You may notice now that you're probably looking at kpulv.com/blog/ instead of plain old kpulv.com. Now when you go to kpulv.com you'll see a big list of all of my video game releases.
The number one reason I did this is because a lot of the traffic that comes to my site is coming from people who are looking for my games first and foremost. I think that it might be a little confusing if the first thing they see is a bunch of blog posts and some kinda odd navigation. Plus I think just putting my games in front of visitors first is just a better idea in general. If they're interested in anything beyond that then they can easily click on the link that goes right here.
All of my modifications should preserve any of the urls for my posts so there won't be any weird broken links. Also when I was coming through some of my old code I fixed a few bugs here and there that I'm sure only I noticed.
Of course this is something I've been putting off because I dreaded breaking everything on my site, but it turned out to be incredibly straight forward and I was able to crank it out in a day. Totally related to this I am still digging toggl quite a bit as it shows me pretty accurately how I'm spending my time on tasks, and sometimes it's crazy to see how little time I spend on things that I thought would take forever. More thoughts on this coming sometime soon. Back to work!
2014 - 12 - 30 / 7:16 am / general
The recap train keeps movin'!
July was a pretty busy month for me outside of the world of game development. It started with the annual trip to EVO to watch the world championships of fighting games (although a lot of tournaments seem to be popping up lately calling themselves the world championship of fighting games.)
Spending some time in Las Vegas is usually a terrible idea, but EVO makes it somewhat tolerable, and seeing a bunch of cool indie game developer friends makes it very tolerable. I think I played a solid 5 hours of Street Fighter IV with my training partner Adam in our suite.
I did manage to get some work done as I tried to tackle an overworld map for Stratoforce.
And I worked on getting an enemy HUD up and running.
This is also the month when I broke my relatively brand new Xbox 360 controller with the fancy d-pad. I ended up using that as an excuse to take the controller and customize it with a bunch of cool parts from the internet.
Toward the end of the month I took a trip back to my home town in upstate New York to visit my friends and family from the area. Traveling is always pretty exhausting for me and I don't really get a lot of work done when I'm spending every night in a different place and I don't really have a super solid work station, or even desk set up.
August I was back in the desert and able to work more on some various projects including Dan Adelman's website.
I finished the site sometime in August and it launched at the same time Dan officially announced he was no longer with Nintendo. He made some pretty big waves in the press which was pretty cool. I ended up using tumblr as the content management system for the site and that turned out to be a great decision as it makes things like hosting and maintaining it really easy, but the workflow of actually getting the theme hooked into tumblr is pretty annoying.
This month I became really interested in behavior trees and their potential application in the games I was working on, so I spent a lot of time working on behavior tree stuff which was a lot of fun. I ended up making a couple of short demos, but so far I don't know if I'm super convinced that behavior trees are great in action games like mine.
I also did a 48 hour game jam in Phoenix and made a cool game!
I got to use my recently acquired shader knowledge to make a cool looking game boyish game.
At the very end of the month I ventured off into Seattle to start my adventures at PAX Prime.
This month started out in the pacific northwest. I went to PAX Prime sort of on a whim since I didn't really have anything to show. I was mainly going just to meet up with people and have fun as a regular ole PAX attendee. I ended up showing some of the stuff I was working on to people with some videos, but I kept quiet for most of the trip.
I also got to start this trip off with a brand new smart phone! If you didn't know, I've been using a dumb phone up until this point. I got a Galaxy S5 right before my trip, and I learned the true power of having the internet in the palm of my hand when traveling anywhere.
After PAX wrapped up I hopped on a bus up to Vancouver and stayed at Indie House for about a week. There I ate sushi and coffee crisps and played Smash every day and night and it was the best week of my life I'd say. I did get some minor work done on wrapping up my game jam game from last month, and managed to release it on the Dreamcast's birthday.
When I returned home to the desert I got back to work on some features for Otter. I did a bunch of bug fixes and clean up and also updated the platformer movement component to allow one way platforms.
This month I was also trying out working out of an office with my friends from Team Colorblind. It was pretty cool, but I fell off the wagon of working out of the office after our next trip which was back to Seattle for an amazing weekend wedding of my friends Tommy and Shannon.
After I got back to the desert my sleep schedule ended up getting flipped up turned upside down and there went my hopes of working out of an office for awhile. I spent the rest of the month trying to get back into the groove of working since my summer of travel was finally done.
Both August and July were filled with a lot of trips. Traveling is usually pretty fun when I'm in the moment of traveling, but a lot of times I feel like traveling really slows down my work which is really annoying. I also have a lot of anxiety when it comes to traveling and the build up of leaving and going somewhere can drive me pretty crazy. I guess a lot of it is that I don't like flying...
Overall I had a lot of fun over the summer, but I still feel like I didn't get enough done! Or I didn't get as much done as I could have... but maybe I'm being too hard on myself. Who knows! Next up is Part IV!
2014 - 12 - 29 / 10:35 am / general
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!
2014 - 8 - 4 / 11:52 am / general
News is spreading fast that the famous Dan Adelman has left his job at Nintendo to pursue helping indie game development teams with business development and marketing. How awesome is that! What's even more awesome is that I got to make Dan's new website for him. Check it out!
The site is actually created as a custom Tumblr theme which ended up being pretty straight forward to set up. I find it way easier to work with than WordPress, although you don't have as much freedom to host it yourself. Working with Tumblr definitely has its kinks though. The work flow can get pretty weird towards the end of the development... I ended up having to copy and paste the entire template for the site over and over again to update things which is pretty strange, but hey it works!
This is also the first site I've done with any sort of real responsive design. Check out how the site changes when the screen width changes.
It can be squeezed down pretty far in case you're viewing it on a Game Boy.
I had a lot of fun making this site! Haven't really taken on any web development work in awhile, so I had to shake a lot of the rust off, and I got to learn a lot of new things along the way.
2014 - 6 - 29 / 4:59 pm / general
My break from game development ended up lasting a little bit longer than I expected, but I had a good vacation in the world of web design and development. Unfortunately the stuff I worked on is totally top secret, and will be for a little while still, but when it comes time to finally reveal it I'll be sure to post about it here.
There were a few more things that I learned or picked up that came in handy during this last project and I thought I would just share a few of them again.
Tumblr Custom Theme Documentation
This lastest web project involved using tumblr as the content management system. I haven't done any work with tumblr before, but it turned out to be pretty straight forward and overall really easy to work with. Unlike Wordpress I never have to even venture into php territory. Tumblr seems to use some kind of built in templating system that takes care of everything behind the scenes. The official documentation on how to build a tumblr theme actually ended up being the best resource for getting started on it. A lot of the other tutorials I found on theme building were already outdated, so I just stuck to using control-f on the documentation whenever I needed to know something.
This is a quick and simple tumblr theme that implements all of the essential tags. This was a great place to get started and see how the various tags work along side some HTML and CSS. There was one guide that recommended starting with this, and I used it as a guide when I was starting on a custom theme.
Open Graph Protocol
If you want posts to be shared around properly on Facebook then having open graph meta tags in your HTML is essential. You're able to define things like the preview image, description, and title of your articles, which can be very important for when your awesome web page finally goes viral with all the kids. Facebook and other social media things can parse some things from your site automatically, but sometimes the layout of your site will cause it to parse the wrong things so these tags are a way to overcome that.
Social Media Templates
Related to the Open Graph tags, here are templates that cover the rest of the core social media tags. The meta tags for Twitter and even Google+ are available here to copy and paste into your web zone. Once again just useful for controlling what info shows up when people share your site across various social media sites.
Tumblr Static File Upload
When working with a custom tumblr theme you have two main options when it comes to hosting resources. You can either host them all remotely on a separate web server, or you can just upload all of the files to tumblr and have them worry about it. I found that my work flow was best when using a remote server for awhile, and then when things were more concrete I migrated over to the tumblr server. Using the tumblr static file upload you can host all of your files directly on tumblr, but it comes more of a pain to modify and reupload files (like css, font files, images, etc.) Ultimately I think using tumblr's servers for the final product is the best bet.
Firefox Cross Domain Font Fix
This one is pretty technical, but is super important when it comes to using the @font-face properties in CSS with a custom tumblr theme. Firefox cannot load fonts across domains without explicit permission from the host domain. Since the tumblr servers do not have this permission properly implemented, any custom fonts you try to load with the @font-face property will just not load on Firefox. Apparently this is the correct behavior, but kind of annoying since Chrome doesn't seem to care at all where fonts come from. The fix is simple enough though. By encoding fonts as base64 data directly into the style sheet Firefox is able to load the font no problem.
I think that's all for now! Hopefully today I can dig back into game development work, but I had a lot of fun brushing up on the latest web development action.
2014 - 6 - 20 / 12:43 am / general
Things have been pretty quiet around here for a couple of days! I'm still working on video games, but recently I decided to take up some (hopefully) quick web design work! Although I can't share the details of what I'm working on, I can share some resources that came in handy for prepping me for the new world of web design.
My work flow for sites is terribly outdated in the modern world where 55% of web traffic apparently comes from mobile devices. Then on top of that, some desktops are now reaching resolutions of 2000+ horizontal pixels with retina displays and just plain ole huge monitors. The web is always changing, and it has changed a lot since I've really buckled down for a design project.
Web Field Manual
This is a link to a collection of more links! A lot of the stuff here was pretty useful for getting set up with a new work flow, and to catch up on recent trends in web design. Separated by category, I think I looked through almost every link they offered.
About a billion of free to use icons (as long as you attribute the source) for any sort of design needs.
Useful for taking a look at various styles that are designed with responsiveness in mind. See how various templates respond to various mobile device resolutions.
Responsive Grid System
A pretty nifty responsive grid framework to use when developing a responsive site.
Another nifty grid system for responsive design. I used this for the Otter website.
A collection of high resolution totally free to use stock photos, and it's updated frequently.
Pretty straight forward inspiration gallery of recent cool and/or hip websites. Some of these are a little bit too trendy but there's a lot of good stuff here to check out.
Hi there, my name is Kyle, and I'm a kid disguised as a grown up. I'm making video games and living the indie game developer life in Tempe, Arizona. Here you will find my thoughts, games, websites, doodles, and other stuff like that. I worked on Snapshot, Offspring Fling, and a whole bunch of other games. I also created and maintain Otter, a 2d game making framework. If you want to get a hold of me use the form on the bottom of the page, leave a comment, or just tweet at me. I try to post three times a week. Thanks for stoppin' by! You're the coolest.
- alec holowka
- bill pullman
- dev log
- game jam
- good times
- kings men
- ninja slash
- offspring fling
- screen sat
- sky sisters
- space sushi
- july 2015 (2)
- june 2015 (13)
- may 2015 (12)
- april 2015 (14)
- march 2015 (14)
- february 2015 (13)
- january 2015 (14)
- december 2014 (14)
- november 2014 (13)
- october 2014 (14)
- september 2014 (14)
- august 2014 (11)
- july 2014 (10)
- june 2014 (13)
- may 2014 (13)
- april 2014 (13)
- march 2014 (14)
- february 2014 (15)
- january 2014 (15)
- december 2013 (14)
- november 2013 (15)
- october 2013 (13)
- september 2013 (14)
- august 2013 (15)
- july 2013 (10)
- june 2013 (14)
- may 2013 (14)
- april 2013 (15)
- march 2013 (13)
- february 2013 (15)
- january 2013 (3)
- december 2012 (1)
- november 2012 (2)
- october 2012 (1)
- september 2012 (4)
- august 2012 (1)
- july 2012 (1)
- may 2012 (1)
- april 2012 (1)
- march 2012 (1)
- february 2012 (1)
- january 2012 (1)
- november 2011 (2)
- september 2011 (1)
- july 2011 (1)
- june 2011 (1)
- may 2011 (1)
- april 2011 (2)
- march 2011 (4)
- february 2011 (4)
Do you want to make a Let's Play of one of my games, or a just a video featuring footage of my games? You have my full permission to do so! Even if you are monetizing your videos, you still have my full permission to use any footage from any of my games. Go for it!