What I would like people to do if they’re professional programmers is think about how you can use your skills not just for business. How can you change the world in ways which aren’t necessarily directly correlated to making money? Because, are all the good things in the world directly correlated to money? I don’t think they are. [We] should be thinking about how we can use our amazing, fabulous skills that we all have, that most people don’t yet have, to change the world for the good that we see.
Continue reading
Refactoring – Not on the backlog is a great read, and advises you to improve your code with every feature request you complete, instead of making it worse. The key is to refactor iteratively as you work.
We took this “gradual refactoring” approach at DeviantArt and I highly recommend it. You also get the side-effect of maintaining developer morale since large, long-lived codebases are often soul-crushing things to maintain.
So please, stop plowing through your tickets.
Continue reading
If your web application calls out to third-party APIs, set aside some time to review the timeouts surrounding those requests.
Carefully choose a timeout for the initial connection attempt. Choose a low timeout and perhaps add a retry if you really need the call to go through. Carefully choose a timeout for the overall request. How long are you willing to make your users wait for the response? Do not rely on the default timeouts set by your HTTP client library, language runtime, or HTTP server.
Continue reading
I highly recommend against being a morning person. As a morning person, you may consider it a virtue to be able to spring out of bed excited to start your day. The flaw with this approach to life becomes apparent when you spring out of bed too swiftly, bend down to grab your shirt too eagerly and end up pulling your back out.
You have been warned. Please govern yourselves accordingly.
Continue reading
My brother-in-law’s making a squad-based point-and-click adventure mystery game set in near-future Florida. If you like point-and-click adventure games, check it out on Kickstarter!
Continue reading
Wanted to show off the BDcraft textures I’ve been using.
Jump in and build something! Demo world is here
Continue reading
Cutouts are a way to render objects that are fully transparent in spots, without actually doing alpha-blending or pre-multiplied alpha stuffs. More on those can be found in this article: GPUs prefer premultiplication.
Here’s a great example of cutouts in Minecraft. Notice that the tree is made up of cubes which have a leaf texture applied to them. The texture is transparent within the space surrounding each leaf. No blending occurs; you can simply see through the transparent bits:
Continue reading
When I started working on this project nearly a year ago, the frame rate rarely stayed consistent as the player moved around the world. The engine was simply allocating and discarding too much memory, resulting in frequent pauses in gameplay as the interpreter ran garbage collection. As I re-wrote more and more of the game engine, I came to understand exactly which types of objects and arrays I needed to allocate, where I could cut down on allocations, and where I might use an “object pool” to stash allocated objects for re-use.
Continue reading
I’ve finally rounded out some more features that I felt were necessary for a somewhat-compelling demo.
Open Google Chrome then click here to explore and build: http://voxeling.greaterscope.com
Recent updates include:
Updated character model to more closely match the one from voxel-engine Added skins from voxel-engine and other projects Refactorings and optimizations Simple water animation (of sorts) Made jumping less jarring (implemented the Skyrim float) Pause physics until user clicks the world for the first time.
Continue reading