The PokéCommunity Forums Fan Games ROM Hacking Discussion
Hackathon - pokeruby & pokeeemerald

ROM Hacking Discussion General discussions about all things fan games. Topics relating to both ROM hacks and custom games are welcome here. Posting links to ROMs is illegal and is not tolerated anywhere on the forum.

Reply
 
Thread Tools
  #1    
Old 3 Weeks Ago (10:44 AM). Edited 2 Weeks Ago by ShantyTown.
ShantyTown's Avatar
ShantyTown ShantyTown is offline
     
    Join Date: Aug 2013
    Gender: Male
    Posts: 324
    Pokeruby & Pokeemerald Hackathon
    Dates: Friday, November 2nd - Friday, November 9th

    Discussion/support can be found in the pret Discord server (https://discord.gg/6EuWgX9)
    What is it?
    A hackathon is an event, typically lasting several days, in which a large number of people meet to engage in collaborative computer programming.

    The purpose of this hackathon is for people to get their feet wet with ROM hacking using the Gen 3 decompilation projects. It will last 7 days. Participants may work independently or with a group of people.

    Winners will be determined at the end of the event for several categories:
    1. Most fun to play
    2. Best technical feature
    3. Best graphical appeal
    The prizes are the knowledge and experience gained from participating.
    What is the theme?
    The theme of this hackathon is Pokémon Gym. It's up to you what you want to do with that theme. For example, you could redesign an existing Gym, create a brand new Gym, create a Gym rematch system, create a Gym that adapts to your current team, etc...

    The theme is only there to help guide ideas. It's perfectly acceptable to do something that doesn't adhere to the theme.
    How do I enter?
    Reply to this post stating that you're entering as an individual or with a team, or direct message user @ShantyTown in the PC Discord server.
    How do I submit my project?
    Projects should be hosted on GitHub. An easy way to do this is to "fork" one of the three GitHub repositories linked below. If you've never used Git or GitHub before, take 30 minutes to go through GitHub's introduction guides:
    1. GitHub - Hello World
    2. GitHub - Fork a Repository
    Reply to this post with a link to the code and patch (optional), or direct message user @ShantyTown#6258 in the PC Discord server.
    How do I start?
    A pokeruby hackathon template project has been created for convenience. Participants may simply use the regular pokeruby or pokeemerald projects, if desired. Both projects are found on GitHub and can be forked (see above):
    1. pokeruby hackathon template
    2. pokeruby
    3. pokeemerald
    Follow the exact instructions in INSTALL.md to setup your project. Please setup your project before the hackathon starts, in case you run into any installation issues. If you run into issues, you can find support in the Discord server.
    How do I edit the game?
    There are no tutorials for the decompilation projects at this time. Remember that every time you make a modification to the code or data, the ROM needs to be re-compiled using "make -j4", just like when you originally setup pokeruby or pokeemerald by following the instructions in "INSTALL.md".
    Map/Tileset Editing
    You can edit maps using a program called porymap. It supports most things that AdvanceMap supports, such as map editing, tileset editing, event editing, and connection editing. It can be found on GitHub in the Releases tab.
    Script Editing
    If you know how to script with XSE, then you already know how to script with pokeruby and pokeemerald. Scripts can be edited with any text editor. The command names are similar to XSE's, but there are some differences. The full list of commands can be found in data/script_cmd_table.inc, and more details about the commands are found in include/macros/event.inc.

    Map scripts are found inside individual map directories. For example, data/maps/LittleRootTown/scripts.inc. The text for the scripts are found right next to the scripts in data/maps/LittleRootTown/text.inc. Note that it's valid to simply put text in the same file as scripts.

    Once you've written a script, you would copy paste the script's label into the corresponding event in porymap (see map editing above).
    Graphics Editing
    The decompilation projects use indexed .png image files for graphics. To modify existing graphics, you would open the image in an image editor, such as GraphicsGale or Gimp, make modifications, and save over the original image. For many graphics, the palettes are generated from the indexed .png file itself. Other graphics share palettes, and you would need to modify the `.pal` file itself using a text editor, which is a very simple format containing a list RGB (red, green, blue) values.
    Data/Text Editing
    All of the data in the game can be edited using a text editor. Some data is found in the data/ directory, whereas other data is found in src/data/. If there is some data you can't find after searching, just ask someone.
    Common Issues
    When editing text, be careful when using the apostrophe character (') in words like "won't" or "let's". The correct character to use for that is . For example, "won’t" or "let’s". You can simply copy-paste that character from here or the existing texts in project. Using a regular apostrophe character (') will cause an error like this:
    Code:
    data/maps/LittlerootTown/text.inc:4: error: unknown character U+27
    make: *** [Makefile:157: build/ruby/data/event_scripts.o] Error 1
    -----

    When adding a brand new .c file to the project, you will need to add new content to ld_script.txt. This is the linker script which specifies the order in which files will appear in the built ROM. If you're adding .c code, you must add an entry like this right after the other lines in the .text section:
    Code:
    src/my_new_file.o(.text);
    If you're adding any readonly data (data that's prefaced with const) in the new .c file, you would need to add a line like this in the .rodata section:
    Code:
    src/my_new_file.o(.rodata);
    An example of .rodata would be things like this:
    Code:
    static const u16 sShortStreakPrizes[] =
    {
        ITEM_HP_UP,
        ITEM_PROTEIN,
        ITEM_IRON,
        ITEM_CALCIUM,
        ITEM_CARBOS,
        ITEM_ZINC,
    };
    
    ...
    
    const struct WildPokemon PetalburgCity_WaterMons [] =
    {
        {20, 30, SPECIES_MARILL},
        {10, 20, SPECIES_MARILL},
        {30, 35, SPECIES_MARILL},
        {5, 10, SPECIES_MARILL},
        {5, 10, SPECIES_MARILL},
    };
    __________________
    Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
    Reply With Quote
      #2    
    Old 3 Weeks Ago (11:37 AM). Edited 3 Weeks Ago by Diegoisawesome.
    Diegoisawesome's Avatar
    Diegoisawesome Diegoisawesome is offline
    Oh god the bees
     
    Join Date: Dec 2007
    Location: :noitacoL
    Age: 21
    Gender: Male
    Nature: Naive
    Posts: 1,049
    I'm excited to see what comes out of this. I'd enter but I'm just too busy at the moment...
    __________________


    My other resources:
    My Website
    diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
    diegoisawesome's Miscellaneous Finds
    The Ruins of Alph Puzzles
    Diego's Miscellaneous Patches
    GBA Intro Manager
    The Secret Sauce: Triple-Layer Tiles
    Reply With Quote
      #3    
    Old 3 Weeks Ago (11:47 AM).
    garak's Avatar
    garak garak is offline
       
      Join Date: Jun 2018
      Posts: 1
      sign me up!!! (solo)
      Reply With Quote
        #4    
      Old 3 Weeks Ago (4:12 PM). Edited 3 Weeks Ago by Lunos.
      Lunos's Avatar
      Lunos Lunos is offline
      Random Uruguayan User
         
        Join Date: Oct 2008
        Location: Montevideo (Uruguay)
        Gender: Male
        Nature: Lonely
        Posts: 1,661
        I can't wait to see what comes out of this. Not only can this serve to show everyone the power of the decomps, since everything will be open source, that means anyone would be able to use the stuff made for this competition if they so wanted to (giving credits where it's due, obviously).

        Good luck everyone, have fun!

        EDIT: Just to clarify though, I'm not going to enter this competition. I don't feel like I could make something that is good enough, and I'm focused on my own base anyway.
        __________________
        Reply With Quote
          #5    
        Old 3 Weeks Ago (3:16 PM).
        Mantager's Avatar
        Mantager Mantager is offline
           
          Join Date: Aug 2015
          Gender: Male
          Posts: 57
          Sure, I'll enter. I'm looking forward to seeing what everyone comes up with!
          Reply With Quote
            #6    
          Old 2 Weeks Ago (5:31 PM).
          Fontbane's Avatar
          Fontbane Fontbane is offline
             
            Join Date: Aug 2017
            Posts: 1
            Count me in! Gyms are one of my favorite things in Pokemon, so I'm excited to see what we get from this!
            Reply With Quote
              #7    
            Old 2 Weeks Ago (3:39 PM).
            ShantyTown's Avatar
            ShantyTown ShantyTown is offline
               
              Join Date: Aug 2013
              Gender: Male
              Posts: 324
              Reminder that the hackathon starts in 2 days, and there's still time to join. The current participants are:
              1. ShantyTown
              2. luckytyphlosion
              3. Slawter
              4. Garak
              5. petuuuhhhhh
              6. Mantager
              7. Hyperdriveguy
              8. Fontbane
              9. Deokishisu
              10. Ketsuban
              __________________
              Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
              Reply With Quote
                #8    
              Old 2 Weeks Ago (9:41 AM).
              susieqt susieqt is online now
                 
                Join Date: Aug 2018
                Posts: 1
                i guess i'll try to join it, idk if i'll finish anything and i don't expect to win or make anything serious/decent but i don't have much else to do (also i think this is my first actual post on here hi hello)

                also a few things to note: porymap crashes immediately if you try to load the pokeruby hackathon template (and then crashes on startup until you remove it from porymap's recent_projects registry entry) and gba-music-studio can't load the rom it spits out, so anyone else using it should probably keep a regular pokeruby/pokeemerald instance as well if you plan to use those
                Reply With Quote
                  #9    
                Old 2 Weeks Ago (5:16 PM).
                ShantyTown's Avatar
                ShantyTown ShantyTown is offline
                   
                  Join Date: Aug 2013
                  Gender: Male
                  Posts: 324
                  Quote:
                  Originally Posted by susieqt View Post
                  i guess i'll try to join it, idk if i'll finish anything and i don't expect to win or make anything serious/decent but i don't have much else to do (also i think this is my first actual post on here hi hello)

                  also a few things to note: porymap crashes immediately if you try to load the pokeruby hackathon template (and then crashes on startup until you remove it from porymap's recent_projects registry entry) and gba-music-studio can't load the rom it spits out, so anyone else using it should probably keep a regular pokeruby/pokeemerald instance as well if you plan to use those
                  The porymap issue should be resolved now, as I merged in the latest pokeruby/master code into the hackathon template. If you want to use GBA Music Studio with the hackathon template (or any modified version of pokeruby), you will need to modify GBA Music Studio's configuration file to have the correct song table address for the modified ROM.
                  __________________
                  Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
                  Reply With Quote
                    #10    
                  Old 2 Weeks Ago (7:12 PM).
                  ShantyTown's Avatar
                  ShantyTown ShantyTown is offline
                     
                    Join Date: Aug 2013
                    Gender: Male
                    Posts: 324
                    The hackathon has now started. Visit the #pret Discord server (https://discord.gg/6EuWgX9) for any hackathon-related discussion/support.
                    __________________
                    Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
                    Reply With Quote
                      #11    
                    Old 2 Weeks Ago (1:03 PM).
                    DizzyEgg's Avatar
                    DizzyEgg DizzyEgg is offline
                       
                      Join Date: Feb 2014
                      Location: Poland
                      Age: 21
                      Gender: Male
                      Nature: Quiet
                      Posts: 750
                      I'd like to sign in too.
                      Reply With Quote
                        #12    
                      Old 1 Week Ago (9:38 AM).
                      ShantyTown's Avatar
                      ShantyTown ShantyTown is offline
                         
                        Join Date: Aug 2013
                        Gender: Male
                        Posts: 324
                        Only 2 days left until the hackathon is finished! I'll be posting the results and summary on Saturday.
                        __________________
                        Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
                        Reply With Quote
                          #13    
                        Old 1 Week Ago (4:04 AM).
                        slawter666's Avatar
                        slawter666 slawter666 is offline
                           
                          Join Date: Sep 2008
                          Posts: 91
                          Here's my entry for the hackathon: https://github.com/Slawter666/pokeemerald/tree/surfable
                          __________________
                          The Slawterhouse: Pixelated
                          Costume Menu for pokeemerald
                          Playable Character Community Project
                          Unique surfing overworlds for pokeemerald
                          Reply With Quote
                            #14    
                          Old 5 Days Ago (4:01 AM).
                          MegaMawile999's Avatar
                          MegaMawile999 MegaMawile999 is offline
                             
                            Join Date: Aug 2018
                            Posts: 5
                            Quote:
                            Originally Posted by ShantyTown View Post
                            Only 2 days left until the hackathon is finished! I'll be posting the results and summary on Saturday.
                            And the winner is...?
                            Reply With Quote
                              #15    
                            Old 3 Days Ago (10:52 AM). Edited 3 Days Ago by ShantyTown.
                            ShantyTown's Avatar
                            ShantyTown ShantyTown is offline
                               
                              Join Date: Aug 2013
                              Gender: Male
                              Posts: 324
                              The hackathon is finished, and we received 5 total entries (not bad!). There were some very interesting and impressive projects, especially given the short time limit. Here are the summaries listed in no particular order:

                              1. susieqt

                              Source code: https://github.com/susieqt/pokeruby-hackathon

                              This project was a Pokemon/Mother crossover. After an ultra wormhole opened, the Mother universe spilled into Hoenn. There is a surprising amount of content in this project--custom tiles, maps, Mother soundtrack, new Pokemon, font, and a spooky graveyard. Bravo! Hopefully this project is just starting--it would be neat to see complete playable experience in this world.



                              2. luckytyphlosion

                              Source code: https://github.com/luckytyphlosion/pokeruby-hackathon

                              This project was a recreation of the Elite 17, the final challenge of popular ROM hack Ruby Destiny: Life of Guardians. Rather than giving the player a set Pokemon team, the player can buy Pokemon and items from the Mart before the Elite 17 challenge starts. Rare and higher-leveled Pokemon cost more money, so the player has to be smart about how his budget is spent. Only first-stage Pokemon may be bought. A new item called a "Level Stone" can be bought from the Mart to evolve Pokemon that meet their evolution level requirements. The battle theme of the Elite 17 is also ripped from Ruby Destiny.



                              3. garak

                              Source code: https://github.com/garakmon/pokeruby-hackathon

                              This project was very graphically-focused, and it puts the player in the "Pokemon Fall Festival". The custom tiles are very nice to look at and walk around in. There is even an old lady whose head is popping out of a pumpkin on the ground. The player is given some tickets, which can be spent on some level 100 pokemon. There is a Gym that can be challenged, but it's not quite complete. Garak was working on some walls that reflect like mirrors, but it's still a work in progress, as seen in the screenshot below.



                              4. slawter

                              Source code: https://github.com/Slawter666/pokeemerald/tree/surfable

                              This one deviated from the Gym theme, but it's very cool nonetheless. Slawter did an engine modification that allows unique surfing overworld sprites. This allows the player to ride on the Pokemon that's actually using Surf, rather than a boring blue blob. Watch the video below to see it in action.




                              5. shantytown

                              Source code: https://github.com/huderlem/pokeruby-hackathon/tree/myhack

                              This project experimented with randomly-generated maps. Every time the player enters the Gym, its layout is randomly generated in a maze-like fashion. There are switches scattered around the Gym that cause the Gym's maze to be regenerated when they are stepped on. The location of the Gym trainers are randomly placed, too. As a cool bonus effect, the player shoots out stars when walking around.




                              5. egg (Honorable Mention)

                              Source code: https://github.com/DizzyEggg/pokeemerald/tree/battle_engine_v2

                              This wasn't technically part of the hackathon, but it deserves an honorable mention. Egg has been working on an improved battle engine for pokeemerald. The list of features is very large, and it brings many of the future games' features into it, including mega evolution. Keep an eye out for a thread about it in the near future.




                              Winners
                              I said there would be winners, so here they are:

                              Most fun to play: susieqt's Mother crossover
                              Best technical feature: luckythphlosion's custom Pokemon Mart menu
                              Best graphical appeal: garak's Fall Festival map/tiles

                              Thanks to all the participants, and hopefully the next hackathon will be even better!
                              __________________
                              Some ROM hacks of mine: Pokémon Maize, Red Battle Factory, Thief Red, Thief Ruby
                              Reply With Quote
                              Reply

                              Quick Reply

                              Join the conversation!

                              Create an account to post a reply in this thread, participate in other discussions, and more!

                              Create a PokéCommunity Account
                              Thread Tools

                              Posting Rules
                              You may not post new threads
                              You may not post replies
                              You may not post attachments
                              You may not edit your posts

                              BB code is On
                              Smilies are On
                              [IMG] code is On
                              HTML code is Off

                              Forum Jump


                              All times are GMT -8. The time now is 4:06 PM.