Spitball Sessions has been running for quite a while now, and I have been very remiss in writing a blog post on my current projects. I am very prolific in my projects, usually working on several things at any given time. Excepting work, i fill my time with photography, illustration, programming, design projects, 3d modelling and rendering, and the spitball Sessions project, just to name a few. Needless to say, finding time to do all of these things can be very hard.
Josh and I have discussed our motivations to code a few times, and they differ considerably. While Josh is has a practical focus in his projects by learning to code to develop useful and productive applications, I am learning LUA purely for fun. I have no major motivation other than to create a fun and interesting game.
Dabbling VS Direction
Our motivations reflect our methods for learning as well. Where Josh is searching for tutorials that will teach him methods and techniques that will build a foundation for future use, I build my games directly, and solve code problems as they appear. My method is certainly not one I recommend to others, but it works for me.
I also am using a 2d game engine called LÖVE. It’s more of a library of useful functions that handle all the hardest and tedious parts of game creation. I love this engine, and while it’s not as broad reaching as something like Unity, or any of the other mainstream engines, it was supremely easy to pick up and code with.
Trial and Error.
I have been creating several trial programs to solve certain problems and slowly building a library of incomplete games I can use as resources for future projects. Many of these share code in large portions.
I have had help along the way. For instance, my brother in law developed a lightweight system that applies forces to an object at a specific angle for a fluid movement rather than a rigid UP DOWN LEFT RIGHT system.
function mergeft(force) local x = 0 local y = 0 for i,v in ipairs(force) do x = x + math.cos(v.angle)*v.power y = y + math.sin(v.angle)*v.power end return (x^2+y^2)^0.5, math.atan2(y,x) end
It’s simple, but it works!
As much as I enjoy coding games, I find it difficult to motivate myself on a regular basis to create. I work a full time job, and finding energy at the end of the day can be difficult, especially during our busy season, as it is right now. As June passes, I should find more energy to create again. I hope to have creative and interesting projects to show off here, and not always programming antics.