Porting Pokemon Emerald to Fuze
-
Ok, Cant beleive its been a year lol, but after some on-and-off coding, I finally made all the pokemon's sprites, movesets, stat mechanics and the audio engine!
-
@posingsaucer251 wow! I can't think of all of the effort it takes to make all of the pokemon, including movesets (and all of the art),
-
@heyomayo Yeah it's kind of tedious too. I took a year to do this because I have been working on it on-and-off.
-
Becuase I lacked updates for a year, let me tell you how I managed to do this.
First, I wrote a python script on my computer to convert an image into the format that is use to display the sprites on Fuze. For example, the code for a 2x2 white square.
square =[2,2,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,]for my image displaying code 255,255,255,0 means that the pixel the displayer is on will be white, and with no transparency. The first 2 numbers are the resolution of the image, which in this case is 2x2. Now with the pokemon in Pokemon emerald being I think 64x64 pixels big, (I am in school right now so I can't check), that means that I have to type in over 12,290 numbers per pokemon. With over 386 pokemon, that equals to over 4,743,940 numbers in total for all the pokemon combined. And Thats just the pokemon, and not the tile sheets. I noticed that, and becuase I didn't want to work on this until the heat death of the universe, I decided to change it up.
First, I find the pokemon/sprite's color pallette, and store it in a list. colorpallete = [2,255,255,255,0,0,0,0,0] This is a code for a basic color pallete. The first number is the ammount of colors in the color pallette, and the other numbers are the colors. So this is the value for a simple color pallette of black and white. Now, Here is the code for the same 2x2 white square using the new method!
colorpallete = [1,255,255,255,0]
squareSprite = [2,2,colorpallete, 1,1,1,1]See how more simple it is? After that I changed the Python code to convert it to the new method, and I now have less values to type in for the sprites.
The Audio system is much more simple. I don't remember the code as much, because it was one of the first things I made, but when I get home from school, I will update on how it was made.
Now there is still twice the amount of work to do now, as I need to make all the miscellanious sprites, the tile sheets, the npcs, and 8 bit renditions of all the sound effects and music. Luckily I have an Idea. I wonder if anyone knows of a USB keyboard that can automatically type what is in a .txt file. I am more of a software computer guy, instead of a hardware one, so if there isn't, I am going to have to learn a new skill to make it. But if there is, then pokemon emerald on Fuze, might be coming soon! (If you consider soon as a couple more months)
-
I am working on a usb dongle that lets you copy/paste from PC to FUZE. It uses an arduino pro micro and a cp2102 usb-serial module from ebay. I’ve only just gotten it mostly sortof working, I’ll do a write-up here when it’s better, or at least share some code and some tips. What great timing to post! 👍🥳
It’s awesome to hear that you’re still working on your big project btw.
-
@toxibunny Nice, that thing would be revolutionary to the Fuze community. Maybe I can change my python code so that it can convert even 3d models! If people have both, then you can pretty much do anything with Fuze. (Except for audio maybe) I'm now thinking that with those, people are going to port doom to fuze lol. Now that I'm thinking about it, maybe you can convert a midi file for audio, but it probably won't sound good.
-
It sounds like you'd find @sigixxx 's stuff very interesting!
https://fuzearena.com/forum/topic/1973/importing-resources-from-pc-jpg-viewer
-
Yeah, Sigi’s already done it, optimised for Fuze. Mine is a little bit of a different thing. Prod him and ask him to release the code. He said he would. It’ll be way faster than mine, and it goes straight into the savefile somehow.
-
…and also mine has completely stopped working, and I can’t upload code to the arduino anymore. OMG this is why I moved to FUZE in the first place and why all those microcontrollers have been in boxes in the cupboard for so many years. I hate working with them. Hate it! Plugging and unplugging things, squiggly brackets and those sticky up straight lines. kicks the whole lot out of the window
Yeah, ask sigi to release more info. I am done with this, sorry! tries to relax a bit
-
I have accidentally typed inside the Abra sprite and now a pixel has a color change. Time to look through this :) https://i.ibb.co/J7D3nWT/IMG-20230521-172724.jpg
-
I have been doing some more programming, and research, and I'm almost ready to release a program that converts an image into my fuze format, and types it for you! No microcontroller needed! Currently it can only convert images right now, but I have been working on making it so that it can import midi files, and even 3d models!! (For the 3d model part, i found a whole bunch of ways to crash fuze lol, I had to reprogram it many times) I am currently testing the program on different devices, expect a release in the next few weeks! (The release will only convert images)
Edit: May have to rework the code, as I discovered a better and faster way to compress the files for images.