Ryandracus Codes Games
Ryandracus Codes Games
  • Видео 19
  • Просмотров 8 858
I Programmed a Full-Motion Video Codec for the Gameboy Advance
AGMV, Adaptive Graphics Motion Video, is a full-motion video codec optimized and tailored to achieve real-time video playback on low-end graphical devices. It utilizes a wide variety of old school compression techniques that favor decoding speed over aggressive compression routines to ensure that even a CPU clocked at 16.78MHz like the Nintendo Gameboy Advance can decode individual frames in real time with CPU usage to spare for other parts of your game!
GitHub repo:
github.com/RyandracusCodesGames/libagmv
Просмотров: 244

Видео

How to Extract Sprites and Textures from a PS1 Game
Просмотров 3,1 тыс.11 месяцев назад
In my never ending fascination with reverse engineering and extracting content from Sony's original PlayStation, I wanted to produce an in-depth tutorial on the topic of extracting image data from the ROMs. Normally, I would describe some of my earlier content as having no focus, little educational value, and being low quality works, but I have poured an unreal amount of time and effort into th...
Reverse Engineering Alien Resurrection from the Original PlayStation
Просмотров 960Год назад
In the fourth installment in my series in which I attempt to reverse engineer Alien: Ressurection, I make great progress on recreating the menu system used in the game. Emulators Used: Avocado No$Psxe ePSXe Resource Extraction Tools: PSXPrev - Great for viewing 3D models. jPSXDec - Great for extracting image, audio, and video files. AnyBurn - Great for extracting the contents of a disc image fi...
Reverse Engineering Alien Resurrection for the Original PlayStation - Part 3
Просмотров 218Год назад
Emulators Used: Avocado No$Psxe ePSXe Resource Extraction Tools: PSXPrev - Great for viewing 3D models. jPSXDec - Great for extracting image, audio, and video files. AnyBurn - Great for extracting the contents of a disc image file, a binary file in our case.
Reverse Engineering Alien Resurrection for the Original PlayStation - Part 2
Просмотров 154Год назад
Emulators Used: Avocado No$Psxe ePSXe Resource Extraction Tools: PSXPrev - Great for viewing 3D models. jPSXDec - Great for extracting image, audio, and video files. AnyBurn - Great for extracting the contents of a disc image file, a binary file in our case.
Reverse Engineering Alien Resurrection for the Original PlayStation
Просмотров 371Год назад
This video marks the beginning of my journey to completely recreate a game for an archaic and abandoned 5th-generation console. However, I have not been left without a very supportive chain of tools and individuals who throughout the two decades since this game and console's release have supplied me with resource extractors, emulators, graphics interceptors, and so much more to allow me, who is...
The beginnings of programming a 2D graphics library in C
Просмотров 110Год назад
While slowly making the transition from a primary Java programmer to a C programmer, I wanted to take on a daring project to begin taking on more advanced C concepts. In the process of taking on a reverse engineering project, I realized that I was accustomed to using the native Java graphics library and that I would need one for C. Instead of borrowing a pre-made library in C, I decided that it...
Devlog #2: Programming a 3D Game Engine in Java: Implementing fog, texture mapping, frame buffers
Просмотров 2592 года назад
In this second dev log, I've gone over some of the fundamental optimizations and additional features that I've implemented into the graphics engine. Frame buffering was a very interesting concept to have learned about, and it shot up my performance quite a few frames per second compared to the costly drawing routine I was using before. I would like to thank the OpenGL community for having some ...
Devlog #1: Programming a 3D Game Engine in Java: Texture mapping, Game objects, File parsing
Просмотров 1972 года назад
In this first Devlog, I covered some of the additions that I've implemented into my software renderer such as texture mapping, custom game objects, and further optimizations of my drawing routines and file parsing. Hopefully, I can live record the next steps of my game engine to give the real experience, but I had such a difficult time programming some of these techniques that it couldn't exact...
Programming a 3D Game Engine in Java PART 2
Просмотров 5022 года назад
In Part 2 of this series to program a 3D game engine to create a clone of the PS1 Silent Hill game, I implemented a method to load an obj file(3D model information) into the engine, and enhanced the drawing of the triangles by utilizing their surface normals to decide if the user should be able to see the triangle. I added an FPS-style camera with keyboard input to move around the world, and I ...
Programming a 3D Game Engine in Java PART 1
Просмотров 2,4 тыс.2 года назад
In Part 1 of this series to program a 3D game engine to create a clone of the PS1 Silent Hill game, I tackled creating a window and class to hold my game loop to render graphics onto the screen. After that, I started coding the fundamental utility functions and classes to begin programming a 3D graphics engine since I require being able to render graphics to a screen before creating the game me...
Recreating and Adding Additional Features to the Java Math Class FULL PART 2
Просмотров 112 года назад
Recreating and Adding Additional Features to the Java Math Class FULL PART 2
Recreating and Adding Additional Features to the Java Math Class
Просмотров 112 года назад
Recreating and Adding Additional Features to the Java Math Class
Beginner Software Engineer Codes Banking Application FULL PART 1
Просмотров 322 года назад
Beginner Software Engineer Codes Banking Application FULL PART 1
Beginner Software Engineer Codes Banking Application FULL PART 2
Просмотров 142 года назад
Beginner Software Engineer Codes Banking Application FULL PART 2
Beginner Software Engineer Codes Banking Application
Просмотров 382 года назад
Beginner Software Engineer Codes Banking Application

Комментарии

  • @ufovhs3854
    @ufovhs3854 День назад

    ty❤

  • @hibiki0506
    @hibiki0506 21 день назад

    Hello, first of all, thanks you for making this tutorial! I have noticed that you didn't have showed what your text files are looking like (at 4:59) when talking about them. I now have tried to load the verts and tris like you showed too from two text files, one containing the vertices and one containing the face informations. Could you provide them to me to see how you got those working in your project?

  • @CryptToneMusic
    @CryptToneMusic Месяц назад

    Do you know how to extract 3D models from PS1 games? I tried an emulator with a 3D screenshot feature but it's not too useful for my purposes. I want to make a fan game and having already posed characters and a small piece of the 3D world isn't super useful

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 Месяц назад

      Extracting 3D models from the majority of PlayStation games is a difficult challenge because many games use their own custom formats. You'll come across some that use Sony's TMD modeling format, but those are rare and usually only existed early in the PlayStation's life. I would recommend using a tool called PSXPrev. It can scan a PlayStation ROM and find all sorts of texture and model data.

  • @vimy-hh8uz
    @vimy-hh8uz Месяц назад

    The hmppph 😂

  • @KaraMooMoo
    @KaraMooMoo Месяц назад

    I've been working on reverse engineering Breath of Fire 3; Been marking a bunch of memory locations that either dictate certain things or I have found that they trigger things when changed. That way I can use Ghirda to hopefully see the inner workings of it's programming once I know which memory locations do what so it makes it easier to pinpoint the program flow. [This game's speedrun has basically no glitches, and I aim to find the first one] However, I noticed that only a few of the textures have been ripped from this game and put online. So as a side project, i wanted to finish that. Thank you for this video!

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 Месяц назад

      Glad that I could be of service! An easier way would be to use tools like JPSXDec and PSXPrev that can scan the ROM for any of Sony's texture or model formats. If the game uses a custom format, then yeah, you'll have to study the disassembly.

  • @brunolaninefotografo726
    @brunolaninefotografo726 Месяц назад

    its possible to extract sprites from Breath of Fire 3 ?

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 Месяц назад

      You would have to use jPSXDec to view the file layout, and it will give you any sprites that it can find in the game if it's formatted as a TIM.

  • @saicher
    @saicher 2 месяца назад

    Not sure if you've done this yet or not, but you can do -Dsun.java2d.opengl=True to use Java2D's built-in hardware acceleration for your BufferedImages and other Java2D stuff for better performance. It's not even close to using the GPU for the calculations but should help a decent bit

  • @saicher
    @saicher 2 месяца назад

    I'm only about 20 minutes in but no OpenGL? Heresy!

  • @slash8297
    @slash8297 2 месяца назад

    Hm, that's a nice random find for me! Always wanted to get my hands on RE3 Epilogue files without text all over it, man I sure hope it's not part of the texture lol

  • @m0xiemarlinspike
    @m0xiemarlinspike 2 месяца назад

    Very cool project. Are you a games developer?

  • @thanosfisherman
    @thanosfisherman 3 месяца назад

    OMG this guy is using Netbeans lel

  • @vipermaseg
    @vipermaseg 3 месяца назад

    So cool! Is there any way to get stereo?

  • @NewtGQ
    @NewtGQ 3 месяца назад

    this is why i love youtube

  • @AndresLopez-ps6xt
    @AndresLopez-ps6xt 3 месяца назад

    Hi man, this is an amazing project, first let me thank you and congratulate you for the incredible effort you made and for sharing it with everyone, I am trying to run your project, but unfortunately I get a series of errors. What do you think is a good solution? main src/agidl_math_utils.o src/agidl_cc_manager.o src/agidl_cc_converter.o src/agidl_cc_mixer.o src/agidl_cc_chromascan.o src/agidl_img_types.o src/agidl_imgp_grayscale.o src/agidl_imgp_rotate.o src/agidl_imgp_scale.o src/agidl_imgp_filter.o src/agidl_imgp_lightmap.o src/agidl_imgp_mirror.o src/agidl_imgp_blend.o src/agidl_imgp_wrap.o src/agidl_imgp_font.o src/agidl_imgp_mipmap.o src/agidl_imgp_halftone.o src/agidl_imgp_impl.o src/agidl_img_bmp.o src/agidl_img_tga.o src/agidl_img_tim.o src/agidl_img_pcx.o src/agidl_img_quake.o src/agidl_img_pvr.o src/agidl_img_gxt.o src/agidl_img_bti.o src/agidl_img_3df.o src/agidl_img_ppm.o src/agidl_img_lbm.o src/agidl_img_converter.o src/agidl_img_search.o src/agidl_img_compression.o src/agidl_img_error.o src/agidl_file_utils.o src/agidl_mmu_utils.o src/agidl_gd_display.o src/agidl_vid_str.o src/agidl_img_export.o src/main.o /usr/bin/ld: src/agidl_cc_manager.o: in function `AGIDL_GammaCorrectColor': agidl_cc_manager.c:(.text+0x118d): undefined reference to `pow' /usr/bin/ld: agidl_cc_manager.c:(.text+0x11b9): undefined reference to `pow' /usr/bin/ld: agidl_cc_manager.c:(.text+0x11e4): undefined reference to `pow' /usr/bin/ld: agidl_cc_manager.c:(.text+0x1282): undefined reference to `pow' /usr/bin/ld: agidl_cc_manager.c:(.text+0x12a7): undefined reference to `pow' /usr/bin/ld: src/agidl_cc_manager.o:agidl_cc_manager.c:(.text+0x12cc): more undefined references to `pow' follow /usr/bin/ld: src/agidl_img_gxt.o: in function `morton': agidl_img_gxt.c:(.text+0xfad): undefined reference to `log' /usr/bin/ld: agidl_img_gxt.c:(.text+0xfce): undefined reference to `log' /usr/bin/ld: agidl_img_gxt.c:(.text+0x10d2): undefined reference to `log' collect2: error: ld returned 1 exit status make: *** [Makefile:139: main] Error 1

    • @AndresLopez-ps6xt
      @AndresLopez-ps6xt 3 месяца назад

      You can solved if you add this flag: LDFLAGS = -lm

  • @stinkee2
    @stinkee2 4 месяца назад

    Dev-C++? In 2023?! I just scanned through the video because it's late where I am but I don't see any RE tools. Are you using any RE software to figure out how the game works on a low level or are you just eyeballing it?

    • @nangld
      @nangld 4 месяца назад

      Yeah. MIPS has really good decompilers and he has access to the builds with debug symbols, allowing to recreate the exact source code structure.

  • @Hiroysuscosas
    @Hiroysuscosas 5 месяцев назад

    I opened a bin file and all the files inside were in .Bin, .8, and .VAB formats.

  • @picturize8047
    @picturize8047 5 месяцев назад

    Very fascinating. But i am stupid so can i just pay you to get some texture files for me?

  • @ABlob
    @ABlob 5 месяцев назад

    Small criticism here: I don't like the improper looping and slightly overpowering Bob-omb Battlefield music spanning across the nearly 23 minute long video. I think I would've preferred no music. I only made it to 7:38 because of that.

  • @DeanMcFarland
    @DeanMcFarland 6 месяцев назад

    Awesome! I'd love to be able to watch things on my GBA without the ever-present high-pitched tone in the background that Meteo puts out. And hopefully this can strike a better balance of quality/size or be able to access multiple files from GBA because rebooting the system to go to file 2 of 5 to watch a 24-minute show I've encoded gets to be kind of a bummer 😅

  • @Yasorry93
    @Yasorry93 6 месяцев назад

    Oh God you're genius and gem, your tutorial is for dummies like me, hope to swallow all your videos😂

  • @Yasorry93
    @Yasorry93 6 месяцев назад

    I gave you like by reading only the description of the video, this is what I search for, now I will watch the video😅

  • @zs500
    @zs500 6 месяцев назад

    This is very cool! Right now I'm trying to figure out how to extract the assets from Alien Trilogy, but the files in it seem extremely strange, I was wondering if AGIDL had any methods to open .bnd files? Or .iff (since they seem to be partially based off of the .iff format)?

  • @EMMIR_KC
    @EMMIR_KC 6 месяцев назад

    Insanely cool achievement!

  • @raven67854
    @raven67854 6 месяцев назад

    Beautiful man.. Nice that it's finally available for everyone

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 6 месяцев назад

      My boyyyyyy. Yeah, I was always gonna release it, but I can be a bit of a perfectionist, and I had some really nasty lingering bugs that kept on popping up as I tested further.

  • @jshadows2009
    @jshadows2009 6 месяцев назад

    I received the error "fatal error C1083: Cannot open include file: 'agidl.h': No such file or directory". I can confirm the file is there. What could be the problem?

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 6 месяцев назад

      What IDE are you using? In my video, I set up my makefile using local directories, so if you're using my makefile, you may need to go put in where your files are specifically in your file system.

    • @Ardatoran
      @Ardatoran 3 месяца назад

      @@ryandracuscodesgames8418 have the same problem. Using cmake --build build and manually starting the exe works even though I still get that error. If I used F5 or the run/debug command (VSCode) then it doesn't build. Pretty weird

  • @giovannigiorgio2262
    @giovannigiorgio2262 6 месяцев назад

    damn u are a programmer not a normal human

  • @Faminesarchive
    @Faminesarchive 7 месяцев назад

    I’m coming up with an error 2 after running make. Src/agidl_math_utils.o not found

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 7 месяцев назад

      Make sure that you have or didn't delete the agidl_math_utils.c source file from your project when compiling. github.com/RyandracusCodesGames/AGIDL/blob/master/src/agidl_math_utils.c

    • @Faminesarchive
      @Faminesarchive 7 месяцев назад

      @@ryandracuscodesgames8418 it’s still in there, thats the odd part. Ended up just breaking the file apart myself.

  • @PurplePotatoBro
    @PurplePotatoBro 8 месяцев назад

    yes

  • @martinbean
    @martinbean 11 месяцев назад

    0:00 Level 1 25:48 Level 2 43:03 Level 3

  •  11 месяцев назад

    Hi. Can you tell me exactly how you run the AGIDL program from a Windows platform? I downloaded the zip file from GitHub, extracted it and I don't know what to do next. In your video I see that the Command Prompt is constantly running, but I don't see a single file from the AGIDL folder with a .cmd extension. Note that I'm not very skilled with these programs, but I've managed to get by with quite a few of them before. Thanks in advance.

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 11 месяцев назад

      You don't need any file with a .cmd extension. As long as you have a compiler, you can set up a program with a makefile, this essentially is a rulebook to the compiler on what you want it to do, and then get the compiler to read and execute the instruction inside of the makefile from your command prompt. I recommend learning how to setup a development environment in C using Code Blocks or Dev C++ to automate the process.

  • @ismaelsilva223
    @ismaelsilva223 11 месяцев назад

    There is a repo for your Alien Ressurection RE project?

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 11 месяцев назад

      Unfortunately, no. I decided to cut my losses with the project as I was fairly new to reverse engineering at the time, and I was never able to get to where I had wanted at that time. If I ever decide to fully re-devote myself to that project, I'll make sure to save my work on GitHub.

  • @mrjaifroid4158
    @mrjaifroid4158 Год назад

    Dude didnt know you had that kind of knowledge!

  • @javadeveloper9442
    @javadeveloper9442 Год назад

    ❤❤❤

  • @razorblade413
    @razorblade413 Год назад

    this looks very promising. pelase continue with your project inspired by silent hill. Subscribed!

  • @leoreleases
    @leoreleases 2 года назад

    Hello man, I'm very interested on how texture mapping works, can you send me a copy of your source code? I'll try to merge you engine with my camera system (video on my channel) :D

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 2 года назад

      I recommend watching this video to understand texture mapping. The source code alone isn't sufficient to get a grasp of the concepts. I hope you're able to implement this! If you have any questions, join the OneLoneCoder discord from the link in this video! ruclips.net/video/nBzCS-Y0FcY/видео.html

    • @leoreleases
      @leoreleases 2 года назад

      @@ryandracuscodesgames8418 I'll try later, thanks for the reply

    • @ryandracuscodesgames8418
      @ryandracuscodesgames8418 2 года назад

      @@leoreleases Np.

  • @KweenAhlem
    @KweenAhlem 2 года назад

    😍😍😍😍

  • @MrOcean-nx6vu
    @MrOcean-nx6vu 2 года назад

    W Video, W Engine, W Existence