PDA

View Full Version : Side Effect



pjpdev
08-05-2009, 05:45 PM
Mmm... Another quiet day on PGD. But anyway, let me start.

I thought to myself, "screw the secrecy!" so I'm gonna spill the beans. A while ago I got a great idea for a FPS, but the planning didn't take off that well. Now I have a great vison of how I want it to be. I called the project Side Effect, can't remember why, and it's another open source project licensed under the GPL.

The idea I have:
Develop an exciting new FPS that can compete with the commercial products, like Unreal Tournament, etc... I want to design the engine totally from scratch, not base it on the Quake3 engine. This will be a huge task, and there is still a lot of planning to do.

Keep 'em coming:
When it gets released some day in the future I plan on making official full releases once a year, eg. Side Effect 2009. For each official release, updates and patches will be released when necesary.

I want to make a 100% free, open source project.

Any ideas to blast into the engine are welcome and appreciated. ;)

chronozphere
08-05-2009, 10:46 PM
Hi there, ;)

That seems like a huge (i mean... HUGE) job. ??? Did you ever make something big?

My first advice would be to ask yourself the following question: What makes my FPS stand out?

From what i can tell about your post, you just want to write a big FPS that can compete with the commercial ones. But that's impossible unless you have a really good game-concept. A concept that is original and keeps you motivated for a long time. It also might encourage other programmers to help you with the project.

You are talking about writing an engine. If you want to make games, I'd advice you to make games and not engines. Ofcourse you could make an engine first, but that must be your main goal then. If your main goal is a game, just pick a good engine and carry on. ;)

An engine for a full-blown commercial FPS involves:
> A rendering API (DirectX or OpenGL?)
> Render engine architecture: Forward or deferred rendering?
> Support for one or more kinds of (preferrably animated) models.
> Skeletal animation and Inverse kinematics
> Shaders / Materials
> Supporting different image/texture formats
> A scene graph with some kind of space partitioning system
> A fileformat to load/save entire levels
> 3D Collision detection and picking
> A sound engine with a bunch of features (volume, pitch, 3d sound etc)
> An input module (Keyboard, Mouse, Joystick gamepad, key-bindings etc)
> A networking module (peer to peer and/or server-client based)
> A bunch of math routines and classes
> and the list goes on...

I don't want to discourage you, but I just want to make sure that you realize what a huge task this is. Writing such an engine would at least take a year but probably two or more. I've been writing engine(s) for almost 3 years and I've learned alot about graphics and programming, but I still don't have a finished project. :no:

One more tip: As a game developer you will eventually hear the "wouldn't it be cool if..." voice in your head. You shouldn't listen to it while you are working on your project. It's best to make plans/designs and stick with them, instead of changing your whole codebase every week. I still have a hard time not to, and I spend loads of precious time making changes to my code while this isn't neccesary. To keep things under control, you should make a list of things you will DEFINITELY NOT add to your game. The longer this list is, the better. :)

That said, I wish you best of luck with this project. I hope you can come up with a nice concept and some good design plans. From my experience, these are essential and will help you to get this done. :) Keep us posted!

arthurprs
09-05-2009, 12:06 AM
sorry, but i don't think it will happen :no:

think small, do big ;)

Brainer
09-05-2009, 06:25 AM
And here's my ten cents.

I've been an active programmer for 9 years now and I've always wanted to make a game. Just like chronozphere said earlier, it's a big task and it definitely won't be easy to complete.

You can always use free engines (like OGRE or Irrlicht), so that shouldn't be that much of a problem. But there's the artistic side which is a big problem.

But nowadays people are accustomed to uber graphics and incredible music and sound effects. Without a good team I don't think it's possible to create stunning art, as most programmers aren't that skilled as an artist is. And believe me, it's hard to find someone who would work for free and unfortunately, models aren't free either. :(

If you want to make a game, get some budget or maybe a sponsor? But I suppose you'd have to show the potential sponsor that you're a worthy one to invest his money in you. But then, your game couldn't be open source, I'm afraid.

Anyway, here's what I think about it. I hope you don't get it wrong, I didn't mean to discourage you or anything, but I want you to realise that making a big game isn't that easy as it was supposed to be a couple of years ago.

End of transmission. :)

User137
09-05-2009, 07:26 AM
It's funny that you mentioned Unreal Tournament, because i think it's using one of the best fps engine there ever has been. It feels so good it was, and still is stunning. I had never before seen a truly 3-dimensional world built from round shapes and incredible collision and physics. To put it in perspective, many many commercial fps games have tried to be good. Almost every single one fails to get to level of Unreal engine. Lucas arts (All starwars based games), Quake, Half life, Battlefield... i could name a few more fps style games with inferior graphics and/or gameplay :)

Just want to be realist... You could make many good games in time this would take, if it at all possible.

Wizard
09-05-2009, 10:32 AM
I have to agree with the guys who commented to your post, unless you have a lot of resources, expertise, advanced math skills, patience, partners, general skills...(well, the list goes on and on...) you won't succeed. All of us have HUGE aspirations, I would like to make a better OS, and a game that will be the best ever etc. but unless you start small it will be a waste of time...

Start making a game first and show it to us. ???

It's not as simple as it seems...you have to understand the engine you're using; you have to know how to build State Machine states into your game and a lot of other things...

Good luck with everything ;)

pjpdev
09-05-2009, 11:50 AM
Okay... :o Wake up call... Thanks for all the comments guys. The planning on this is gonna take loooong... Knowing of that huge list. The libs I plan to use are SDL, OpenGL, OpenAL and Vorbis. That's if to say I don't find anything little less complicated. So now the questions in my head are going wild... So here's one:

Should I use an existing engine (eg. Quake3) and work from that? Maybe juicing up the graphics a little, etc.

Another question: What good FPS engines are out there thats written in Pascal/Delphi?

And I should really think this over good... ???

noeska
09-05-2009, 12:18 PM
As said making an game engine is not an easy task. E.g. have a look on the state of my 3das project. Luckily i am in no hurry.

As for giving a headstart you could investigate the following on quake vs delphi:
http://www.geocities.com/jimmyvalavanis/applications/delphiquake.html
http://www.sulaco.co.za/quake2/default.asp
and if you go for quake do investigate the licensing around that for commercial usage if you want to go that way.

But as said maybe try something smaller first.

pjpdev
09-05-2009, 12:46 PM
Thanks Noeska. This will be an open source project. I will have a look at the Quake2 sources and see if I can do it that way.

Just one thing I forgot to say earlier. I want to make a game, with the idea of it having it's own unique engine. But I'll look into other options for now.

Memphis
09-05-2009, 07:00 PM
let me just add, i've been coding since i can remember.... don't ask how long... i got into 3d programming couple year ago (just before i joined this forum) i started off with writing a small 2d engine, after alot of help from some of the great coders here i finished a 2d engine (not a game) and understood everything about it, it was very good, i could probably write some commercial games with it... anyways then i moved onto 3d coding, and i wanted my own 3d engine, which again after help from some people here i got to understand more about how the directx framework was working underneath the api calls.... so to finish it up... i have my own 3d engine now, i develope commercial simulations/games for companies, it may not be unreal level, but it is good enough for what i do.... for those people that say think small, do big etc, don't listen to them, they are gremlins.... think big, start small is how it should be done, and for ideas, "wouldn't it be good if".. dont scrap them, write them down in a notepad and save them on your computer, after you finish the basics, go back to that document and you will find alot of ideas you forgot about, then you can start improving what you have already made.

if you have already worked on small time projects releated to 2d/3d coding, then you have already taken the first step. do what i did, keep trying, trial and error, ask for help, and you will get where you are going.

IF you are determined - you will get your project moving. (dont worry about it being great, just keep moving ahead, other coders will get interested if it is open source)
IF you are not determined - give up now....

;MM;

Wizard
09-05-2009, 08:26 PM
don't listen to them, they are gremlins....

:D :D :D

By all means, let him try...who knows... ???

We were just pointing out the realistic problems that will have to be dealt with...

Memphis
09-05-2009, 08:51 PM
haha i know i just had to write it tho :P :D but anyways my point is, if you are determined, then anything is possible, and for ideas - if you have ideas - and you have interest, the ideas will make you want to move forward 8)

WILL
09-05-2009, 08:58 PM
The libs I plan to use are SDL, OpenGL, OpenAL and Vorbis.

I think that these are a great combination, because even if you didn't go cross-platform they are very easy to work with and derive your own routines and functions from.


Should I use an existing engine (eg. Quake3) and work from that? Maybe juicing up the graphics a little, etc.

Another question: What good FPS engines are out there thats written in Pascal/Delphi?

You should first look in the PGD Library. There is a whole guide to current and discontinued (but still availible and highly useable!!!) I've added all the 3D game engines ones that I know of all written in Pascal/Object Pascal. You may be able to find one that closest matches what you want your game/engine to be like and modify it so that it'll support what you want.

Go here and have a look: http://www.pascalgamedevelopment.com/PGDLib/GameEngines3D

(Please note that I may have not put in all the information in due to my own lack of free time, but you can look up the names thru Google and find them easily.)

pjpdev
10-05-2009, 11:13 AM
Thanks WILL.

I'm in no hurry with this project. I knew when I got the idea that it'll be difficult and take long. I'm one of those guys that likes a challenge, if I don't get challenged by the technical aspects of projects I tend to get bored with it.

Brainer
10-05-2009, 11:28 AM
What about graphics? Do you know anyone able to create art for you?

pjpdev
10-05-2009, 12:02 PM
What about graphics? Do you know anyone able to create art for you?


It's a bit early to worry about art, since I'm still doing the planning for the project. But some time I have to do something about art. Either get an artist, or do it myself.

With the latter I have to learn a lot of stuff about 3D modelling, Texture painting, etc. I barely know this stuff, but my avatar looks okay (made it with blender) ;D

But I would like to get someone to work on the art for the game, so that I can focus on the technical aspects.

chronozphere
10-05-2009, 12:18 PM
You could also use "programmer art", which is temporary. :)

I often see games at gamedev.net that have placeholder graphics and such. It may be a good idea to focus on the technical aspect (getting the engine working, managing your objects, let them interact etc) and finally add some good looking models. If your product is playable but only lacks good graphics, artists are more likely to help you. :)