gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > DSQuake Pre-release

#121856 - yackom - Thu Mar 15, 2007 8:54 am

Hi everyone,

I have a pre-release download of DSQuake at http://dsquake.net and a video of its current state.

There is a little blurb about it so read it and if you have questions for us email me or ask them here.

I had planned on doing a pre-release about a month ago with Simon but it quickly became one of those just one more thing kind of situations.

Hope you guys enjoy it!
-john

btw the dsquake.net site just points to the blog I created before, I'll put up a proper site up soon I hope.

#121858 - MelGibson - Thu Mar 15, 2007 9:18 am

So you and Simon have a little Quake Competition going, eh ;)

Well I just downloaded it and the graphics look really superb to me. And also smooth framerate...Just awesome work. I really like the fog effekt you are using. Gives the whole Game some "depth"

I am using it on my M3 Mini SD and it starts without problems. However it crashed sometimes in the Necropolis Demo right after getting the Nailgun and shooting at the switch - if this is any help for you in debuggin..

Anyway keep up the good work :)

#121860 - LordOfThePings - Thu Mar 15, 2007 9:21 am

Hey all, I don't usually post around here but since I gave a little hand in the DSQuake project I thought I'd register and chime in too. I'll be taking a look at those forums from time to time.

I hope you guys like our DSQuake, it's not complete yet but it can already be quite enjoyable. It's hard to release when you always want to push more features in and optimize things a little better!

Also I'll take the opportunity of my first post here to thank everyone in the GBA/DS homebrew community, we wouldn't have Quake running on a DS without you all. And props to simonjhall - he did a superb job on his own port, and it sure helped to get us motivated and moving again when we saw he had such fast progress. A good dose of healthy competition is good for all ! ;)

See you guys around!
LOTP.

#121863 - simonjhall - Thu Mar 15, 2007 10:31 am

Very well done guys, it's ace! I'm at work right now (so I can't test it) but I just love the textured models - I had kind of forgotten that they're not meant to be pink :-)
And kudos on the networking too!

The race is on to make the finished product! I know what you mean though about the 'one more thing' thing - the final polish always takes so long.

Oh and I hope you've got good hosting which don't mind all the downloads :-P
_________________
Big thanks to everyone who donated for Quake2

#121864 - Sunray - Thu Mar 15, 2007 10:52 am

You two should really merge these projects. yackom's version look better but simons works on slot-1 cards.

#121882 - Oliv5400 - Thu Mar 15, 2007 1:20 pm

Good job !, nice video too.. could you build a DLDI version please ?

;o)

#121890 - FifthE1ement - Thu Mar 15, 2007 1:41 pm

Great job yackom, front page story! Its very smooth and he graphics seem quite complete over the "other" version. I also think it would be great to hook up and make one complete version with perfect performance.

http://www.moddz.com

FifthE1ement
_________________
Moddz Network: News | Homebrew Database |Developer Blogs | Wiki | Downloads

#121905 - HtheB - Thu Mar 15, 2007 4:21 pm

MERGE THE PROJECT!!!!!!!!!!




that would be awsome work guys!
_________________
check out my projects:
http://www.HtheB.com
Donations are welcome ^^

#121909 - MelGibson - Thu Mar 15, 2007 4:35 pm

I am not really sure how easy it is to merge both of the DS ports. I think yackom's approach involves preprocessing the gfx (and sfx) to a format that is optimized for the DS, while simons approach aims at running with the stock pak files quake provides...

But now seeing how fluid both of the ports run.. maybe one could aim at 90fps with both ports combined :P

#121910 - simonjhall - Thu Mar 15, 2007 4:38 pm

A merge was on the cards last month (that's why I released mine early), but the more I thought about it the more it seemed like hard work - harder than actually porting it like normal. Esp what with the proximity to the finish line! Think about it :-)

By the looks of it we'll both be finished soon... Competition is always a good thing for the end user - although it's prob extra stress for me and John!
_________________
Big thanks to everyone who donated for Quake2

#121938 - jester - Thu Mar 15, 2007 9:32 pm

Its your decision but i have a small suggestion would Simon creating and covering Quake2 and leaving what hes done to yackom e.g. code and yackom polishing off Quake that he is doing now!
_________________
If anyone needs a dragonball online email me @ aaronthejester@hotmail.com

#121962 - qazx - Thu Mar 15, 2007 11:52 pm

When I choose different level than demo it crash. Its only me or this pre-release isn't playable?

#121963 - Miika - Thu Mar 15, 2007 11:57 pm

qazx wrote:
When I choose different level than demo it crash. Its only me or this pre-release isn't playable?

It is playable, but onl shareware version (first episode)
The touch screen control is quite buggy but it works.
Which flashcart are you using? EZ4 here.
_________________
My DSQuake video: http://www.youtube.com/watch?v=03wz7nmaXa8
My QuakeDS video: http://www.youtube.com/watch?v=nNIKneo11o4

#121976 - daninski - Fri Mar 16, 2007 2:53 am

i'm getting the white screens of doooooom on my supercard lite (with the chism 1.7a), flashme'des v7...
_________________
www.holbrooksfilms.com

www.tdotodotm.com

#121992 - OOPMan - Fri Mar 16, 2007 7:36 am

simonjhall wrote:
A merge was on the cards last month (that's why I released mine early), but the more I thought about it the more it seemed like hard work - harder than actually porting it like normal. Esp what with the proximity to the finish line! Think about it :-)

By the looks of it we'll both be finished soon... Competition is always a good thing for the end user - although it's prob extra stress for me and John!


Agreed, I see no reason to merge the projects. Both are coming from different places and taking different approaches to solving the same problem. Personally I'm rooting for simon's version, but that's mainly because his dev process has been more transparent :-)

Well, anyway, time to download DSQuake and give it a spin :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#121998 - qazx - Fri Mar 16, 2007 8:48 am

Miika wrote:
qazx wrote:
When I choose different level than demo it crash. Its only me or this pre-release isn't playable?

It is playable, but onl shareware version (first episode)
The touch screen control is quite buggy but it works.
Which flashcart are you using? EZ4 here.


g6lite. I put the .ds.gba file on the root of my card. I have to do another thing?

#122111 - Link_of_Hyrule - Sat Mar 17, 2007 1:41 am

maybe you could make a map like ds doom has?

#122121 - yackom - Sat Mar 17, 2007 2:47 am

I think LOTP has been slightly modest in his role here as well, he has done at least as much work as I have since he started working on it which was after I went public the first time.

I'm slightly surprised that some people are having issues with the control, but I guess for whatever reason the ds lite screen is slightly more accurate. At any rate filtering these kind of things is very easy in the grand scheme of things. It wasn't something I focused a great amount of time on just yet.

Also I should say that the tapping to jump isn't quite what people might expect. It is actually triggered on lifting the pen after it has been lifted and not on the down contact. So the exact sequence is like this, the pen has been held down for a while looking around and so on, then you lift the pen and place it down if you lift the pen again within 5 frames it triggers the jump then not when it touches down again. I thought it would be slightly faster for people to do and therefore a benefit. I should have clarified before.

Some people are having a hard time running it I guess all I can say for supercard users is remember to rename the .gba to .nds before running otherwise the supercard tries to run the .gba in gba mode. Other cards may have similar issues. But I've personally seen it run on an m3 lite, supercard, supercard mini, supercard lite and have heard it works on others as well.

One thing I am very happy about is the fact that no one even noticed or hinted the fact that ALL of the level textures were in fact reduced to 16 color. I spent an extensive amount of time using 4 of the leading color quantization algorithms and I think it really paid off. 16 colors is a bit to few for monsters and guns and so on except for maybe a few but for the most part is just enough color for the walls. In some cases that still isn't enough memory saving so there are a few other tricks that were done as well like weighted precomputed reduced images. So all of the wall textures were only reduced to the closest but lower power of 2 of the texture size. So like a 288x196 would be a 256x128 its the hardware limitation of the ds since we are already low on texture memory upscaling is a bad idea.

I tried using a texture memory cache so I wouldn't have to resort to 16 colors, but there simply isn't enough bandwidth to the texture memory to do swapping of textures during vblanks. I wasn't able to push enough memory per vblank to make it seem feasible and things like defragging the memory and when you need to load a large texture waiting 20 frames or more just to load the texture between vblanks seemed like a very bad idea.

Also moving the subscreen to the H and I video memory blocks allows us to use the full 512k for texture memory. Which means later on that options for really fancy subscreen menus are going to have to be toned down slightly but I think thats ok.

polycount is still an issue, only using 2048 triangles per frame is a big limitation that and low texture memory pretty much forces us not to be able to do anything other than vertex lighting. I can think of a few ways to get decent approximations of lightmaps via vertexes and seeing how the game looks pretty good now I think that will be acceptable.

#122139 - MelGibson - Sat Mar 17, 2007 8:04 am

Wow .. the walls are just 16 colors ? I wouldn't have guessed. Maybe you should't have revealed that secret. I just restarted the game to check, and I have to admit that it is still not obvious to me that the wall textures colors have been decreased at all. Excellent job there.

Maybe to free up some memory you can use some kind of texture compression, which the DS should support. Appearently its similar to S3TC.
Some info can be found here:
http://shashemudev.blogspot.com/2006/09/texture-compression-and-register.html
http://nocash.emubase.de/gbatek.htm#ds3dtextureformats

Anyway keep up the good work :)

#122140 - yackom - Sat Mar 17, 2007 8:32 am

Texture compression is a no go, I have looked into that a lot too, I even wrote a texture compression program. http://forum.gbadev.org/viewtopic.php?t=9963

The big problem with it is the largest part of the texture, the texture blocks have to be put into texture memory block E and up which is a total of 96k. Also you can only use texture blocks 0 1 2 for compressed textures. After all said and done they are 7bbp unless you do a heavy reuse of blocks but I don't like those type of artifacts. 16 color uses only 4bbp + palette info which isn't much at all.

And as for keeping the 16 color thing a secret I don't see any point a lot of people see this to be some sort of race but keeping knowledge from each other its not what the community is about, well as long as I do get at least a little credit for doing it in Quake first :). I wouldn't care if Simon did it as well I think he should in fact. Before he started his port he asked me in email for some tips and I told him then that he should help finish the one I started it but he wanted to do it for himself. Which is commendable and he has done just that.

#122152 - MelGibson - Sat Mar 17, 2007 12:08 pm

Oh now that you are nose-tipping me on your own post on texture compression, I even remember reading that post. ;)

In fact I already persumed that you have looked into texture compression, but I still wanted to raise that topic in case you have not (even thought the chance was quite small) :)

As with keeping the 16 colors secret I was just kidding of course :P
I have to admit that when I read it, I instantaniously booted Quake up to check how visible it is - and it is not all...

Cheers

#122243 - Miika - Sun Mar 18, 2007 1:38 am

I made a video of DSQuake! Also doing wireless deathmatch between my DS and my PC!
http://www.youtube.com/watch?v=03wz7nmaXa8
_________________
My DSQuake video: http://www.youtube.com/watch?v=03wz7nmaXa8
My QuakeDS video: http://www.youtube.com/watch?v=nNIKneo11o4

#122263 - LordOfThePings - Sun Mar 18, 2007 5:41 am

Miika, that was a very cool video to watch ! Nice to see some people have been able to use the telnet and networking stuff :)

I wonder if anyone outside of me and yackom has needed the tunneling program yet?

It works fine, but it's too bad that the Quake protocol wasn't designed for high-latency networks at all. So it lags quite a bit depending on the ping of the connection, and there's no prediction. This has nothing to do with the proxy or DSQuake, it doesn't add any lag... it's just Quake itself.

Anyway, if you want we could hook up for a little game of DSQuake over the net ! heh.

#122288 - Miika - Sun Mar 18, 2007 11:23 am

LordOfThePings wrote:

Anyway, if you want we could hook up for a little game of DSQuake over the net ! heh.

Thank you.
Heh we could, though I suck and I experienced some lag when I played.
Anyone else with us?
_________________
My DSQuake video: http://www.youtube.com/watch?v=03wz7nmaXa8
My QuakeDS video: http://www.youtube.com/watch?v=nNIKneo11o4

#122428 - OOPMan - Mon Mar 19, 2007 8:03 am

I finally got a chance to try the DSQuake demo this weekend. Very nice work guys. It looks amazing and runs really well. The 16-colour walls trick is pretty amazing. I guess we can be thankful Quake is "too brown" for words ;-)

Anyway, a really nice release guys. I imagine you're aiming to get the sound crackle-free for release, though?

Anyway, good work...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#122443 - kusma - Mon Mar 19, 2007 11:29 am

won't the 16 color textures more or less kill the possibility for lightmapping? (since the ds doesn't support multi-texturing, i assume the lightmap-cache would be used for baked textures...)

Oh, and good work btw :)

#122458 - tepples - Mon Mar 19, 2007 2:00 pm

kusma wrote:
the ds doesn't support multi-texturing

The DS supports a form of dual-texturing on polygons with different "poly ID", but polygons that use it take up twice as much space in the hardware's vertex list.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#122463 - kusma - Mon Mar 19, 2007 2:34 pm

tepples wrote:
The DS supports a form of dual-texturing on polygons with different "poly ID", but polygons that use it take up twice as much space in the hardware's vertex list.


Precisely. I kind of assume that the polygon limit is an issue in the first place.

#122695 - yackom - Wed Mar 21, 2007 8:28 am

Thanks for the video Miika I quite liked it. Yeah I forgot that I needed to look into the sounds a bit for the Lighting gun, but then again it really isn't in e1. :)

Sadly Both me and LOTP are quite busy with our work careers for a while, so I'm not quite sure when the next release will be, what will be fixed in it and so on.

OOPMan, yeah as for the sound I wrote most of that code in like a day or two and never touched it again. I think it probably needs to be completely rewritten because I think the sound code is the main problem for the stability issues. And to be honest I'm not sure how good using a irq-timer would be as a replacement for the lacking hardware sound cursor. Anyone have some good tests/info related to that?

As for the lightmap/texturing stuff... we are defiantly low on free polys we hit the limit now and then, so rendering the world twice is quite the challenge. We will try hard to do the right thing but working on the DS as we all know isn't without constraints. I can think of some things that could really help out but without them implemented yet its hard to say what the real empirical outcome will be. But the visual quality of Quake is something I am willing to exhaust all options on, you can bet on that.

again, thanks everyone.