Flappy Oric 3D

Want to talks about games you like, would like to see developed on the Oric, it's here.
Post Reply
User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Flappy Oric 3D

Post by jbperin »

With permission of Rax I release here a 3D patched version of his outstanding Flappy Oric.

Image

The new feature is that, by using the V key while in game, you can switch the point of view between lateral view and first person view (bird's point of view).

Image

Here's the TAP file build with OSDK :
flappy3d.tap
Flappy Oric 3D
(31.14 KiB) Downloaded 89 times
From sources here.

Hope you enjoy :-)

User avatar
Symoon
Archivist
Posts: 1914
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Flappy Oric 3D

Post by Symoon »

Find it hard to play in 3d, maybe the black and white version was easier... But anyway, that's a great crazy idea :mrgreen:

User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Flappy Oric 3D

Post by jbperin »

Symoon wrote:
Tue Mar 17, 2020 5:46 am
Find it hard to play in 3d, maybe the black and white version was easier...
Arg Yes .. In an attempt to compensate speed between the two mode , i slowered down a bit the third person view and reduced the sleep time in first person view .. then it goes "faster" than in the black and white version .. :-(

Or perhaps is it the color render which is bit more geometrically confusing ..

User avatar
Dbug
Site Admin
Posts: 3506
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Flappy Oric 3D

Post by Dbug »

Technically, if you keep the movement on one axis, you could cheat a lot for the display and use pure raycasting and render by symmetry with big fat unrolled loops :)

User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Flappy Oric 3D

Post by jbperin »

Dbug wrote:
Tue Mar 17, 2020 10:47 am
Technically, if you keep the movement on one axis, you could cheat a lot for the display and use pure raycasting and render by symmetry with big fat unrolled loops :)
Yes !! :-)

You're totally right .. I would even say that what I'm doing here is pure brute force 3D rendering.
I take advanatage neither of the symmetry in the game scene .. nor of the single DOF restriction in movement.
Thus, in terms of performance, results obtained in this game could be the same in a less symmetric situation or with more DOF.

Being said that glOric estimated performance budget is :
  • 3D Point projection : 500 cycles / points / frame
  • Segment drawing : 3000 cycles / segments / frame
  • Face drawing : 7000 cycles / frame / face
  • Partiule drawing : Not estimated yet
And that the game scene used for the FPV in Flappy Oric 3D contains the following elements:
  • 3D points = 20,
  • Nb Faces = 8,
  • Nb Segments = 16,
  • Nb Particules = 6,
So.. just using the symmetry to divide the number of projection by 2 would allow to gain 10 * 500 = 5000 cycles / frame .

User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Flappy Oric 3D

Post by jbperin »

Just to give an idea of how simple it is to create 3D scene in Oric games, here's a presentation of the basic workflow used in making the Flappy Oric 3D FPV.

First came the idea and the global design:

Image

Next came a clean and neat detailled design:

Image

From this detailled design are identified points involved in shape's geometry:

Image

For each point in the list above, there's an associated index which is used to reference this point in face or lines :

Image

That's what's coded into the the gl.c file.

User avatar
iss
Wing Commander
Posts: 1155
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Flappy Oric 3D

Post by iss »

Congrats @jbperin!
This is very good achievement and really exciting. Keep going 3D!
jbperin wrote:
Mon Mar 16, 2020 10:32 pm
With permission ...
You or anyone else doesn't actually need to ask explicitly raxiss for permissions. All our sources which we made public are exactly for this purpose. We are very glad if someone find them useful and inspiring! Our intention is to release all sources we ever made but there is some (lot) work to make them also clean and good looking.

User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Flappy Oric 3D

Post by jbperin »

iss wrote:
Tue Mar 17, 2020 7:36 pm
Congrats @jbperin!
This is very good achievement and really exciting. Keep going 3D!
thank you iss ;-)
iss wrote:
Tue Mar 17, 2020 7:36 pm
there is some (lot) work to make them also clean and good looking.
I can witness that your games are as clean inside as they are beautiful and elegant outside.
Your source code is enjoyingly readable. Well designed. Mix of sobriety, efficiency and smartness.
I really found it was easy to plug the 3D stuff on it.
I'm also very glad and thankful for I could use this code to have a first real production involving glOric.
So thank you guys !!

User avatar
jbperin
Flying Officer
Posts: 178
Joined: Wed Nov 06, 2019 11:00 am
Location: Valence, France

Re: Flappy Oric 3D

Post by jbperin »

iss wrote:
Tue Mar 17, 2020 7:36 pm
there is some (lot) work to make them also clean and good looking.
Iss , I reworked the C code that I had added to Flappy Oric to make the 3D version.
And I tried to push it to the quality standard of the raxiss's production.
Here's the result.

Tell me what you think.

I also wanted to show you an other source code that I produced with the same concern of cleanlyness and readibility.
It is a 3D Walkthrough Template that I published here
And I was wondering if .. by any chance ... this code source could inspire you and rax as much as your code inspires me.

Who knows ..

User avatar
iss
Wing Commander
Posts: 1155
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Flappy Oric 3D

Post by iss »

jbperin wrote:
Sat Mar 21, 2020 9:31 pm
...Tell me what you think.
Cool! IMHO it looks really pro 8) .
Actually I don't have any special personal preferences related to source code.
May be just two simple rules which I try to follow: to use spaces for indentation and the formatting to be consistent for all files of the project. That's it.

Else your 3D engine is impressive and hm, ... will see... ;)

Post Reply