Link (YouTube) |
Well, that was a worthwhile way to spend three episodes. It might have been crazy nonsense and broken quest triggers, but at least we failed to bring everything to a satisfying conclusion.
Link (YouTube) |
Well, that was a worthwhile way to spend three episodes. It might have been crazy nonsense and broken quest triggers, but at least we failed to bring everything to a satisfying conclusion.
I need something handy that will let me change program options without needing to compile. Right now I have everything bound to mysterious and unexplained hotkeys. There are enough of these that I’m getting confused. Hotkeys are great for turning things on and off, but terrible for fine-tuning options. It looks like I need some sort of interface for my program.
![]() |
| This computer interface is notable for the upper-arm and back conditioning required to use it. The upside is that, if it’s adopted, Photoshop artists will eventually look like bodybuilders. |
Now, I’m always banging on about how libraries should be as focused and unencumbered as possible, how you shouldn’t need to go on a multi-stage fetch quest to get the thing to compile like you were trying to assemble the pieces of the Tri-Force or something. The problem is, there is pretty much no way around this. Interfaces need to use fonts, and fonts are fiendishly complex beasts. Interfaces need to render stuff, and rendering is complicated. They need to process keyboard and mouse input, and those are complicated. (It seems simple, but tracking keyboards and mouse wheels and all the different things that can happen with the CTRL, ALT, and NUMPAD… it gets very hairy.) That’s a lot of things for one library to do, on top of running a window system with buttons and scrollbars and the ability to tab between interface elements and all of the other tiny details that we all take for granted.
Still, the inability to adjust options is really killing my productivity. So let’s see what we can find.
Continue reading 〉〉 “Project Frontier #16: Interface’d”
I’ll bet you guys forgot this show existed.
Link (YouTube) |
Where did Mortimer and Marjorie go? Why did SOME of the White Glove Society attack us? Why didn’t Josh kill the cook the moment he opened his mouth? Why didn’t we crash when talking to Chauncy? How exactly ARE you supposed to do this quest so you don’t end up killing everything in the building?
These are all things which must be added to the long list of Stuff That Confuses Me.
One of the things I like about this project is that it is uncluttered by goofy, awkwardly-designed libraries. Sure, I could have grabbed some existing code for loading 3D files or animating figures, but I still would have been faced with the problem of getting them all to work together with my program. It’s possible that I might have saved time, but it’s also possible that I would have spent those four days pulling my hair out and solving strange dependency issues and going on fetch quests to get all the stuff it requires, only to discover that it didn’t work properly. Then I would have had the problem I feared: A huge, complex system that doesn’t work and no idea how to fix it.
And even if it did work, I wouldn’t really want to have an extra ten modules cluttering up my program, with thousands of lines of foreign (to me) code, the bulk of which I’ll never need or use, all in the name of saving me a day of work. There’s a trade-off at work here (like there always is) where you exchange compactness, elegance, and maintainability for time. At some point it becomes worth it, but I always advise caution when integrating foreign code. Even if the other library was made by someone smarter and more experienced than myself, the truth remains that they didn’t design their code with my project in mind.
Worse, when integrating external libraries like this there’s always the chance you’ll spend the time and end up with nothing. (Although, I think my professional experience has improved my ability to spot the packages likely to become duds and time-sinks. In fact, yesterday’s post touched on that: Look at the interface of a library. If it’s cluttered, obtuse, verbose, and confusing to use, you should be extremely reluctant to add it to your project, even if it solves critical problems. Right now, you only have one problem. Don’t trade it for six others.
Hang on a second. I feel like I’ve done this rant before…
Continue reading 〉〉 “Project Frontier #15: Devil of a Problem”
There’s a book called Teach Yourself C++ in 21 Days, which can be read for free online if you have the inclination. When people have come to me asking for suggestions about where to begin with C++, that’s usually where I send them. Looking back, I’m not sure that was the best move. Although, I don’t really know where else to send them. College maybe? That’s an excruciatingly expensive and time-consuming way to learn, and probably not a good choice for the curious person looking to test the waters. Even that might be a bad idea. A lot of people seem to read books and take courses and emerge on the other side having no idea how to make useful software.
Imagine a book titled, “Become a novelist in 21 days.” There’s also a college course that purports to teach you novel-writing skills. Inside, you will be instructed in grammar, spelling, punctuation, proper capitalization, and page formatting. Afterward, you march out into the wide world calling yourself a “novelist”. I mean, that’s what writing a novel is, right? Putting words together? And you totally know how to do that. You got an A and everything.
I’ll admit I’ve never seen the inside of a university as a student, and I’ll freely admit Ive got shameful gaps in my knowledge as a self-taught coder. But the way C++ is taught seems to have the most alarming omissions. For example, I know people supposedly educated in C/C++ who have never had to:
Continue reading 〉〉 “Learning to Program vs. Learning to Write Software”
![]() |
I was planning on going back to Blip.Tv after a few weeks and re-visit the service, but there’s one point about my original tirade that’s been eating away at me. I want to set the record straight, and I don’t want to wait a few weeks to do it. While the over-saturation of ads on Blip was really aggravating, it wasn’t at all fair to heap the blame on them the way I did. We talked about this in the comments, but I want give this correction its own post where everyone can see it.
Continue reading 〉〉 “Blip.Tv & Producers”
The old saying is, “If you can’t play golf well, learn to enjoy playing it poorly. ” Substitute “golf” with “murder hundreds of people”, and you have Rutskarn’s Hitman series.
Link (YouTube) |
“Oh God! Oh God, what have I done!?!?!”
“Somebody, eventually has to go to this bathroom.”
“Yeah, I’m not seeing a whole lot of compelling reasons not to kill that dude.”
“Damnit, I didn’t want THAT one. I wanted the naked one.”
Here is a long look at a game that tries to live up to a big legacy and fails hilariously.
Which would you rather be: A king in the middle ages, or a lower-income laborer in the 21st century?
A look back at one of my favorite games. The gameplay was stellar, but the underlying story was clumsy and oddly constructed.
So what happens when a SOFTWARE engineer tries to review hardware? This. This happens.
Who is this imbecile and why is he wandering around Europe unsupervised?
This is why shopping for graphics cards is so stupid and miserable.
What is a skinner box, how does it interact with neurotransmitters, and what does it have to do with shooting people in the face for rare loot?
His problem isn't that he's dumb, the problem is that he bends the world he inhabits.
This series began as a cheap little 2D overhead game and grew into the most profitable entertainment product ever made. I have a love / hate relationship with the series.
Let's count up the ways in which Bethesda has misunderstood and misused the Fallout property.