Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - XL2

Pages: [1] 2 3 ... 5
Project announcement / Re: Sonic Z-Treme
« on: October 16, 2017, 03:52:36 am »
Thanks !
For the music, it's included, make sure you use the cue sheet and your img burner supports it, else convert to .wav.
The sound issue is known, I'm having issues with Jo engine sound play back which causes issues and crashes when I use the function to use whatever channel is available, so only 1 sound is being played, max 2 in some cases.

I never used a PAL Saturn, so I don't know, but the framerate on NTSC Saturn should be at 60 fps around 95%. I didn't have time to improve my engine in time for Retro Barcelona, so I couldn't do better. I am working on fixing this.

For the camera and HUD, those are debug functions "hidden" when you press L+R and other buttons. They lead to some issues, so avoid them.

For the water, it's not a bug : the second level's water is supposed to be freezing cold, so it hurts Sonic.

For the colors, I'm using the original assets from Sonic X-Treme, so I can't do much. Try playing with your TV's settings until you get a good image.

What graphical bugs did you get? I think the clouds could lead to issues, but I haven't tested enough to know.

General Jo Engine Help / Re: 30 FPS?
« on: October 15, 2017, 03:44:54 am »
Is it possible to do an hotfix to add the framerate in the makefile?
Also, on a side-note (request more than anything, but I don't want to make another topic for it) : could you separate the Jo_rotate_matrix along the 3 axis and separate the DEGtoANG (as in you let the user use it or not)?
It's nearly useless to do rotation along the 3 axis unless you really want it to be in x, then y, then z order.
It's better to do it along one axis first, then another one.
So right now, you have to do something like jo_rotate_matrix(0, 0, 10); then jo_rotate_matrix(0, 10, 0); if you want to rotate on z axis first, then y.
It also means you need to do the extra conversion step of DEGtoANG (x*65536 / 360) (or x*65536 if you use rotate rad) that you could just do before compiling (for things such as animations) for extra speed.
I don't know how much it impacts the cpu, but I guess it would help a little to separate everything, even if it means it's more complicated for newcomers.
My workaround right now is to use the SGL Rot functions and precalculate the DEGtoANG before runtime, but I guess it would be nice to have it in Jo Engine.

General Jo Engine Help / Re: Video resolution
« on: October 14, 2017, 08:15:09 pm »
400x240 isn't supported. You can try 352x240, which has the benefit of using higher VDP1 clockspeed than 320x240 (28 vs 26 Mhz). I'm not sure if that increased clockspeed fully compensates the increased resolution as I never tried on real hardware, but you can try it.
You can read the VPD1 and 2 manuals for more information about the supported resolutions :

For assets, I use and Blender, FFMPEG for audio.

For 3d model conversion, I'm using my own .OBJ file converter.

I also tried to generate paletted sprites, but I will have to compress/merge the color data with neirest neighbours as I quickly run out of CRAM (max 2048 colors).

Project announcement / Re: Sonic Z-Treme
« on: October 11, 2017, 06:09:02 am »
I think many people fail to realize that assets don't create themselves. Coding is complicated enough, spending more time on 3d models, textures, sound, etc would make the project impossible to complete. At first I didn't want to make a Sonic game, I thought I would do a beat them up (which is why Sonic had a fighting stance in my earlier demos), but I just ended doing this game once I started adding elements in it.

Would it be possible to add a function to read from an user-defined pointer?

Like, if I'm loading map 2 and it's using the same background as map 1, I want to be able to skip it and just keep it without loading it all over again.

So something like :
jo_fs_read_from_pointer(&file, buffer, StartingByte, Length);

Also, I've had a few failed read on real Saturn.
The Saturns are getting old, so I think it would be nice to implement a re-read feature in case of failure to read.
Like, in your read functions, if it fails, you try again.


Project announcement / Re: Sonic Z-Treme
« on: October 09, 2017, 01:07:52 am »
He doesn't have this level sadly. I also wanted it.  I guess I will have to recreate it

Project announcement / Re: Sonic Z-Treme
« on: October 07, 2017, 02:40:57 am »
Yeah, I didn't have time to update sadly. I will do it later this weekend.

Project announcement / Re: Sonic Z-Treme
« on: October 06, 2017, 06:28:54 pm »
I posted a demo here, it was rushed and not properly tested in order to make it for Barcelona Retro (I only had a 3 days heads-up). I also changed the controls a bit in version 0.034, hopefully it makes diagonal movement more reliable (preserves momentum now). I also made the acceleration a bit faster to compensate the longer turn time. Hopefully this version should run well 95% of the time, with some slowdowns and some collision bugs in some areas (again, 3 days only!)

Free talk / Re: Retro Barcelona 2017
« on: October 06, 2017, 06:39:01 am »
What a crazy week spending every second of my free time coding! I hope people will enjoy the demo!

Project announcement / Re: Sonic Z-Treme
« on: October 03, 2017, 04:11:35 am »
No problem, I'm just in a rush to get a build for Retro Barcelona and I'm trying to throw all the optimizations I can think of to make it work as it's in 3 days only...

Project announcement / Re: Sonic Z-Treme
« on: October 03, 2017, 03:10:25 am »
I will show it soon enough.
I'm trying now to optimize everything to try to make it work at 60 fps, but it's not easy!
And at 30 fps it feels so floaty and I would need to change my game engine logic, so both ways are lot of work.

Project announcement / Re: Sonic Z-Treme
« on: October 01, 2017, 06:12:11 pm »
I tried to make it look like it's a reflection more than transparency, but it is indeed transparent with the background flipped. The VDP2 has no problems at all with transparency, only the VDP1 does. I want to try some sort of VDP1 transparency by using the VDP2 (like make objects fade in/out instead of poping in/out), but I have many things to do first. It seems to work only with paletted sprites, so I need to test that as well.

General Jo Engine Help / Re: A few questions about PCM functionality
« on: September 23, 2017, 02:51:59 am »
Just a wild guess, but they seem way too big, they wouldn't fit the audio ram and you might also run out of ram memory.
Try playing with the malloc setting to free some ram to fit them.
You could also just send them to the low work ram (I don't know by heart the adress, but it's something like 0x20000), but I'm not sure if it will work.
I don't know if it can be stored in the audio RAM either as I've never tried it, so you can also give it a try if you want.

Try to declare it something like :

#define LOW_WORK_RAM (0x20000)  //I just typed something, don't copy it blindly as I'm not sure it's the right adress)
jo_sound * blop;

void        load_cop_sound(void)
            blop = (jo_sound*) (LOW_WORK_RAM);
            jo_audio_load_pcm("B.PCM",JoSoundMono8Bit, blop);

General Jo Engine Help / Re: A few questions about PCM functionality
« on: September 22, 2017, 03:43:14 pm »
For me the  jo_audio_play_sound causes crashes when more than 2 sounds are playing (like I get 2 rings in a row in Sonic and jump at the same time).
Is there an overflow check?
I'm using the play on channel function instead, which prevents crashes, but doesn't allow me to play many files at once.

Also, one thing I noticed, the audio files are loaded in the HWRAM.

Can't they simply be loaded in the audio ram to free up some main ram, or the only way to do that would be by using a .c file for the audio instead of a PCM file?

Pages: [1] 2 3 ... 5
SMF spam blocked by CleanTalk