Recent Posts

Pages: 1 2 [3] 4 5 ... 10
Project announcement / Re: Sonic Z-Treme
« Last post by itsstillthinking1999 on March 15, 2018, 04:10:42 am »
My big next things :
-Custom view frustum culling function
-PVS and/or portals!
-Improve the collision detection
-Add basic ennemies/shooting collision
-Add (maybe) splitscreen  -done

(Don't mind the Sonic face, it's just a placeholder)

Thats going to haunt my nightmares!

Anyway keep up the amazing work! ;D
The order you call the rotations influence the output.
Just use the 3D model for now as it's easier for you.

You shouldn't use the Pseudo-Mode 7 for what you're doing. The Pseudo-Mode 7 is pretty much doing DMA to transfer a new image to the NBG1 to give the illusion of movement, while a RBG0 is a real 3D plane that can move in all directions.
It's much harder to use the RBG0, but it will be much faster and will be way more flexible.
For what you are doing, it's a no-brainer, you should use the RBG0.
Sorry I'm not the best at explaining. Still having this problem though and think it might be a hardware limitation? Im trying to rotate the sprite of my board located somewhere besides 0,0,0 in the scene and rotating, and it doesn't spin on the right origin like when its located at 0,0,0 in any direction. The rotation with the sprite is so bad to rotate 90 degrees I just redraw it twice where I need it for now. I tried with jo_3d_draw_sprite_at and also jo_sprite_draw3D_and_rotate, etc using jo_3d_rotate_matrix_z(skim_rot_x) to call the rotation.

I made 3d model instead of a sprite and it doesn't have this rotation problem when put anywhere in the scene.

I made a video to show what I mean. The first is the 3d model spinning with me like I want and after the sprite spinning off axis with almost the same code

Edit: Eh forget it Ill just use a 3d model just wanted to keep the polys down. Should I render my planes on the VDP2 i was reading your youtube comments and saw you mention warping with the vdp1 and im getting it bad. Maybe mode 7 for the planes?

I'm not 100% sure I understand your problem.
Try playing with another axis instead (x instead as an exemple), or do the rotation before the translation.
Play with a few settings, I'm sure you'll figure it out.
Yeah single plane I have to touch up my model to correct the quads a bit but defiantly runs better. So I got everything back onscreen lined up and working a bit on gameplay now.

It seems my skimboard sprite only rotates on origin if I draw it at 0,0,0? Trying to rotate it so I can 360 with the board and player together but it rotates along some origin im not sure of when I draw my sprite anywhere else besides 0,0,0

Im draw it like this
jo_3d_draw_sprite_at(6, sonic_pos_x  , sonic_pos_y - 5 , sonic_pos_z + 5  );

and rotate like this
skim_rot_z +=7;

Its seems a bit crazy to me as my Player(Sonic/Virtua Kid) its done the same way and it works fine with
jo_3d_translate_matrix    ( sonic_pos_x,sonic_pos_y,sonic_pos_z );
jo_3d_rotate_matrix_z    ( sonic_rot_z) ;

I tried not translating it to sonic_pos and just some coordinates and it still off origin. I also made a 3D model instead of a sprite and it still doing the same thing. Is it something to do with my camera?

Heres a video of me doing a 360 out to a wave and the sprite is rotating on some weird origin.

Try to burn disks at 2x.
It could also be related to the current functions : there are issues with the current Jo Engine CD functions according to my tests.
You can use the SBL GFS_Load functions (look at RockinB tutorial to see how it works : ) for now as they are much faster, but it would require you to play with memory allocation (sending everything to Low-work RAM should be the easiest way).

Also, try to use Single plane only on your model.
Trust me, you don't want dual plane except for some rare instances (a quad that you need to be able to see from both sides).

From what I see, there should be no reasons that it can't work at 60 FPS, but like I said you must keep the amount of quads at a reasonable level (400 more or less) and at a rather low texture resolution (16x16 should be fine).

The Saturn is also quite good with untextured quads, so you can play with that too.
Alright got it working! 30fps was the key, makes the water effect move slower too which is great. I cant 3D model worth anything so glad I don't have to redo the wave for now. Now it mirrors SSF output.

On another note do you guys sometimes failure to launch on Saturn Hardware? I can tell it will happen because the CD stops spinning before I launch the game with Psuedo menu. Maybe I should burn slower than 16x or get Verbatim Datalife+
Ok! According to your video, the Saturn can't complete the drawing. You are at 60 fps, but with all the textured quads, it's too much. You can set dynamic framerate : DynamicFrame (On);  (I'm not in front of my pc, so it might have a different spelling or with sl in front, just look at the demo I made for ponut)

Also try 30 fps :
extern Uint8 SynchConst();
(Again, I'm not on my pc, but take a look at the demo I sent ponut64).
Always use Single_plane!
Else it will still draw backfaced quads.

Also don't use real transparency.

If you really want 60 fps, use low quality textures : 16x16 or even 8x8, but with more than 450/500 quads on screen it might start to enter the draw end mode, which just tries to draw as much as possible before the v-blank.

Also, I forgot to mention, but use Window_In in the attributes.
Give this a "shot".

All I did was throw in a different mesh .. that doesn't render properly.

But that's not the point.

The point is, I tried this on real hardware (a US saturn), and it worked properly.
Incidentally I also used this to confirm the 352x240 mode worked, which it do.

My guess is you are working with a quads limit of some kind... but I'm not really experienced enough to draw a conclusion on that. Something in your mesh isn't right.
Great tips you were right about the default workspace and managed to subdivide and keep it under. My I added UseNearClip in my attributes
Code: [Select]
ATTRIBUTE(Dual_Plane, SORT_CEN, No_Texture, 0x801f, CL32KRGB | No_Gouraud, CL32KRGB | MESHoff, sprPolygon, UseNearClip),
seems to make no difference on hardware/ssf, seems single plane helps but not much.

It seems I am at the point subdividing makes no difference and its purely on how close the wave is the the camera no matter the scale or poly size. Zdisp is a 7 but 5 seems to be the max effect.

In SSF the clipping is perfect even optimal now because its acts like a window into the barrel at the end of the run and can give a bonus on a barrel ending and have you visible in there. But thats just a bonus.

But on hardware the story is much different. The wave clips MUCH more and also takes with it my player and scenery depending how close it is to the camera. Maybe you could take a glance at my attached blend and tell me if its ridiculous its under 1000 polys. My player is under 200 and the game features currently only 2 sprites, background, 3 planes(I removed the beach right now since I need to figure out the warping), Mesh effects only now too

Here is the clipping on hardware with these changes. Dont mind the missing beach i removed it for now but everything else is clipping

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