Author Topic: Would you enjoy playing Elimination in its current state?  (Read 5910 times)

0 Members and 1 Guest are viewing this topic.

Offline Hot_Dog

  • If you can't find a cat, look for its tail.
  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2966
  • Rating: +445/-10
    • View Profile
Would you enjoy playing Elimination in its current state?
« on: January 27, 2012, 08:35:37 pm »
A lot of people have described Elimination as containing blocky walls and sprites.  This in turn has led to enemies being hard to find and hard to discern.  Also, some people have found it hard to tell a wall from an open area in some circumstances.  I'm not sure, but this may be one of the reasons that not many people have tested the first 5 levels of the game.

Be honest.  Is this bothering you?  Would it keep you from enjoying the game's full release?  Is this something that should be fixed?
There are people who can speak two languages, and they are called bilingual.  There are people who speak three languages and are therefore trilingual.  Then there are people who speak one language, and these people are called Americans.


Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #1 on: January 27, 2012, 08:42:41 pm »
Yes, yes, and yes. It's just too blocky to actually enjoy.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55895
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Would you enjoy playing Elimination in its current state?
« Reply #2 on: January 27, 2012, 08:55:32 pm »
So far I liked the game during the limited time I had to try it, but I agree that the walls are kinda blocky at some points (some pixels being larger than others). I think that what needs to be done is instead of scaling up the original 64x48 display, you should recalculate in a way that it takes advantage of the full screen. However, I'M unsure if that would reduce framerate a lot (I assume not that much considering displaying the game full screen in the first place didn't)

I personally have no problem with seeing the enemies, though. ??? The health bar makes them easy enough for me to be seen. One suggestion for the enemies however is making the entire screen XOR'ed when they hit you. As for walls I had no problem with them.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #3 on: January 27, 2012, 09:51:08 pm »
I myself am not a big fan of Calc FPS in general, but I do think the walls look very blocky compared to other raycasters I have seen.  For instance, Runer's Axe raycaster provides a good example of a raycaster that does textured graphics well.  I think with such a limited screen size, scaling up an image is just not an option, since so much of the screens detail is needed in order to present a convincing illusion of 3D, especially when the walls are at a distance.

I think one issue that might be related to the limited 3D effect is actually the chosen textures as well.  The defining portion of a wall in a raycasting environment is its top and bottom edge, which leads me to believe that wall textures in raycasting games should always generally try to keep the tops or bottoms of wall textures a solid color (probably black) to give the user as much clues as possible to determining where the walls actually go. 

In summary, I think the scaling of the original image is what is holding back the graphics.  I understand you did the scaling because you had no desire to rewrite the gemeni graphics routine yourself correct?  I think the enemies have good visibility, although if possible I might suggest including a white mask around them so that it becomes even easier to separate them from the background.

Offline Hot_Dog

  • If you can't find a cat, look for its tail.
  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2966
  • Rating: +445/-10
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #4 on: January 28, 2012, 11:14:07 am »
I think that what needs to be done is instead of scaling up the original 64x48 display, you should recalculate in a way that it takes advantage of the full screen. However, I'M unsure if that would reduce framerate a lot (I assume not that much considering displaying the game full screen in the first place didn't)
 

Framerate would actually be slowed down a lot.  Stretching the screen requires little computational power compared to calculating 48 additional rays and plotting 16 additional rows.  I think the grayscale would have to go.  However, if people would enjoy the game that way, (better looking walls and enemies rather than grayscale walls) it's something I could arrange
« Last Edit: January 28, 2012, 11:18:14 am by Hot_Dog »
There are people who can speak two languages, and they are called bilingual.  There are people who speak three languages and are therefore trilingual.  Then there are people who speak one language, and these people are called Americans.


Offline coelurus

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +1/-0
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #5 on: February 01, 2012, 10:33:44 am »
Sorry for not browsing through all the threads is this has been answered, but how did you implement the grayscale?

I used the following reasoning when I made Gemini:
*) I valued fluid graphics and controls above pretty much everything else. This ruled out grayscale, large screen space and other things that munch fillrate.
*) I tried to utilize as many pixels individually as possible, early pixel-doubling tests looked too blocky imho and I opted for the reduced viewport instead.
*) I wanted things to be pretty clear, which is really hard with a nearest neighbour scaler, but mipmapping was not viable on the TI83s. Instead I tried to make textures and sprites with rather large white or black areas instead of putting a lot of details in, can't remember how well I managed...

Imho, I'd trade grayscale for per-pixel fidelity and speed in any game, in this case I'd trade casting every column individually to grayscale in a heartbeat. Grayscale is wonderful for "lazy" 2D graphics (i.e. shuffling around rather than redrawing) but 3D graphics should focus on accurate transforms and there were still a bunch of glitches in Gemini at release.

Look into the table generator program, there's a rounding problem in there which produces jagged texturing that I never solved. Looking down a wall, a horizontal band in a texture should monotonically reach the center of the screen, but there's noticeable jumping in screen space. This is just arithmetics in a C program and would need no tinkering in the z80 code. And as I mentioned in another post, play around with the perspective tables a bit to make the walls a wee bit fatter.

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #6 on: February 01, 2012, 02:17:01 pm »
Instead of stretching the screen, why don't you just use only a part of the screen? Sure you'll have a lot of blank area, but I'll look so much better.

Offline Hot_Dog

  • If you can't find a cat, look for its tail.
  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2966
  • Rating: +445/-10
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #7 on: February 01, 2012, 09:15:48 pm »
Instead of stretching the screen, why don't you just use only a part of the screen? Sure you'll have a lot of blank area, but I'll look so much better.

Because so many people complained about lack of fullscreen in Gemini.  Assuming that new fidelity will solve the blocky walls, there will be no need to stretch the screen or use only part of the screen.

EDIT: Btw, to answer your question coelurus, the Ti-83+ SE and Ti-84+ calculators have extra RAM, so I was able to create two textures for each wall, thus allowing 3-way grayscale
« Last Edit: February 01, 2012, 10:20:00 pm by Hot_Dog »
There are people who can speak two languages, and they are called bilingual.  There are people who speak three languages and are therefore trilingual.  Then there are people who speak one language, and these people are called Americans.


Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55895
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Would you enjoy playing Elimination in its current state?
« Reply #8 on: February 01, 2012, 10:41:51 pm »
Instead of stretching the screen, why don't you just use only a part of the screen? Sure you'll have a lot of blank area, but I'll look so much better.

Because so many people complained about lack of fullscreen in Gemini.
^This. I'm part of the TI community since before Gemini came out in June 2002, and almost everyone, even those who liked Gemini a lot, complained about the small screen size and the RAM requirement.

Question, though: Have you tried only rendering every two vertical row or something? I think that instead of having a few pixels being 2x2 large and others 1x1, 2x1 and 1x2, it would be best that the entire screen is 1x1 pixels or everything 2x1. The latter would still be a bit blocky, but it would look more uniform.

Offline coelurus

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +1/-0
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #9 on: February 02, 2012, 08:33:01 am »
I tried the 15MHz switch on the TI83+SE when Gemini was finished and it was way too fast, what are the major reasons that Elimination can not go from 64 to 96 columns? Compared to Gemini's target freq at 6 MHz, 15 MHz is more than doubled up and 96/64=1.5. Grayscale+background?

I can't remember the results of my profiling tests, which is slower of the casting and the texturing?

The texture scaler was based on looping 1:1 in screen space, having the coord LUT increase texture offset and a mem read for every pixel. What about walking 1:1 in texture space + drawing piecewise vertical lines in screen space? More overhead for piece setup but fewer mem reads. Lots of things to try here actually:
For small slivers, the 1:1 screen space code is probably optimal.
For big slivers, storing textures in a vertical rle-fashion could be interesting, to piece together the vertical lines.
Sorry, getting carried away, but I still think the wall LUT generator needs to be looked over, the jumpy texture coords are probably a major reason why the graphics look a bit more blocky than they should. I think I'll have a look myself.

People complaining about the small viewport in Gemini (which they rightfully did) isn't really reason enough to double pixels. Again, on a 96x64 screen, the spatial extent of every pixel counts so treat every pixel with love and cut the fancy additions and do 96 proper casts. Doubling for 96 would use only 48 casts, but the non-uniform scaling is pretty bad. Just my opinion of course...

I think some ornamental objects are a tad too detailed, could you try and reduce the complexity a bit and rely instead on big white/black areas? Outlines don't need to be very thick then.

Offline Hot_Dog

  • If you can't find a cat, look for its tail.
  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2966
  • Rating: +445/-10
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #10 on: February 02, 2012, 09:49:18 am »
It was the grayscale that slowed it down.  B&W for Gemini requires the screen to be copied only once per loop, grayscale requires about 3.5-4 times per loop.

Quote
People complaining about the small viewport in Gemini (which they rightfully did) isn't really reason enough to double pixels. Again, on a 96x64 screen, the spatial extent of every pixel counts so treat every pixel with love and cut the fancy additions and do 96 proper casts.

I know that now.  I have relatively little knowledge on raycasting, so I was hoping that making the screen bigger would be enjoyable enough for everyone, not just 50% of the people.  Whatever the case, you're talking to someone who's done very little research on raycasting ;D
There are people who can speak two languages, and they are called bilingual.  There are people who speak three languages and are therefore trilingual.  Then there are people who speak one language, and these people are called Americans.


Offline Camdenmil

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 121
  • Rating: +4/-0
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #11 on: February 02, 2012, 10:19:19 pm »
I had trouble with telling where walls were at first but I quickly got used to that. My main complaint seeing the enemy sprites, I usually have to rely completely on the health bars for them.
A friend stumbled upon this gpl raycasting maze for the 83+ a while ago. I haven't had a look at the source though. http://www.ticalc.org/archives/files/fileinfo/272/27287.html
It is bad luck to be superstitious.

Offline Hot_Dog

  • If you can't find a cat, look for its tail.
  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2966
  • Rating: +445/-10
    • View Profile
Re: Would you enjoy playing Elimination in its current state?
« Reply #12 on: February 02, 2012, 11:55:11 pm »
I had trouble with telling where walls were at first but I quickly got used to that. My main complaint seeing the enemy sprites, I usually have to rely completely on the health bars for them.
A friend stumbled upon this gpl raycasting maze for the 83+ a while ago. I haven't had a look at the source though. http://www.ticalc.org/archives/files/fileinfo/272/27287.html

Builderboy suggested white outlines for enemies, which I think will be a help.

That other raycaster is amazing, and it would solve all my problems!  Unfortunately it's not as easy as simply "cut and paste," I'd have to do a lot of adjusting, just like with adjusting this game to make a better fullscreen.  But I thank you very much for bringing it to my attention, Camdenmil!
There are people who can speak two languages, and they are called bilingual.  There are people who speak three languages and are therefore trilingual.  Then there are people who speak one language, and these people are called Americans.