Author Topic: New type of calc fps  (Read 7082 times)

0 Members and 1 Guest are viewing this topic.

Delnar_Ersike

  • Guest
New type of calc fps
« on: January 16, 2007, 03:41:00 pm »
Well, recently I've played a lot of calc First Person Shooters, among them Gemini and zDoom. After playing the two (Gemini was good, zDoom was not-so-good), I wondered if people could take fps games to the next level.

So...I wanted to know if my ideas would work. They are the following:

1) The combination of textured walls that do not connect at 90 degrees or 180 degrees (Gemini had textured walls, zDoom had walls connecting in all sorts of different angles)

2) The ability to make different sized walls

3) The ability to place walls in the game wherever you want

4) (This one's a biggie) The possibility of replacing the normally horizontal floor and ceiling with walls, so you could walk up ramps, jump onto platforms, have free look, etc. That also means that there are different "floors" and "ceilings" placed at different locations

5) The possibility to replace enemies made of sprites with enemies with 3D-Modeling (this is going to be very hard if possible)


So would any work? If so, will they be worth it?

elfprince13

  • Guest
New type of calc fps
« Reply #1 on: January 16, 2007, 03:57:00 pm »
learn Asm and read up on Binary Space Partitions, and mesh collision detection ;)wink.gif

or just fake the 3d models.

Delnar_Ersike

  • Guest
New type of calc fps
« Reply #2 on: January 16, 2007, 05:16:00 pm »
QUOTE
or just fake the 3d models.


O_Oshocked2.gif why would anybody want to do that (other than the people who are too lazy or too conservative in the case of programming)?

Offline necro

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1295
  • Rating: +17/-2
  • +3 vaporal mustache
    • View Profile
New type of calc fps
« Reply #3 on: January 16, 2007, 05:19:00 pm »
actualy, ben reves has a project that could do a number of those things and was true 3d (gemeni is a raycaster that is actualy 2d with texture angling, as is zdoom).  The problem with real 3d is it requires a LOT of memory to sotre x, y, and z for each vertices meaning models for enemies is likely going to be very limmited if it ever happens.  While Im not sure it can't be doen as I only recently began programming even a little assembly, raycasters can achive most of the effects of 3d with much less memory cost and much higher speed and ultimately are the most accesible and proven method of 3d on calc.  On the 89s, there it might be more likely.

edit: sorry ben, I mixxed you and kerm...
I'm like a woot burger with awesome fries


VB.Net, C#, C++, Java, Game Maker

Delnar_Ersike

  • Guest
New type of calc fps
« Reply #4 on: January 16, 2007, 05:23:00 pm »
QuoteBegin-necro+16 Jan, 2007, 23:19-->
QUOTE (necro @ 16 Jan, 2007, 23:19)
actualy, kerm martian has a project that could do a number of those things and was true 3d (gemeni is a raycaster that is actualy 2d with texture angling, as is zdoom).  The problem with real 3d is it requires a LOT of memory to sotre x, y, and z for each vertices meaning models for enemies is likely going to be very limmited if it ever happens.  While Im not sure it can't be doen as I only recently began programming even a little assembly, raycasters can achive most of the effects of 3d with much less memory cost and much higher speed and ultimately are the most accesible and proven method of 3d on calc.  On the 89s, there it might be more likely.  

 I suspected that from the beginning. Therefore, I wasn't thinking of a normal ASM program, I was thinking of a Flash APP for a TI-83/84+ Silver Edition ONLY.

However, I just cam up with the enemy idea to go along with the rest. What really excites me is the 4th idea combined with the 1st, 2nd, and 3rd ideas.

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
New type of calc fps
« Reply #5 on: January 16, 2007, 05:33:00 pm »
All of your ideas can be achieved. :)smile.gif However, the game would be too slow to be any fun. :(sad.gif

Here is a great tutorial for raycasting engines -- it includes variable height walls, climbing, ceilings and floors, etc:


http://www.permadi.com/tutorial/raycast/
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Offline necro

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1295
  • Rating: +17/-2
  • +3 vaporal mustache
    • View Profile
New type of calc fps
« Reply #6 on: January 16, 2007, 05:33:00 pm »
umm...flash apps aren't actualy faster, they just can use more memory and are more dificult to program...and I am talking in regards to the ti83+se...its processor is only 20mhz and has a heavy limit on the number of calculations you could do.
I'm like a woot burger with awesome fries


VB.Net, C#, C++, Java, Game Maker

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
New type of calc fps
« Reply #7 on: January 17, 2007, 02:55:00 am »
QUOTE
zDoom had walls connecting in all sorts of different angles)
this is because the engine is still buggy and walls are distorted sometimes


that would be a good idea tho

elfprince13

  • Guest
New type of calc fps
« Reply #8 on: January 17, 2007, 06:06:00 am »
you'd fake 3d to get it faster, thats how most of these engines work, and because it gets flattened out in the display process anyway.

Liazon

  • Guest
New type of calc fps
« Reply #9 on: January 17, 2007, 10:08:00 am »
ya, basically what everyone else said.  the reason why most calc fps are raycasted is because raycasted is pretty watered down compared to what a comp does real time for PC games.

my only complaint about gemini was that for some reason, I couldn't see enemies unless they were facing me, which kinda frustrated me.  and zDoom, people always seemed to be moving through walls and the guys were huge.  both were still really fun though :)smile.gif

benryves on MC was working on a 3D engine for the z80 calcs.  duno where that's going though.

before i forget though, I should respond to each point individually to give a little explanation why raycasting limits your ability to achieve those ends

1.) In raycasting, all walls HAVE TO BE FLAT.  so textures are more or less generated by "texture maps" probably not the right word, but i hope you get the idea.  In gemini's engine, i wouldn't be surprised if coelerus simply generated his 3d world from a 2d tilemap that simply indicated what kinda "brick" to use.  the characteristic of the brick was probably what kind of sprite would be used to paint the wall.

in zDoom, I'm not sure how many angles there really are, but it also is probably generated by tilemap.  I'm not sure if doing both would be overtaxing on the processor, but one reason is probably that angled walls require the "texture" to be transformed by perspective, in addition to simply scaling the wall sprite to give the illusion of the wall textures becoming clearer.  When you look at a wall at an angle, the farther end of the wall is squished, so all the textures have to be squished.

2.)  Not sure what you mean, but if you mean by height of the wall, I'm not sure,  I imagine that it could be possible w/ raycasting, but it wouldn't be as watered down.  iirc, raycasting at its fullest also assumes that all objects have the same height.  That way you can render an entire column of pixels at once because you don't have to worry if the top half of the screen will be empty and you need to cast the ray further than where the pixels on the bottom half "hit the wall"

3.) probably linked to 1 + 2, but keep in mind it's easiest to generate from a tilemap.

4.)  Like I said before, raycasting assumes that everything's flat and 90 degrees from the floor so that all rays in one column will travel the same distance and can be processed at the same time.  I assume this also makes it difficult to tilt the view up and down, although a translational up and down motion (like in zDoom's death sequence) is just a matter of readjusting the camera height.

5.) eh, I agree w/ elfprince there, but my complaint about gemini still stands, though my ASM skills don't give me the right to say to much about it.  if only the enemies were also blocks, so you would have textures on 4 sides of it.  I kept missing them for some reason.

OVERALL
Don't think I'll discourage you because my ASM skills are still at a recently-not-n00b state, and my skill probably won't progress for awhile until I start churning out my first game.

however, based on what I've seen and forum discussion i've read, it all depends on how you build your engines and what limitations and assumptions you set.

3D modeling like on the comp might actually be feasible on a z80 calc, but I wouldn't know.

Voxel (is that the right one) on 68k has shown it's possible (right?).  it's probably a matter of time before something good appears.

maybe gs fps will come first though (unless there'a already one I'm not aware of?)

Delnar_Ersike

  • Guest
New type of calc fps
« Reply #10 on: January 17, 2007, 12:35:00 pm »
@Liazon: About idea 2, I mean that they have a different width. The walls in Gemini all have the same size, as do the ones in zDoom. If you have different sized walls, you could connect them in a way to make an oval-ish shape. The ability to place walls anywhere means that if there is a big room, you can just screw around with the walls to make a maze-like thing in the room (I am so descriptive :Ptongue.gif ). About idea 5, that was just the problem I was thinking of when I suggested the idea, however, I can reword the idea to be more exact: Is there a way to make enemy sprites viewable from any point in the Line of Sight while at the same time not making them disappear when you come close to knife them?

*Delnar_Ersike is an idiot. *Delnar_Ersike always wanted to learn ASM, but can't get past Day 1 in the "Learn ASM in 28 Days" guide because *Delnar_Ersike always gets distracted... :banghead:banghead.gif

Liazon

  • Guest
New type of calc fps
« Reply #11 on: January 17, 2007, 01:12:00 pm »
just ask for help.  I at least can point you in the right direction :)smile.gif  And there are lots of other really good ASM programmers here too.

Offline Halifax

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1334
  • Rating: +2/-1
    • View Profile
    • TI-Freakware
New type of calc fps
« Reply #12 on: January 17, 2007, 01:17:00 pm »
Hmm yea your definetly going to have to fake 3D models or make meshes like only 100 vertices at most. Even if that is up and worknig the rotating around axes is going to slow down the program very much. And hmm for programmnig languages

z80 BASIC : Highly not recomended
z80 ASM: Keep with raycasting
68K BASIC: Not recomended
68K ASM: Seems possible

I have researched this many times and it usually turns up disappointing.

But great ideas I love how you think

NOTE: If using meshes the hit detection shouldn't be hard as long as you don't use soft detection because thats basically impossible so I would just go with hard mesh detection

[offtopic]Hey what about raytracing a frame and a time and just making a game of a bunch of pre rendered images where the person could move to were a pre rendered pic could show up[/offtopic]
There are 10 types of people in this world-- those that can read binary, and those that can't.

Liazon

  • Guest
New type of calc fps
« Reply #13 on: January 17, 2007, 01:21:00 pm »
i think that's how Zeromus was going to make his basic fps (+xlib?)

same goes for the lurking shades project too i think

graywolf

  • Guest
New type of calc fps
« Reply #14 on: January 17, 2007, 01:22:00 pm »
68k, I'm sure it possible using FATLib and ASM. As for 83, I'm not sure. And someone mentioned FlashAPPS: doesn't TI need to sign them or something before you can release them?