(porting request) an improved/built upon, quake engine

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

(porting request) an improved/built upon, quake engine

Post by M.r Lemony Fresh »

Hi, i don't have a clue how hard it is to code (being a gfx artist) but from what i gather, starting something from scratch is a lot of hard work.
not only that, but there aren't a lot of things worth porting for the psp, that have a source code available, can be handled by the psp's hardware and are even worth porting.

So what if (insert lucky programmer here), were to get something that was already ported, popular, and mod-able like, say, the Quake hardware port by jurajstyk, and add a bit more to it.

what kind of improvement would make it perfect for anyone with a skill for making mods?

well these things would be kind of cool

pk3 support, md3 support, tga support, jpg support, dynamic shadows, some shaders here and there etc.

the psp can easily run quake, so why not push this port a bit? it still has so much to give. and the source is available.
we have had some really nice mods coming from quake psp, like counterstrike, quake1 arena and kurok.

here is jurajstyk's site, http://jurajstyk.host.sk/
and please, someone consider this, seriously, there will be psp homebrew mods from here to Sweden, and I'm sure a lot of them will be quality ones :P
the psp's homebrew scene (as we know) is boring as hell, and the HTML portals and Lua games aren't doing it any favours :P
common! give it a go. it will be worth it.
Image
MDave
Posts: 82
Joined: Mon May 09, 2005 10:43 pm

Post by MDave »

Kurok adds extra features to the Quake 1 engine, its not just a mod.

Skyboxes, Smooth interpolated animation (removing the need for md3 support), Colored dynamic lighting and lightmaps, takes advantage of the extra ram in slim psp's etc.
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

Post by M.r Lemony Fresh »

"Smooth interpolated animation (removing the need for md3 support)" not in the least, quake's models have a very small frame limit, poly limit, and the skins use that crappy quake1 palette. That's another thing, the texture formats are part of the programming and stick to the palette, no good at all.
quake's palette was only meant for one game, quake. because back in the day, they'd nitpick for unnecessary data, like a colour in palette that was rarely used, they'd remove it, until they had the standard amount of colours to get compatibility and performance.

"Skyboxes, Smooth interpolated animation (removing the need for md3 support), Colored dynamic lighting and lightmaps, takes advantage of the extra ram in slim psp's etc."

you didn't really mention anything there that blew my mind, these are all standard things. i have played it and i can't see any skyboxes...
But it's been done before in very early years by the Nehahra team

and coloured dynamic lighting? dynamic is when something adapts/adjusts to movements and conditions, and updates every frame. i diddn't see any dynamic shadows during play, assuming that it would be for projecting shadows from an character or object, unless your talking about how your gun lightens up then darkens down when you walk around shadowed spots, but that's standard to quake and has been there since the start.

does anyone have any convincing reasons for why not to add some decent enhancements like md3s and such to quake psp?
aside from "it's too hard to code" when there are plenty of good psp programmers out there who should know this is damn worth it.
Image
User avatar
Raphael
Posts: 646
Joined: Tue Jan 17, 2006 4:54 pm
Location: Germany
Contact:

Re: (porting request) an improved/built upon, quake engine

Post by Raphael »

M.r Lemony Fresh wrote: well these things would be kind of cool

pk3 support, md3 support, tga support, jpg support, dynamic shadows, some shaders here and there etc.
pk3, md3, tga and jpg support are just some file formats that would be supported and not really add to the engines capabilities from a user point-of-view. However, those are exactly the things you critized on MDaves Kurok - "It's all standard, have seen that already".
I'm gonna take this lightly, because you said you're an gfx-artist rather than a coder, so you're more towards the end-user point, that just notices visible differences (and not even those to some degree it seems).
I can't remember coloured lights or lightmaps being in the real quake 1 though, or having real skyboxes there, so those are indeed visible improvements - once that have already been done, yes, but seeing how this was done by another artist rather than professional programmer, it's a great job nonetheless.

Also, you're expecting too much from the PSP - there is nothing such as shaders on the PSP and the things you can achieve with the fixed pipeline are relatively limited. However, you seemingly want to see the uber-quake enhancement that's never been seen before - which won't happen, because any enhancement you could do on PSP has already been done on PC.

There's no doubt quite a lot one can ehance on the quake engine and make it more worthwhile to play with, but quake 1 is pretty much done with enhancements already. And even if it weren't - just having the uber-quake engine on psp, doesn't yet add to the homebrew market at all, as the quake gameplay would still be the same unless someone actually attempts a mod (which kurok does, it's a standalone game).

Anyway, I for myself dislike any shooter based games on the PSP anyway, because the controls are just horrible for that matter.
<Don't push the river, it flows.>
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki

Alexander Berl
MDave
Posts: 82
Joined: Mon May 09, 2005 10:43 pm

Post by MDave »

@M.r Lemony Fresh:

Well, jeez, sorry for helping. I won't bother next time.

There's something called RAM which the psp dosn't happen to have a lot of. 22MB for phat psp's, with a maximum heap size of only 14MB for Quake due to using the rest of the memory for global variables as well as the actual game code. Thats all thats left for game assets including sounds, models, map data + .lit lightmaps, sprites, menu gfx and textures. Try to see how many tga textures you can load with that little amount left.

If you have ever modded for Quake on the psp, you'd find out that its easy to run out of ram EVEN with paletted textures. There is no way in hell you'll see external texture support for any Quake engine on the psp. Only SLIM psps's can handle it, with its extra ram.

Of course skyboxes are standard, thats why I flipping well added it to the Kurok engine! If you missed the skyboxes in Kurok, then you obviously havn't played it longer then 2 minutes. There's even screenshots of it on the Kurok site!

Poly limit can easily be increased for mdl's in the engine code, which Kurok has done. Frame limit shouldn't even be a factor because you can easily use multiple models, switching them when needed in the game code.

The Quake color palette never limited the creation of Kurok, as well as other mods for Quake. Screenshots proove that. Kurok dosn't look remotely like Quake either. And it dosn't even use a custom palette.
Seen CSPortable? de_dust looks just the same as the real thing.

What I mean by colored lighting is the fact colored lightmaps are supported in Kurok, instead of the default grayscale ones. Colored dynamic lighting meaning the models are also effected by the lightmap data, instead of using, again, a grayscale format. Only Quake engine on the PSP that supports it too.

The only hope you have is if someone ported Quake 3 to the slim psp, and even then the chances of that are slim (no pun intended).

@Raphael:

You really should try some of the non-shooter mods for Quake, they'd fit right at home on the psp ;) Any type of game is supported, and thats the real beauty of Quake modding :)

Here's an example, Arcade Quake: http://qexpo.tastyspleen.net/uploaded/124/aq03.jpg
Last edited by MDave on Mon Sep 15, 2008 6:32 am, edited 1 time in total.
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

Post by M.r Lemony Fresh »

@Raphael

"I'm gonna take this lightly, because you said you're an gfx-artist rather than a coder, so you're more towards the end-user point, that just notices visible differences"

I'm just simply telling you what i saw

"Also, you're expecting too much from the PSP - there is nothing such as shaders on the PSP and the things you can achieve with the fixed pipeline are relatively limited"

i made a mistake, i said shaders, when i was referring to things such as sphere mapping.

"And even if it weren't - just having the uber-quake engine on psp, doesn't yet add to the homebrew market at all, as the quake gameplay would still be the same unless someone actually attempts a mod"

it's all part of the process, but i think that comes into qc.

MDave

"Well, jeez, sorry for helping. I won't bother next time."

what would help, is to make a suggestion after you've told me that my idea won't work, and please don't get upset, it's nothing personal.

"There's something called RAM which the psp dosn't happen to have a lot of. 22MB for phat psp's, with a maximum heap size of only 14MB for Quake due to using the rest of the memory for global variables as well as the actual game code"

yes, i know what ram is, and how much the psp is allowed to handle.

"Thats all thats left for game assets including sounds, models, map data + .lit lightmaps, sprites, menu gfx and textures. Try to see how many tga textures you can load with that little amount left. "

well, lets see, what image formats are small and compact, well i can name a few without having too much experience.
jpg, png, gif,
what's wrong with them? it's significantly better than making a beautiful detailed texture with plenty of colour and finding out you have to de-colour it so that it won't like like random grain.

"If you have ever modded for Quake on the psp, you'd find out that its easy to run out of ram EVEN with paletted textures. There is no way in hell you'll see external texture support for any Quake engine on the psp. Only SLIM psps's can handle it, with its extra ram. "

yes, i have modded for the psp before, quite a few times, i wouldn't have even asked for a better quake port, I'm not just some douche asking for better games to play for my psp.
no way in hell that I'll have external texture support for quake psp? why?

"Of course skyboxes are standard, thats why I flipping well added it to the Kurok engine! If you missed the skyboxes in Kurok, then you obviously havn't played it longer then 2 minutes. There's even screenshots of it on the Kurok site! "

your right, i didn't notice before because the clouds seem to almost loop (no offense) i should have looked better before jumping to that conclusion.

"Poly limit can easily be increased for mdl's in the engine code, which Kurok has done. Frame limit shouldn't even be a factor because you can easily use multiple models, switching them when needed in the game code. "

should have used it in your first argument buddy :P

"The Quake color palette never limited the creation of Kurok, as well as other mods for Quake. Screenshots proove that. Kurok dosn't look remotely like Quake either. And it dosn't even use a custom palette.
Seen CSPortable? de_dust looks just the same as the real thing."

yes, but it still cripples your art SO much, even 24 bit would be nice, let's face it, when it comes down to bright colors, like an explosion of burst of energy or sky, the palette chews up your work and spits it out.

"What I mean by colored lighting is the fact colored lightmaps are supported in Kurok, instead of the default grayscale ones. Colored dynamic lighting meaning the models are also effected by the lightmap data, instead of using, again, a grayscale format. Only Quake engine on the PSP that supports it too. "

i acknowledge that you had coloured lighting, but the dynamic part threw me, i thought models being affected by shadows was already there.

"The only hope you have is if someone ported Quake 3 to the slim psp, and even then the chances of that are slim (no pun intended). "

problem with that is, even if it were made, it would be a slim project, and phat just gets completely forgotten.

And I didn't realize you were part of the kurok team, but don't be offended by my criticism, criticism can be something to work by.
for the most part, i did enjoy the gameplay, so I'm not the kind of person who forgets to mention the positives


Here's why I'm agitated by the whole thing.

i have to wrack my brains out, then i come to you guys with an idea and I'm just told that it will never happen, and to forget about it. Why can't the coders use their knowledge of coding to wrack their brains out to think of a dead set modder's solution?
why not dish out some ideas instead of dismissing ideas?
i mean you have to agree with me on one note- this would be good if it could get done.
i can't stand being limited by quake1, no matter how you tinker with it and push it, it just doesn't stand up against the psp's capabilities.
and know that, that's one thing you've told me i can't do, so what's stopping you from thinking of another way?
We're constantly receiving boring 2d scrollers, lua, 'windows' portals, etc.
so nobody wants to contribute to us artists by making something we can use because they're too busy with something better? where is it?
if there were a project truly worth it's time, I'd ask to help with it in a flash. But at the moment, any creativity i put in is wasted by incredibly limited graphic capabilities.

why don't i programme?

well because i want to focus on gfx art, and improve myself in that area.
And i really don't like problem solving with icons and numbers, I'd dread having to get a job where I'd do that.

so, anyone want to suggest something? really, it would help. even if it's to tell me about someone else who has enough experience to do it.
Image
MDave
Posts: 82
Joined: Mon May 09, 2005 10:43 pm

Post by MDave »

JPG, PNG, GIF would not help at all. In fact it adds overhead, and it needs more ram to decompress the image before using it.

I'll educate you on a little something.

The format of the image dosn't matter. The bits per pixel the format uses to render it properly does. You can't load one of those formats into texture memory while it is in its compressed state, they need to be uncompressed first into a format the PSP can handle. And for a 24/32 bit image, it uses about as much RAM as an uncompressed TGA/BMP image. The only gain you get for using compressed image formats is smaller disk space.

I'll let you know that some of the best commercial games on the psp use paletted textures. Crisis Core is one of them.

They use a special properitory image format thats not compressed, is 8-bit paletted BUT each image contains its own palette, so the quality is the same as that of a GIF or PCX for example's sake.

Since there isn't any one standard format us homebrew psp developers have, we could go with the next best thing, which I believe to be PCX images. Thats pretty close to the ideal image format if you want pretty decent quality AND lots of free memory for these images. Overhead pretty minimal too.
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Post by Wally »

oh noes the dramas D:
User avatar
Raphael
Posts: 646
Joined: Tue Jan 17, 2006 4:54 pm
Location: Germany
Contact:

Post by Raphael »

M.r Lemony Fresh wrote: well, lets see, what image formats are small and compact, well i can name a few without having too much experience.
jpg, png, gif,
what's wrong with them? it's significantly better than making a beautiful detailed texture with plenty of colour and finding out you have to de-colour it so that it won't like like random grain.
As MDave already said, the compression of file formats doesn't matter at all for the ram usage, as all images have to be uncompressed to ram to be able to use them. The only compressed format that the psp understands is DXT.
However, even DXT is bigger than a 8bit paletted image, and also slower to render (because the image is bigger in ram even compressed PLUS, it gets uncompressed to cache and stays there like that for usage).

yes, but it still cripples your art SO much, even 24 bit would be nice, let's face it, when it comes down to bright colors, like an explosion of burst of energy or sky, the palette chews up your work and spits it out.
You don't quite seem to understand the different methods of "pallettizing".

The one is the original quake1 way of having a global screen palette (quake1 was actually written for vga 13h mode, which is a paletted screen mode, so there was no choice really), so all textures are indexed into that single palette, making the result look very bad, as there are only 256 distinct colors on screen at any time and most of the time a single texture must get along with less than those because they cannot be mapped to all the 256 screen colors. Be sure those times are long over.
Paletted textures as they are understood in todays graphics is that each texture has it's own 256 colors palette into which it indexes, and the screen is drawn in true- or at least high-color. So as long as a single texture can be represented well enough in 256 colors, you won't notice the difference to truecolor textures at all and even if not quite, there's very good dithering algorithms in graphics suites that make the image still look good enough (Who am I telling this?).
All this comes with the fact that the final output of those textures will actually have much more than the 256 distinct colors, due to filtering and blending applied to the textures, so you really won't see much difference on screen (unless the texture just contains a color fade between the corners [ie all pixels are supposed to have a distinct color], which is a very strange texture to be seen ingame).
It's common in commercial games to use such textures to reduce texture storage space, ram comsumption and at the same time increase rendering speed a lot.
i have to wrack my brains out, then i come to you guys with an idea and I'm just told that it will never happen, and to forget about it.
I can't really remember anyone saying this in that context... let me take a look... yep, no one ever said "will never happen" or "forget about it" regarding your initial request...
Only thing I read is "has already been done" (to some extent) and that you're probably expecting more than is actually possible (ie it "won't happen" that you see more on psp than has already been done to quake on PC, simply because the PSP isn't as powerful as a PC).
Anyway, Kurok is pretty much the closest to your request, adding a lot of features to the quake engine, but it still doesn't seem to fit your expectations, so I'm not sure what you actually want to see.
I'm not saying Kurok is the max you can get out of it, but it's already a nice base and as long as no modding scene builds upon such an enhanced quake engine (or the one by jurajstyk), why should it for an even more advanced (and complex) engine?

The sad fact is that the biggest part of the PSP homebrew scene is made up of 'end-users' and young schoolkids that want to start in development and hence don't have the knowledge yet to build such a modding scene.
That's why the psp news sites are mainly spammed with the 'windows portals', lua button testers and alike rather than worthwhile things.
The few remaining skilled people either are already filled with projects or just don't have interest in modding a quake engine (most likely because of the "has already been done" factor).

NOTE: That last sentence is just an assumption I make based on my view on the scene and may be completely untrue.


Well, at any rate, from what I understand you want to see a highly advanced quake engine that you feel is worth spending your time on modding for, right? In that case, better don't wait for things to happen but start out with what is already there and hope that by your work you will give new impulses to evolve the engine. It's not wrong to make such an request as you did, but you shouldn't wait for that request to be fulfilled before you do anything - don't be passive, be active.
<Don't push the river, it flows.>
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki

Alexander Berl
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

Post by M.r Lemony Fresh »

@MDave
Since there isn't any one standard format us homebrew psp developers have, we could go with the next best thing, which I believe to be PCX images. Thats pretty close to the ideal image format if you want pretty decent quality AND lots of free memory for these images. Overhead pretty minimal too.
All i know about PCX, is that i use it for quake 2 models, but isn't it capable of being extended to 24-bit?
and before you start again about ram and what not, what if i wanted to use 24bit for textures that had alot of bright colours/higher res and use the 256 colours for the smaller less veiwed/<doesn't need many colours> texture.
I'll let you know that some of the best commercial games on the psp use paletted textures. Crisis Core is one of them.

They use a special properitory image format thats not compressed, is 8-bit paletted BUT each image contains its own palette, so the quality is the same as that of a GIF or PCX for example's sake.
yep, i know.

@raphael
I can't really remember anyone saying this in that context... let me take a look... yep, no one ever said "will never happen" or "forget about it" regarding your initial request...
that's why it was an intended generalization, but in the end, the answer i get is as good as that.
(most likely because of the "has already been done" factor).

NOTE: That last sentence is just an assumption I make based on my view on the scene and may be completely untrue.
well the only thing that springs to mind, something similar to what i'm asking, would be the lte engine. but who's gonna agree to code? if i find anyone,(psp coders, i do have access to reliable pc coders) it won't be this year or the next.

one of the best things about making something for the psp that actual looks good (stable, but generous poly counts, 24/32 bit textures etc) and being able to show it to an employer, on a popular, thriving console, right there and then.
Last edited by M.r Lemony Fresh on Thu Sep 11, 2008 7:27 pm, edited 1 time in total.
Image
rapso
Posts: 140
Joined: Mon Mar 28, 2005 6:35 am

Post by rapso »

Raphael wrote: However, even DXT is bigger than a 8bit paletted image
sorry, but that is incorrect.
DXT1 is 4bit/pixel, dxt3/5 are 8bit/pixel, all 3 do not need an extra palette so there is no dxt format that is as big or bigger than 8bit paletted.
for small textures that fit uncompressed into the texturecache, dxt is quite a good format IMO, e.g. 64*32.
User avatar
Raphael
Posts: 646
Joined: Tue Jan 17, 2006 4:54 pm
Location: Germany
Contact:

Post by Raphael »

rapso wrote:
Raphael wrote: However, even DXT is bigger than a 8bit paletted image
sorry, but that is incorrect.
DXT1 is 4bit/pixel, dxt3/5 are 8bit/pixel, all 3 do not need an extra palette so there is no dxt format that is as big or bigger than 8bit paletted.
for small textures that fit uncompressed into the texturecache, dxt is quite a good format IMO, e.g. 64*32.
Ah yes, you are right. I somehow confused it a bit.
<Don't push the river, it flows.>
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki

Alexander Berl
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

Post by M.r Lemony Fresh »

sorry to bump the thread, but this has been bugging me for a while.
Poly limit can easily be increased for mdl's in the engine code, which Kurok has done. Frame limit shouldn't even be a factor because you can easily use multiple models, switching them when needed in the game code.
the limit is 1024 vertex, what pushed you over that limit??

i made this guy with only 381 vertex (still in progress ;))

Image

Image
Image
User avatar
Jim
Posts: 476
Joined: Sat Jul 02, 2005 10:06 pm
Location: Sydney
Contact:

Post by Jim »

I very much admire your low poly modelling - 300 for a person is very low and he looks very real. But that was where we were on PS1, so we should be able to belt out 1000 or so per character on PSP.

Jim
MDave
Posts: 82
Joined: Mon May 09, 2005 10:43 pm

Post by MDave »

A pair of arms with fully modeled fingers and a decent looking gun for a first person view weapon model easily requires a lot more then 300 polys (triangles if we want to be precise), which is the limit I was talking about, not vertexes, although of course the limit is increased for them as well.
M.r Lemony Fresh
Posts: 19
Joined: Wed Nov 21, 2007 4:00 pm
Contact:

Post by M.r Lemony Fresh »

I very much admire your low poly modelling - 300 for a person is very low and he looks very real. But that was where we were on PS1, so we should be able to belt out 1000 or so per character on PSP.

Jim
yeh i know, but this is for a quake mod, and i want it to run smooth.
A pair of arms with fully modeled fingers and a decent looking gun for a first person view weapon model easily requires a lot more then 300 polys (triangles if we want to be precise), which is the limit I was talking about, not vertexes, although of course the limit is increased for them as well.
yeh, but even the quake 3 railgun only uses 453 faces and 485 vertex, (for examples sake) anyway, I'll just drop it now.

EDIT: just finished that guy for those who are interested.

Image
Image
Post Reply