As a counterpoint, the Quake -> Quake 2 -> Quake 3 original open source releases are remarkably clean. Quake 2 in particular is very minimalist and the game was developed in something like 10 months. Granted, it's not really fair to compare anyone to the id software team of the time. But the requirements of the Quake series, basically a BSP renderer that is easy to modify and extend, probably forces it to be extensib…
Many games are held together by duct tape
111–120 of 155 posts
Re: Many games are held together by duct tape
#112Ex-Game dev here: shipped many titles on console (AAA and some zzz titles). When comes time to shipping a game, the crunches, pressure and overall stress is through the roof. Most everything goes at that point: duct tape, hot glue, bobby pins and toad spit. And if you disagree with management over these 'not so best practices' (in order to ship faster...) they will find someone to do it and you could be out of a job.…
Re: Many games are held together by duct tape
#113Re: Many games are held together by duct tape
#114As a counterpoint, the Quake -> Quake 2 -> Quake 3 original open source releases are remarkably clean. Quake 2 in particular is very minimalist and the game was developed in something like 10 months. Granted, it's not really fair to compare anyone to the id software team of the time. But the requirements of the Quake series, basically a BSP renderer that is easy to modify and extend, probably forces it to be extensib…
Engines (Doom, Quake) need to be much cleaner and more consistent than (one-off) games.
The engines made for the games were indeed intended to be one offs.
Reuse of design and formats does not imply reuse of code.
This is very different from new "universal" engines like Unity, Unreal Engine, Ogre, Frostbite, Dawn Engine or Unigine. Those were designed to be separate from games.
Re: Many games are held together by duct tape
#115Earlier quoted context omitted.
> and that if you wanted to increase the FPS you could plug in more mice I am having trouble imagining what sort of event handling bs this might be taking advantage of... I am too vanilla a coder at this point in my life.
I'm not a game dev, but rough guess: the framerate is artificially limited to some 'sane' range by the equivalent of a short sleep() which is cancelled by an input event. More devices, more events, more chance to prompt the next frame early?
Does not work with pushing random keys only because those are buffered separately.
Re: Many games are held together by duct tape
#116Re: Many games are held together by duct tape
#117Earlier quoted context omitted.
Could you take pride in rewriting the code? Maybe as an open source adventure with others? Going through the shame of showing it off is more valuable on its own merits than leaving it as is, regardless of the code quality or social outcomes.
I believe that as code "writers", we tend to have a bias that code should well-written. And I don't think it is that important. If you are working in a global company with a distributed workforce, well-written code is mandatory because it is a way to communicate and to maintain the code in the long term. Even more so if this is a critical code that could kill. But if you started as a lone developer for a game hobby p…
Of course if you avoid that while still writing a mess, it's mostly fine.
Re: Many games are held together by duct tape
#118Earlier quoted context omitted.
Engines (Doom, Quake) need to be much cleaner and more consistent than (one-off) games.
Mind you both reused many ideas from previous ones. Doom reused Wolfenstein 3D, Quake reused pieces from Doom. (WAD format for example.) The engines made for the games were indeed intended to be one offs. Reuse of design and formats does not imply reuse of code. This is very different from new "universal" engines like Unity, Unreal Engine, Ogre, Frostbite, Dawn Engine or Unigine. Those were designed to be separate fr…
Re: Many games are held together by duct tape
#119Is this any different from any other type of software? What is this "ordinary" software that doesn't require different disciplines, or have timelines?
Re: Many games are held together by duct tape
#120Wow a 3440 line switch statement for processing game state! https://github.com/TerryCavanagh/VVVVVV/blob/master/desktop_...
4 KLOC for big chunk of game logic is rather frugal.
The main problems that are plain is not enough names (for states, flags and triggers) and not having split off text to some central repository. (Making translation easier.)
Orthodox version of the state machine would have code execute while you're changing states rather than in any given state.
The big switch statement is a good design with mediocre implementation. (Compare with Sierra's AGI LOGIC code: https://wiki.scummvm.org/index.php?title=AGI/Specifications/... )