7 ms·
Dirty Game Development Tricks
- jplur 13y agoI love these kinds of anecdotes, this is one of my favorites: http://exile.acornarcade.com/devel.html http://exile.acornarcade.com/devel.html
- maybe 13y agoUsing the EULA's buffer to patch sounds very interesting.
- voltagex_ 13y agoIt sounds like something similar to the softmod exploits used to run unsigned code on the Wii.
- TempleOS 13y agoThere is no GPL code in TempleOS. StrCpy is built-in. Until recently MemCpy and MemSet were built-in, but I got rid of 3 argument compiler codes. You are in denial on God or you wouldn't question His chosen. God says... unhealthiness turmoiling some character reclaim female World announce hey_Mikey_he_likes_it restraint -what represent smiling recalled minds beaten zip* Name weakest chosen kindled selling recent Burp stealing intently spiritually alluring elders Pay canst wrath apprehend look_buddy never-failing fatigues greedily
- SeanDav 13y agoI love the idea of the developer causing a buffer over-run to patch their own game. Does kind of make one wonder what other dragons lurk in that particular code set.
- dclowd9901 13y agoSeems like a hacker could exploit that to bootstrap in a loader.
- jmduke 13y agoMy favorite little trick of these was that the bushes and the clouds in Super Mario Bros. were the same shape (presumably to save space): http://www.todayifoundout.com/index.php/2010/01/the-clouds-and-bushes-in-super-mario-bros-are-the-same/ http://www.todayifoundout.com/index.php/2010/01/the-clouds-a... I would never want to enter the game development industry but I would love to shadow them for a few weeks. It sounds like a culture of required innovation (and, you know, eternal crunch time).
- dsirijus 13y agoUnstable, underpaid, overworked and extremely competitive market. Also, pinnacle of engineering in both frontend and backend; eats web dev for breakfast.
- pestaa 13y agoWhat about web game dev now? We're almost seeing entire operating systems running in JavaScript. Can we please just keep producing game binaries for the desktop where it actually runs like it's meant to? /rant
- dclowd9901 13y agoI'm currently developing a game using Impact.js, and it's no picnic having to work within the limitations of the browser.
- pestaa 13y agoWhich is sort of my point. There's so much we haven't explored in the compiled world, but we're busy reinventing all the same things in a slow fragile sandbox.
- CodeCube 13y agoWriting JS games is fun :) I've got a little html5 game engine I'm working on: https://github.com/joelmartinez/flatredball-js https://github.com/joelmartinez/flatredball-js Here's a live sample (that you can edit in real time) - http://joelmartinez.github.io/flatredball-js/#rain http://joelmartinez.github.io/flatredball-js/#rain It's not as much about reinventing things in JS, it's about exploring what is possible in that environment. I'm not a huge fan of the "compilers" that just take an executable and compile it to JS ... I'm more going for a "native web" experience.
- chiph 13y agoOn the last page: HR hacks -- Ben Burbank -- When I used to work for a very big company, one of the employees figured out that the best way to advance his career was to write negative performance reviews for as many co-workers as possible. This resulted in him receiving a higher annual staff ranking, which in turn led to larger bonuses and stock grants. It eventually becomes difficult, he told me, because you need to make sure to only review people with different managers, so nobody can catch on to your ruse. My trick for avoiding this cycle was to quit and go work someplace much smaller and awesome Wow. Just wow. So far I have avoided working anywhere with a culture that evil.
- soult 13y agoSee also: "The Cool Cam"[1] on The Daily WTF. 1: http://thedailywtf.com/Articles/Classic-WTF-The-Cool-Cam.aspx http://thedailywtf.com/Articles/Classic-WTF-The-Cool-Cam.asp...
- notjustanymike 13y agoLoved that article. I work as a UI developer, and sometimes it helps to remember that story. A couple CSS3 animations here and there always liven up a boring presentation of new features.
- munificent 13y ago> This resulted in him receiving a higher annual staff ranking, which in turn led to larger bonuses and stock grants. The joke's on that guy, given what EA's stock value and bonuses have been like lately.
- InclinedPlane 13y agoIt's easy to think that you wouldn't, but in practice many companies have stack ranking systems that are effectively more or less equivalent, and encourage employees to game the system rather than just to do good work. But they are cloaked with more layers of bureaucracy which disguise their natures better.
- 13y ago
- frooxie 13y agoThe best one I've heard of, from Ken Demarest: Back on Wing Commander 1 we were getting an exception from our EMM386 memory manager when we exited the game. We'd clear the screen and a single line would print out, something like "EMM386 Memory manager error. Blah blah blah." We had to ship ASAP. So I hex edited the error in the memory manager itself to read "Thank you for playing Wing Commander."
- Bjoern 13y agoAs a big Wing Commander fan this made my day! Thanks..
- hcarvalhoalves 13y agoLooks like many of these tricks steems directly from the lack of good debugging tools (paired with tight deadlines). Is console game development really that bad? The guy debugging with colored screens is a real WTF.
- pandaman 13y agoThis is how you debug parallel real time systems everywhere. No debugger can trace multiple processors (of different architecture and speed) simultaneously.
- munificent 13y ago> Is console game development really that bad? Well, that story was from 11 years ago. Even then, PS2 and XBox devkits weren't bad. Comparable to IDEs at the time, or maybe even a bit more powerful for debugging. > The guy debugging with colored screens is a real WTF. That's essentially the graphics equivalent of printf() debugging. It's all about quickly getting some insight into what's going on. If hacking some colors in there does it, so be it. Note that this was a bug occurring related to handling user input while loading, so it's likely that pausing the game or stepping into a debugger would actually prevent the bug from occurring. In situations like that, you make do with what you can.
- ANTSANTS 13y agoSeconding this, especially the bit about colored screens. Sometimes, you just need a simple way to get some information up on the screen at a minimal cost to runtime performance and code-complexity. I'd find it hard to believe that anyone back in the day didn't use the "change the color of the background by manipulating the hardware color palette during different sections of the frame logic so you can 'see' how long each part is taking" trick.
- shabble 13y agoI'd never heard of it until I came across it mentioned/shown[2] in the [unofficial] C-64 Prince of Persia conversion[1] linked from some HN thread the other day. I've done the Storage Oscilloscope + pin twiddling for profiling embedded stuff though, and for a few short minutes, was convinced I'd invented something brilliant. :) [1] http://popc64.blogspot.co.uk/2011/10/part-one-why-hell-would-anyone-want-to.html http://popc64.blogspot.co.uk/2011/10/part-one-why-hell-would... [2] http://popc64.blogspot.co.uk/2012/01/part-nine-optimizations-for-princess.html http://popc64.blogspot.co.uk/2012/01/part-nine-optimizations...
- joyeuse6701 13y agohmm, buffer overflow exploit via the EULA to patch the game since you shipped without the ability to patch, there's a game dev hack if I've ever heard of one.