[HN Gopher] How I failed to make a game: Raycasting on the GBA
       ___________________________________________________________________
        
       How I failed to make a game: Raycasting on the GBA
        
       Author : mcejp
       Score  : 64 points
       Date   : 2024-10-15 22:53 UTC (2 days ago)
        
 (HTM) web link (mcejp.github.io)
 (TXT) w3m dump (mcejp.github.io)
        
       | nsxwolf wrote:
       | It's funny to me when people apologize for not being artists when
       | they've produced actually nice looking art. It's like a host
       | saying "excuse the mess" when entering their nearly immaculate
       | home.
       | 
       | I wish I had kept some of my game development experiments because
       | then I could show you what actual bad art looks like!
        
         | misterflibble wrote:
         | I was thinking the same thing and actually thought they should
         | continue building it. It looks like a great game!
        
         | mcejp wrote:
         | I should have included a disclaimer -- I agree that textures
         | and sprites are excellent, but they come from asset packs (for
         | this same reason I cannot redistribute them in the source
         | release). Only the crossbow placeholder is self-made.
         | 
         | I don't have any issue with paid asset packs, I would gladly
         | build the entire game with third-party art, but there is only
         | so much of it in the necessary style, resolution and quality.
        
       | timenotwasted wrote:
       | As someone who has tried and failed at many points throughout the
       | years at building a game I couldn't agree more with "Build a
       | game, not a game engine" it's hard not to get sucked into the
       | game engine black hole though.
        
         | Borg3 wrote:
         | Its depends what you like. Usually programmers focus more on
         | game engine part, while designers on the other. And thats why
         | is hard to make game solo :)
         | 
         | Galaxial developer fall into that hole too. Too bad, because
         | alphas looks absolutly super great.
        
       | RankingMember wrote:
       | > Don't get stuck on assets. Make a quick placeholder when
       | necessary
       | 
       | Need this tattooed in my ADHD brain. Assets are such a rabbithole
        
       | Tyr42 wrote:
       | TONC is amazing. I learned so much from it.
        
       | eig wrote:
       | Shockingly enough it is actually possible to do decent ray
       | casting and much more on the GBA despite the incredibly minimal
       | compute budget.
       | 
       | Joshua Barretto has been working on a GBA port of Super Mario 64
       | with entire 3D levels, characters, and movements. In my opinion
       | just incredible work:
       | 
       | https://youtu.be/9mUsgJ-HiDM
        
         | chpatrick wrote:
         | The one that blew my mind as a kid was Need for speed
         | underground:
         | 
         | https://youtu.be/36U2xN-196c?si=T7xSCeKxss_at3S0
        
           | dmonitor wrote:
           | I distinctly remember Spider-Man 2 on GBA having a 3D
           | overworld. It was my first introduction to the concept of
           | "low framerate" in a videogame haha. Incredible what people
           | were capable of doing with the hardware back then.
        
         | p1necone wrote:
         | There was actually a fully 3d platformer released for the
         | system during it's production run, Asterix & Obelix XXL:
         | https://www.youtube.com/watch?v=b0pknb4ghUA
        
       | Shawnecy wrote:
       | > What didn't work
       | 
       | > Content. Brace for an obvious statement: it is one thing to
       | imagine a grand, Daggerfall-scale game in your head, and a
       | completely different thing to actually start building the pieces
       | that make it up.
       | 
       | This is what always kills it for me. It's not so much that there
       | aren't good off-the-shelf content packs, its that unique gameplay
       | ideas with unique visualizations don't have ready made assets.
       | Even for a simple game like pong, if you want to do something
       | graphically unique with it (make the paddle shake, charge up, or
       | have a power bar embedded in it that fills up whatever), then you
       | better be prepared to become an artist or find someone who will
       | be your game's artist.
       | 
       | And also like the article points out, the latter is fine if
       | you're looking to commercialize it, but it doesn't seem like
       | there are many artists offering their skills for free games made
       | casually in a developer's spare time. It seems there's a critical
       | threshold of game development "seriousness" that needs to be
       | committed to by all involved to make it worth the time and effort
       | of others.
        
       | favorited wrote:
       | Tangentially related, I've been extremely impressed following
       | 3DSage's work. I've only dipped my toe into GBA programming
       | ("hello world"-level stuff), and the fact that they built a real-
       | time 3D level editor is mind-blowing to me.
       | 
       | https://www.youtube.com/watch?v=msM_oYqUMT0
        
       | bhaney wrote:
       | From my perspective, this is a great outcome for a game-making
       | attempt. There's no shortage of fun games coming out lately - far
       | more than I have time to play. But these days they're largely
       | made by amateur non-programmer indie devs tooling around in Unity
       | or similar, and have no technical merit despite being very fun.
       | What I'm lacking these days are fun technical accomplishments to
       | read about in the gaming space, like a GBA raycaster.
       | 
       | No offense meant to the author at all, but I probably wouldn't
       | have played this game even if it were fleshed out and finished.
       | Very glad I got to read about some of the technical decisions
       | that went into making it and poke through the code though.
        
       | rspeele wrote:
       | This reminds me of playing Ecks vs. Sever on the GBA. A raycasted
       | 2.5d doomlike game based on a crappy movie. It was pretty
       | impressive for a GBA game, and it ran well, never stuttering. It
       | had some pretty cool levels, I remember one where you fight
       | through a hotel using IR night vision. It also had a sequel which
       | added a guided missile launcher and some crazy Robocop ED-209
       | type enemies. As I recall both had multiplayer deathmatch but
       | good luck finding a friend who also had the game and a link
       | cable.
       | 
       | One thing I took full advantage of as a kid was that both games
       | had some cheesy behavior with the sniper rifle scope
       | implementation.
       | 
       | In the first game, while zoomed in with the scope you could use
       | the D-pad to move your view a few clicks left/right/up/down to
       | refine your aim. However, this was not really _turning_ you, it
       | acted more like you were a ghost side-stepping and poking his
       | head up and down. So, you could crouch behind a box, scope in on
       | the box, then D-pad up to look over it and shoot an enemy mob who
       | still couldn 't see your character and wouldn't engage you. Or
       | stand just slightly behind a corner, scope in, and D-pad right to
       | shoot around it.
       | 
       | The last level of the first game involves fighting a boss
       | character who has a powerful weapon and a ton of HP, and is
       | surrounded by his infinitely-respawning goons. There's no way kid
       | me would've beaten it without abusing this trick, which reduces
       | the challenge to avoiding his attacks while fighting enough
       | lower-tier enemies to obtain their precious sniper rifle ammo.
       | 
       | In the second game, the D-pad moves a crosshair around a fixed
       | viewport rather than shifting the whole viewport around. So the
       | trick doesn't work exactly the same way. If you zoomed in staring
       | at some obstacle right in front of you, you couldn't move the
       | viewport to see around it like you could before.
       | 
       | However... when you zoomed in, it worked like you were a ghost
       | _moving forward_ in space, instead of narrowing your FOV from
       | your original vantage point. So you 'd instead stand about 10
       | feet back from a corner, zoom in past the edge, and voila: you
       | were able to see more around the corner just as if you'd walked
       | up next to it. Sure enough, you could slide the crosshair over
       | and snipe the enemies now visible in your viewport despite your
       | player character still being safely 10 feet back around the
       | corner.
       | 
       | Good times. They were still great GBA games even with this
       | exploit, it just made the (scarce) sniper rifle ammo even more
       | valuable to the player.
        
       | hrydgard wrote:
       | Not sure if you care at this point, given that you stopped
       | working on project, but there's a better way to find the ray
       | direction for each column than using sin/cos for every one, which
       | will also get rid of the slightly warped look:
       | 
       | Calculate the two vectors from the camera at the very left and
       | right of the screen (using your fov angles and sin/cos, that's
       | fine). Then, to find the ray direction vectors for each column,
       | interpolate linearly between your left and right direction
       | vectors, and possibly normalize the resulting vectors if your ray
       | walking algorithm requires it.
       | 
       | This will create a perspective that integrates tightly with
       | sprites that you 3D project the usual way, and lines will stay
       | straight lines.
        
       | marci wrote:
       | Might be of interest to those of you that ended up here: PS1 Tomb
       | Raider ported to the GBA, Sega 32X and other platform with the
       | OpenLara project
       | 
       | https://www.youtube.com/watch?v=igEUjEci-eg
       | 
       | They even made a web demo. I've been replaying the whole game
       | with my GoG.com Tomb Raider copy.
       | 
       | http://xproger.info/projects/OpenLara/
        
       ___________________________________________________________________
       (page generated 2024-10-17 23:00 UTC)