Recent Posts

Pages: 1 [2] 3 4 ... 10
Project announcement / Re: what p64 does
« Last post by ponut64 on September 07, 2018, 08:43:36 am »
In stumbling about with true box-to-box collision detection (rather than only points), I stumbled on an alternate way to test a point against a normal.
It's helpful to share this, because it's basically 16-bit.

Code: [Select]
Sint32	pt_col_plane(Sint16 planept[XYZ], Sint16 ptoffset[XYZ], Sint16 normal[XYZ], Sint16 offset[XYZ])
//Using a NORMAL OF A PLANE which is also a POINT ON THE PLANE and checking IF A POINT IS ON THAT PLANE

//the REAL POSITION of the normal, which is also a POINT ON THE PLANE, needs an actual position. WE FIND IT HERE.
Sint16 realNormal[XYZ] = {normal[X] - offset[X], normal[Y] - offset[Y], normal[Z] - offset[Z]};
Sint16 realpt[XYZ] = {planept[X] + ptoffset[X], planept[Y] + ptoffset[Y], planept[Z] + ptoffset[Z]};

Sint16 pNn[XYZ] = {realNormal[X] - realpt[X], realNormal[Y] - realpt[Y], realNormal[Z] - realpt[Z]};

//The NORMAL of the plane has NO REAL POSITION. it is FROM ORIGIN. We use the normal here.
//If the dot product here is zero, the point lies on the plane.
       //The dot product being negative or positive can be used to determine whether the point has passed the plane.
Sint32 dot;
dot = vectori_dot(pNn, normal);

return dot;

If you're wondering what else I would use, its separating axis theorem, which while simple to explain is much more verbose in code so I'll not go into that much more.
Project announcement / Re: what p64 does
« Last post by ponut64 on September 06, 2018, 02:20:16 am »
1. I've never developed software before.
2. I've never programmed in the C language before. I did have some training courses on C# and C++ in Microsoft Visual Studio, but this did not output an executable.
3. I've never made development tools before. As I see it this is the true mark of a game development programmer. XL2 and Jo made the development tools.
4. I have had experience working in Unreal Engine, Torque, CryEngine, and TRIBES before as either making simple mods or making maps. Never finished anything but relatively simple maps.
5. My 3D modelling experience comes from making 3D printed objects, such as detailed figurines or mechanical objects. Like, for instance, an entire computer case.
That is a vastly different field because there one is required to make a manifold object. Video games carry no such requirement and often non-manifold objects consume less polygons.

6. As far as what game to make, my philosophy is what I can program is what should define what I can and will make.
Following that, I am going to do testing as far as I can until I feel as if I have programmed enough mechanics to make a satisfactory video game.

7. I work slowly.
Project announcement / Re: Sonic Z-Treme
« Last post by XL2 on September 06, 2018, 12:05:07 am »
Yeah, the Pal version was a quick workaround, so if you play at 60 hrz the framerate counter will report wrong values, so it always play slow.
As for the slowdown, at 50 fps it's expected, but at 25 fps, it shouldn't happen as far as I know.
Maybe a 1 frame dip?
I would need to see it, but if a polygon is covering the whole screen it's possible.
Project announcement / Re: what p64 does
« Last post by Cerv3ro on September 06, 2018, 12:01:21 am »
Great job, did you know something about developing before?. Do you have an idea of what to create or are you only testing?.
Project announcement / Re: Sonic Z-Treme
« Last post by Cerv3ro on September 05, 2018, 11:56:09 pm »
Hey XL2, finally i have returned from my vacation and literally, the first thing i did was to burn the cd  8)

I played the demo on a model 1 Pal Saturn, with the 3D controller.
The progress has been huge!, those 4 levels looks so nice, with a lot of differences from the earlier versions. I love that effect around Sonic and the stele behind him.

The 3er level looked very funny to me, those speed sections makes the game nicer, more...Sonic like. Although it´s easy to die and fall down, maybe some invisible walls may prevent that?. At least at speed sections would be ok to try this?, only an idea. Another element that brings inmersion is the fire, that fire is so cool! Does it uses dynamic lighting?

The 4th level has been a great surprise!! that metal walls and new elements looks phenomenal. Here is where i missed the most those "dynamic elements?" you talked once, lifts and platforms to move through the level, but nothing the double jump couln´t do  8)

On the technical area, the framerate is very good, but not stable 100%. I have tried 30 and 60 hz. Both go well but sometimes a little slowdown happens, especially when turn the camera (using L or R). I want to record a gameplay and share it to you for a better idea of what im talking about. As a curiosity, i switched to 60 hz my console (i did the mod to my saturn to run the games as ntsc does) and the game runs ultra slow!!! i thing maybe 10 fps? of course i burned the pal iso so i think is because of this.

To end, the gameplay with the 3D pad its a delight, only with this the game wins a lot of fun to me.

Sorry for not being so technical when talk about it, i don´t know nothing about develop but i wanted to let you know my impressions about this miracle that you are giving us. Thaks a lot for this!  ;)
About you / Re: Greetings!
« Last post by SaturnTeam on September 04, 2018, 02:13:34 am »
Things are going well. I am finishing up a custom game dev tower for my 3D work. I am putting together a 2D shooter demo and will test it soon on the Raspberry Pi. Over the next month, I plan to do a 3D test on the Pi. However, I don't think it will run on that. Only time will tell. I also began designing the shell for the console that will be a sister console to the Saturn. Project updates will be posted on my Twitter account @!
Project announcement / Re: Sonic Z-Treme
« Last post by corvusd on September 02, 2018, 05:58:32 pm »
Hello again XL2,

I've been on vacation these days, and I have not been able to see your SAGE build until today.

Great job! I would ignore most reactions. More without foundations. You have done what no one did. THANK YOU!

Reviewing your work in particular.

1. An implementation of the shadow with transparency VDP1 for Sonic very smart. To avoid the redrawn defect of the VDP1 and you take care when shadow cover other primitive this are a Color LUT or RGB from VDP1 color VRAM for correctly blend transparency.

2. A very nice particle effects and well implemented in this last build. Later when you see. If you have surplus performance and find a new and original way you could use "some" type of SS transparency. They would already be perfect.

3. I see that the effect of Metal(Sonic and enemies) changes according to the background. It's a totally original effect!

4. I see that you reach peaks of 750 elements on the screen, keeping 30FPS !!! Absolutely brutal!

5. I see that you still have a lot of main RAM, VDP1 VRAM and VDP2 Pattern RAM available. And I see that you have used almost 90% the VDP2 Color RAM.

6. I also see signs of using DSP sound !! 100% memory used! : D

7. The control in my case I loved. The problem in my point of view. Is that the game needs some kind of tutorial. Because it is not the typical Sonic that the typical user can find. The areas of falls and death are numerous. And the speed of Sonic can be deadly XD. In any case. The control under my point of view responds superbly. As a crazy idea, how would you see that the camera was always behind Sonic?

And a lot of details more!!!

Greetings and thanks again!
General discussion about the Sega Saturn / Re: Transparent Shading on The Saturn
« Last post by corvusd on September 02, 2018, 05:30:49 pm »
Well, one solution that I'm currently experimenting with :
-Use the framebuffer from last frame.
-If for each pixel the bit 15 is 0, it's palette code. Just draw a line using cram palette with transparency ratio.
-If the msb is 1, use vdp1 half-transparency.
Since you set the z distance, it won't create much sorting issues and would keep artifacts low.

The main issue is reading from the framebuffer, it's just slow.
Like I mentionned, you can also use gouraud shading, so these fake polygons could still look nice.
I'm not sure it could be done with textures because the width must be a multiple of 8 (I hate this limitation)

Forgive XL2, I wanted to have answered this answer of yours before.

I have a similar idea to solve the problem. I thought that you could create a function that knew when a part of an element (Normal, Scaled or Distorted Sprite and lines or polylines) is on top of another element of VDP1 or not. That is, the function knows when a vertex of an element is above an element of VDP1 or VDP2. If so, use VDP1 CC (Color calculation) Half-Transparent and when it is on the VDP2 use palette transparency shared with VDP2 color RAM.

There would still be the problem that certain elements, when they are on the border, did not make a transparency correctly.

In your idea something similar would happen, but only at the line level.

Maybe my idea is "faster" because it would be done in the transformation calculation part. Comparing common coordinates, it would not touch to read the framebuffer as in your idea.

Also, it may be useful to use both ideas in combination.

Who knows, even plus the trick of Burning Rangers.

According to situations, each form or idea may be more suitable for a better solution. Quality / Performance

All of them using the native process and graphic pipeline of the SS.

Project announcement / Re: what p64 does
« Last post by ponut64 on September 02, 2018, 06:05:41 am »
Project announcement / Re: Sonic Z-Treme
« Last post by 20EnderDude20 on September 01, 2018, 03:04:10 am »
With Ponut's edit, I think the main cause was because almost everyone played it in an emulator, making the controls feel unnatural. Even that guy on SEGA Driven used an emulator, and he said the controls were jerky. So that might not be because of the game, it might be because of the peripherals most people are using.
Pages: 1 [2] 3 4 ... 10
SMF spam blocked by CleanTalk