|Posted by NiG on 2010/10/19 16:55:15|
|Hi all !
My name is Nicola, I'm an italian programmer, and a DooM-Quake addicted :) I was convinced by a very gentle and helpful mapper (RickyT23) to introduce here my own engine made from scratch.
It's a deferred renderer engine on which I've been working for almost two years. It is NOT made using some existing code, like the quake engine source code, so it's completely different from all the existing quake-based engines.
In fact, it doesn't read BSP file, but the source MAP files. It has a per-pixel colored lightning, smooth shadows (for now only on spot lights), bloom and SSAO. However, everything is still in process and being improved.
It has also a basic physics system (quake-like), writen by me, of course, but maybe in the future I will switch to some library. And it has a basic AI.
It implements all the basic weapons, like pistols, shotguns, rocket and grenade launcher. However, everything is possible.. for example I'll make the DukeNukem3D weapon that resises the enemies :D
It has to be considered as an "amateur" engine, not a commerciable one. Not for now at least. Plus, I'm working alone... it's hard ;)
In fact, it misses many things: sound system, a menu, a HUD. Moreover, it doesn't have a stable version for now.
It's worth saying also that a friend of mine is helping me on writing the LAN code.
I'm gonna link some screen shots, taken from some maps RickyT23 gave to me.
My idea, or better, my dream-proposal, is to make a survival horror game. I was talking with RickyT23 about some maps set like the horror movie "The Thing", in a scientific base in a some isolated place, like the south-pole, with snows, fog, open spaces, lots of scary enemies and everything that can contribute to having a distressing, stressful and neurotic scenario.
I'm a programmer, not a mapper at all.
Question is: is there someone who could help me in this ?
Ok, I've talked too much, it's enough for now :D!
Thank you for reading !
Very gentle lol.
That is all.
The engine doesn't look too much like ass, which is a rarity.
How does the engine handle culling and determines visiblity if it doesn't rely on precompiled bsps and vis data?
Here We Are
@nitin: maybe the screenshots give the idea the engine doesn't deviate from the look of quake just because the shots are using quake stuff altogether. Above all the textures. Some shots are not using Quake 1 stuff, and I dare you to connect my engine to quake's engines.
Anyway thank you for the appreciation, this makes me happy.
Finally, I gotta repeat it: I'm not working on an engine in order to remake Quake. It's designed in order to make a completely new project.
@negke: actually, it does a precompilation of the map, but for now this is done at the time the map is loaded. The renderer is using an octree to handle triangles faster (but I'm about to add another one to handle the entities of the scene). The physics module is using another octree, but bigger that the renderer's one.
To make both the octrees, on a 60.000 triangles map, kinda 15 seconds are required. In the future, this operation will be done offline and stored in a file which will be loaded in few milliseconds.
Except from this, everything is computed on the fly, in realtime, including the visibility data for objects and lights. I'm using a personal approach of "Hierarchical ZBuffer Visibility" [greene-1993] to cull in a fast way as much objects as possible.
Yes, to really convince people I should let them to toy with the engine. That's impossible for now. Instead, I could upload some videos on youtube. This would be better that just some shots, isn't it ? ;)
not sure if it came across that way, but my comment was meant to be a compliment.
I was simply trying to say that this is one of the few custom engine screenshots I've seen that make me able to say: I would like to see Quake in that engine.
I realise that's not your aim, but those were my first thoughts on seeing the screenshots.
Youtube videos would definitely be interesting.
ah, ok, that's great !! Thanks :) I'm always hoping that something good will come from this hard project.
Actually, since I'm using only quake assets, it's already possible to "see Quake in this engine". But I need some more time.
it looks nice so far! Can you share any details of the project you're planning to create with the engine?
Very interesting. When it's 'stable,' do you plan on releasing the source?
thank you for the appreciation !
Honestly, I don't have a real project in mind. I can't have one because I don't quite know if my engine is good enough to build something for real people to use and enjoy. However, why not giving a try ?
So I need some artists to make the assets, the maps in particular.
As far as single player is concerned, my idea is an horror FPS; I've already explained the concept in the opening post. I would immagine something like "The Thing" movie: open and desert scenario, a scientific base in the middle (some laboratories, a plant, a warehouse, some big antennas, a turret, a bunker) with dark lights, snow, wind, fog... confusion and anxiety :)
I'm asking for some help from you mappers.
Obviously, the maps will be yours, not mine. So if the project will not never get finished, you can always enjoy the maps with regular quake engines.
well, I don't think so. I believe the source code is something very personal, and very hard to make. Besides, I'm not such a great programmer that others want to read my code, and maybe learn. At least, I don't consider myself to be. So sorry :( Are you a programmer ?
crappy reasons for not publishing the sources. If other programmers thought like that, there would be no open source. Because it's hard to make? Everything that's in any way worthwhile is hard to make!
You can agree or not, of course. I don't think this is the best place to start a discussion about open souce philosophy. Obviously my reasons are more complex and deeper. If you'd like, we could open a thread and talk about it ;)
Anyway, I like Carmack's philosophy: he uses to releases the source some years after the release of the product.
I don't think this is the best place to start a discussion about open souce philosophy
if you look in the archives here, you'll see we discuss it at every opportunity :)
Baker and Inertia didn't show up yet? No one mentioned Quoth?
Wow. That's lethargic.
The short version is that open source is great.
Doubting Thomas Redux
I guess your doing you engine for the thrill. Engine coding is decent technical achievement. Congratulations (Beers) ;>
But believing you can turn it into a worthwhile fullscale Horror FPS is a little naive. Other projects, with a much more solid basis, already exist. The Hunted Chronicles
, They Hunger
(commercial, but great and free), and The Dark Conjunction
Of course it's possible, but implementing it's missing features for Q1 (and even other similar games) is a more realisable goal. And gaining a strong working community without releasing the code, will be kind-of impossible.
thank you stevenaaus :)
I started doing the engine in order for me to have a reputation and a chance to be hired in some game company. Plus I AM a programmer, and coding 3D engines is perhaps the most exiting and artistic (yet hard) thing.
Recently I've had the idea of exploiting the engine to make a short and enjoyable game. That's also why I'm here.
I don't mean to make a worthwhile world-successful blockbuster game. Just a small episode, because I know I can't ask too much neither to myself nor to other people.
Also I can't guarantee anything, like I've already said.
I saw the other conversions you linked. Except of Penumbra, no one is free. And some of them have an old looking graphics. Why artists should be interested in C++ code ?
Anyway, so far my engine is shit too :)
I was just wondering is someone would like to accept an idea, a PROPOSAL, for his next map. That's all. I'm not asking for new models, new maps, new weapons, and all this stuff for me only. Not at all. I just "threw" an idea ;)
I think the biggest gift you could give as an engine programmer would be an extendible framework to allow anyone to make whatever game they liked. You know, like we do with Quake, but without the 14-year old baggage of compatibility holding it back.
well, that could be possible with a completed engine. As I said, my engine is still "work in progress". It's not a complete game engine, it's more like a "prototype".
Anyway, what kind of features would you like an FPS engine to have ?
Though that'd be difficult to get right without a continual mapper testbed.
A better request, one that'd probably help you a lot more, is the ability to grab demos directly from the engine - ready to be uploaded to YouTube.
vs. framework oriented, of course.
you don't want to release the src :)
you're right. It can be frustrating for a mapper to make a map without the possibility to test it, if you meant this.
All I can say is that soon (months ?) I caould release the bins in order to launch maps. But the engine right now has TONS of limitations: for example, textures cannot be packed in a unique file. To load a map, the .map file has to be provided along with all the textures.
To grab a video, something like 'fraps' can be used.
LUA is scheduled. Recently I bought the book "game coding complete - 3rd" which has an entire chapter for LUA.
It's too soon to talk about a "framework". Hey, does anyone have any clue about the difficulty to make a game engine, which includes a 3D graphic engine, a physics engine and a logic system ??? :P
I'd like to have people who could help me, but I'm alone ;)
We're Just Appreciating Your Work...
by bouncing crazy ideas off you. ;)
Engine programming is certainly harder than mapping, hence there's lots of mappers but engine gurus are few and far between. What you have already is very impressive. The pifalls of BSP compiling and visibility calculations have always been a weak point of Quake. Bypassing those stages entirely would be a really nice option to have as a mapper. I could probably create some really interesting environments that would never compile well in Quake.
THANK YOU guy !
I'm very glad about your reply.
Yes, engine programmers are few, I kinda know only 3-4 italian game programmers. This doesn't help :(
Well, right now my engine doesn't suffer from the open-space limitations of Quake, yet it's not a Crysis map-like engine. Games like Far Cry or Stalker use a terrain engine, a thing that I am not interested in.
Anyway I remember very big spaces in Return to Castle Wolfstein (2001 I think), and it was using a Quake-3 engine, which is similar to quale-2, which has the same limits.
Grahf, if you would like to challenge yourself with a "The Thing" like enviroment, my engine would be happy to run it :D!
In Engine Editing
If you are using Quake's .map format and not bsp for your level data then perhaps you could implement an editor in the engine? Having a full real-time lighting preview at all times would rock.
I am just starting to write a Quake map editor, but I suck at programming :(
Hi, Nig ..yes I'm Interested In..
I perfectly get the point of your idea.. cause icy/snowy setting in a game is one I really love.
I'm a mapper/musician mostly(with little qc code knowledge), I've been using Worldcraft/Hammer editors for 6 years, my completed works are:
-HalfLife mod: TheCircle(she never sleeps) based on blockbuster movie TheRing
-Quake: nothin published yet, but some completed projects lying in my hdd
..If you're interested in sort of collaboration
let me know and I could show you somethin
hi man, that's a good news :)
Ok, so I have to talk about two things.
1) My idea: a single/multi player big map (or two-three maps) settled on a "the thing" like scenario. Kinda horror ambient, a base isolated by the rest of the world which has all the facilities needed to live (a warehouse, a power plant, a tech lab, and so on), that has some floors underground. A level, however, where you don't just have to shot and survive, but maybe to interact with the map.
2) This is the MAIN issue: please, do not start making anything expressly for my engine, because, as I said many times, it's more a tech demo than a complete game. It has tons of bugs/limitations compared to a commercial game.
I would propose this kind of map/game just like I was proposing a map for an existing quake-engine. That's all. If my engine fails, the map is still usable with other engines.
So, finally, yes, I'm interested. I would be glad to see somthing you made, delor3.
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.