Jump to content

RogerBidon

Member
  • Posts

    106
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    0%

Posts posted by RogerBidon

  1. There is another way that was not developped: meeting the dev. It often happens at events, we meet a dev that we do not know and the conversation starts. It is a great way to discover a project, while it cannot happen every day. For me social media are in the same category: sometimes we just happen to discover somebody by chatting with them.

    Appart from direct interaction, I love any form of written material. Be it a blog, a book, a finished "ask me anything", a post mortem, some found documents (GTA's GDD is priceless),... What I love in these is that they stay available for years, so some gems tends to pop out naturally and also, when you search for an obscure game you love, you can find it.

    I do not like videos. There is multiple problems with that format: first is that it is not comfortable to watch in public transportation, where I do most of my casual internet browsing. Second, there is the language: the vast majority of stuff in in english, if I can read it pretty well, my oral skill is lacking. The format change wildly from creator to creator: long form talks are a pain to pause, keep on a mobile tab, then come back to it (while writed material is made for that), short 5 minutes videos with music, jokes and FX often do not even cover the basics and are disapointing.

    • Like 1
  2. Originally posted on May 8, 2019

    Technical highlight: Beginning the work on v2, rethinking positions

    All Super Tilt Bro. cartridges are now shipped. It is time to begin to work on the second version. It all begins with in-depth refactoring. Let's fix version 1's shortcomings before making a better game. We will begin by changing the way we handle positions.

    The NES generates 256x240 pictures. Nice! We can describe any on-screen position with two bytes: one 8-bits unsigned integer for the horizontal component and another for the vertical component. In Super Tilt Bro. v1, if you go out of screen, you die. Technically, you will always be on screen, so this simple "one byte per component" system is enough.

    Some objects, like characters, need more flexibility. In this case, we can add a second byte, the sub-pixel position. It becomes a fixed point number, allowing to have finer-grained positions for this object. It is especially useful when it comes to movement speed, we can easily move such an object by 1.5 pixels per frame.

    bBx1tu1.png

    This system works well, but has two shortcomings.

    The first is technical, and we can live with it: signed and unsigned integers don't mix well. Indeed, when we have two on-screen points, subtracting one by another and you get a vector... At least that's what my math teachers told me. Actually, with this system, we subtract two unsigned integers. It is flawless while the result is positive. When the result is negative, since we work with unsigned numbers, we overflow. There is always a path to work with it, but sometimes it is a pain.

    The second problem has no workaround, Super Tilt Bro. v1 was released with it: allowing the character to go slightly off-screen before dying makes the game more pleasant. With this positioning system everywhere in the game (characters, hitboxes, platforms, particles,...), we cannot simply implement the concept of "out of screen" without reworking a good part of the engine. Super Tilt Bro. v1 just does not understand the idea of "out of screen". By the way, in its logic, we do not die "when we go out of screen" (it is meaningless), but "when we are moving to the left and finish on the right of the screen".

    To solve these shortcomings, the positioning system is rethought. Instead of storing a component in an unsigned byte, a two-bytes signed integer is used. The most significant byte is the screen byte, the least significant one is the pixel byte. Of course, objects needing a fine-grained position can add a sub-pixel byte.

    RzRrFHY.png

    This new system avoids mixing signed and unsigned integers and opens the way to let characters go off-screen. That's nice. Moreover, we have lots of space. One byte for the screen, there is 256 possible screens. If, one day, we want to add an adventure mode based on scrolling, it would be feasible.

    This change comes at a cost. Storing positions requires more RAM while computing it puts more load on the CPU. Happily for CPU budget, there was a big optimization done while refactoring animations. It is much more impacting than some 16 bits additions.

    Most of it was done during a mini marathon. You will find the resulting ROM here: http://supertiltbro.wontfix.it/files/preview/Super_Tilt_Bro_marathon(E).nes

    Do not hesitate to give me feedback about how it impacts the game's feel, or some bug reports.

    While I was doing this marathon, I posted my daily progress on Twitter: https://twitter.com/RogerBidon/status/1122047017444880384 Tell me if this kind of report is interesting for you. I will surely do it again, I loved it.

    • Like 1
  3. You got it. V1 runs on NROM boards, because it was my first homebrew and there was enough to learn without worrying about bank-switching.

    V2 runs on UNROM512, but the mapper may change one day. Don't ask why, I cannot say that it is because I want to port to a still non-existing internet-enabled mapper. It would sound crazy.

    • Like 1
  4. Did you notice that all Nintendo systems coming after the N64 have their own version of Super Smash Bros? It is a shame that this (wonderful) experience is not ported to earlier systems!

    Super Tilt Bro. for NES is my humble attempt at filling this void. It adapts this fun and nervous gameplay to the NES and its eight buttons controller.

    You can freely download the ROM, play in a browser or hack the source.

     

    It now has an ONLINE mode! Short story: Wi-Fi chipset in the cart. Long story: here.

    To find an online opponent, join the discord.

     

    tq0sfld-kickstarter-logo-green.png.954e59f44bad6216dbd1fc36223e31f6.png

    Kickstarter for the cart is comming soon 👌

     

    Here is the (old and dated) trailer:

    In this topic there will be different kinds of updates:

    • Technical highlights: small articles about technical challenges of developing Super Tilt Bro. and how they are solved.
    • Patch notes: when the game receives an update, details are available right here.
    • News: Less often, I may announce something big (like a new physical edition)
    • Like 10
×
×
  • Create New...