Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - coelurus

Pages: [1]
1
Elimination / Re: Would you enjoy playing Elimination in its current state?
« 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.

2
Elimination / Re: Would you enjoy playing Elimination in its current state?
« 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.

3
Elimination / Re: Elimination: A New FPS
« on: January 27, 2012, 05:45:01 pm »
Here's a copy of my post in the Introduction sub-forum:

---

Stumbled upon Elimination today, thought nobody was going to use the Gemini source code. Glad so see somebody decided life wasn't gonna get any better ;D I haven't touched z80 since Gemini, the first TI83 infinite plane demo (I see there's a Zero-Wing thing going on, goodie) and some hopeless excursions in 6 DOF 3D culling. Still, would be glad to help if there are any questions about the Gemini code. Tried to post in that sub-topic, but wasn't allowed to so I'll just copy-paste my post here.

Few things about me for those who haven't met me (I do not recognize many of the nicks around here): I'm cynical, glad to offer constructive criticism but I hardly ever pat people on the back unless they're about to pass. So let me get this over with: Looks nice. From now on I'll run in cold mode.

Skimmed through some topics, I do agree that far away sprites look a bit blocky compared even to the ancient Gemini. Remember to design levels taking into account the crappy resolution of the TI84, long distance encounters need some space. I hardly ever did, in fact I never even played through map 3 in Gemini IIRC, but I figured after I had released the game. Turned out alright.
It seems you have a way to store loads more data on the calc than Gemini ever did, so I would suggest mipmapping for all sprites. Use pixel-wide details, select a mipmap by the projected screen size and only ever scale up, never down except maybe beyond the smallest mipmap. If you go for 32x32, 16x16, 8x8, the scaling-code should be fairly trivial to update.
The perspective projection looks very harsh now that you have the caster fullscreen, I would suggest generating new perspective LUTs to get larger walls for a longer distance. I don't remember if I used "f * x / z" of "f * x / (z + z0)" with z0 being a hand-adjusted parameter. Try the latter option and play around with z0 to get a "beefier" perspective projection.
The gun perspective looks odd in fullscreen. Don't settle for a Doom approach, they did that back in '93, just do it right.
I remember there was a bug with the hit detection in Gemini, which was the bug that was mentioned in the dev docs in the Gemini zip. Did anybody find this and fix it?
Personally I think the background esp. on level 17 looks terrible Devil Your decision entirely and if people want it, by all means go for it. I seriously thought you had introduced a bug in the graphics code when I saw that vid on yt...

I may not be super-responsive, but ask questions or whatever and I'll try to answer them in due time. Try PMs if I go silent.

4
Introduce Yourself! / Re: Greetings from a distant past
« on: January 27, 2012, 05:42:50 pm »
What's the deal with the peanuts?

You remember my past better than I do, I had completely forgotten about Drubu.

I'm currently a Ph.d. at CERN, writing my mid-term thesis in nuclear physics on my project on polarizing beams of exotic nuclei :hyper: I have been busy with programming on my spare time too, been doing a lot of 3D programming alongside some excursions into safe C++, testing, coverage etc. I wish one day I will realize I was born to write code for computer graphics, it's the one thing I can think about in any situation I'm in. In fact I have started a programming company with a good friend of mine back in Sweden. For game development eventually of course.

I'll try and post something in the Elimination thread then.

Never really got a hang of what Chickendude did back in the day, but tr1p1ea I remember well. I thought Maxcoderz was dead. Talked to Gergely not long ago, he hasn't touched the calculator for ages either.

I treat everybody without bias, good enough? ;)

5
Introduce Yourself! / Greetings from a distant past
« on: January 27, 2012, 09:20:53 am »
Hiya 8)

Stumbled upon Elimination today, thought nobody was going to use the Gemini source code. Glad so see somebody decided life wasn't gonna get any better ;D I haven't touched z80 since Gemini, the first TI83 infinite plane demo (I see there's a Zero-Wing thing going on, goodie) and some hopeless excursions in 6 DOF 3D culling. Still, would be glad to help if there are any questions about the Gemini code. Tried to post in that sub-topic, but wasn't allowed to so I'll just copy-paste my post here.

Few things about me for those who haven't met me (I do not recognize many of the nicks around here): I'm cynical, glad to offer constructive criticism but I hardly ever pat people on the back unless they're about to pass. So let me get this over with: Looks nice. From now on I'll run in cold mode.

Skimmed through some topics, I do agree that far away sprites look a bit blocky compared even to the ancient Gemini. Remember to design levels taking into account the crappy resolution of the TI84, long distance encounters need some space. I hardly ever did, in fact I never even played through map 3 in Gemini IIRC, but I figured after I had released the game. Turned out alright.
It seems you have a way to store loads more data on the calc than Gemini ever did, so I would suggest mipmapping for all sprites. Use pixel-wide details, select a mipmap by the projected screen size and only ever scale up, never down except maybe beyond the smallest mipmap. If you go for 32x32, 16x16, 8x8, the scaling-code should be fairly trivial to update.
The perspective projection looks very harsh now that you have the caster fullscreen, I would suggest generating new perspective LUTs to get larger walls for a longer distance. I don't remember if I used "f * x / z" of "f * x / (z + z0)" with z0 being a hand-adjusted parameter. Try the latter option and play around with z0 to get a "beefier" perspective projection.
The gun perspective looks odd in fullscreen. Don't settle for a Doom approach, they did that back in '93, just do it right.
I remember there was a bug with the hit detection in Gemini, which was the bug that was mentioned in the dev docs in the Gemini zip. Did anybody find this and fix it?
Personally I think the background esp. on level 17 looks terrible :devil: Your decision entirely and if people want it, by all means go for it. I seriously thought you had introduced a bug in the graphics code when I saw that vid on yt...

I may not be super-responsive, but ask questions or whatever and I'll try to answer them in due time. Try PMs if I go silent.

Pages: [1]