PDA

View Full Version : About the goal of this engine



Relfos
03-07-2014, 09:28 PM
I just saw this news, can I ask, does not one here know about www.pascalgameengine.com?
Actively developed, supports all common pascal compilers (Delphi from 7 and up, FPC and even Oxygene has a kinda experimental port).
Supports all major platforms, Windows, OSX, Linux, iOS, Android and even OUYA.
There is a experimental PSVita port and there are plans to support Windows Phone 8, Flash and JS too via a custom made compiler (already partly done).

Not only this engine is actively developed and has been used in various comercial game projects (all by me, sadly), it supports all kind of stuff that a game engine needs to have (input, audio, networking, artificial inteligence, video playback, webcamera, localization) it is not only a graphics engine like most other alternative solutions.

One of the main objectives was to require as few dependencies as possible. Right now it only needs OpenGL to run, and optionally OpenAL if you want sound.
It is fully integrated with the Steam API too, something that you won't find even on engines from other languages.

This project was done over 8 years, so I ask, is there any point of doing an alternative from zero?
The last time I updated the site was 2 years ago, because no one really contacted me about it so I though no one was interested on making pascal games :(
I work mostly full time on this engine and my game, so to say that there are no actively game engines for pascal is not true at all.

Do you guys want to spend years making yet another pascal engine or would prefer to just make some cool games?
Or if you are really interested in making engines, why not help me instead?

This picture kinda explains what I think about this...

http://imgs.xkcd.com/comics/standards.png

Carver413
03-07-2014, 10:57 PM
If your engine were opensouce you might have and easier time recruting help. I can't imagine your making much money off the engine anyway

Relfos
03-07-2014, 11:12 PM
If your engine were opensouce you might have and easier time recruting help. I can't imagine your making much money off the engine anyway

Errr... but the engine is open source?
This engine is just the continuation of my old LEAF engine, that was always open source. I changed the name to TERRA, ported it to iOS, and closed sourced it two or three years ago and tried to sell it as comercial product yes, but since no one was interested I open sourced it again after some time and announced it on the mailing list. And I'm pretty sure most of you are registered on the newsletter, as I have like 500 pascal developers registered, maybe you missed the announcement?

Still no one contacted me with interested in using the engine, so I did not make a public rep for it, but I did make continous releases of production code each few months. Still had mostly zero downloads, so I thought no one wanted to make games in Pascal and forget about the site and never updated it, it is quite outdated now, but the engine continued being developed.
If people really were interested I would put it on github or something.

And note, I'm not talking only about my engine, if you check the lazarus wiki you will see a list of other pascal open source engines. I talk about mine because mine is the one with more features (if this is not true please correct me). As as I far I know ZenGL has a big number of users, altought it is just 2D, and there other 3d pascal engines that maybe could also be used as base if people really don't want mine for some reason.
So why not just work with one of those open source engines?
As I said, making a engine as complete as mine took almost a decade, and at least two of those years I worked full time on it, so why spend so much time rewriting the same again?

code_glitch
03-07-2014, 11:29 PM
Carver does have a point and from the site, I can't find any documentation which places it at a disadvantage to other engines, it has no established developer-base and community around its development and use in the field (which means you get the authors perspective and that's it).

Also, in the 8 years since it's been written a lot has likely changed in the world of code - new APIs are here, new hardware and new mindsets. The PGDCE isn't just about 'yet another game engine' more than being the current game engine open to everybody that reflects the current state of software development methodologies and as such is there to demonstrate that new things can (and are) being done with pascal which aren't being done elsewhere.

If anything, it would be wonderful to have you on board with the project - seeing as you've managed to develop an engine like that is quite an accomplishment. Just think what the pascal community could achieve if everyone rallied their knowledge and skill under one banner and worked towards a common codebase? That, above all, is the goal of the PGDCE: to unify all the people in the pascal-space maintaining their own engines under one roof so that we can produce a faster, more reliable, more modern engine that is open for everyone while requiring less individual effort from everyone and less maintenance.

The problem that XKCD comic illustrates is indeed valid under the premise: that no one adopts any standard. The way I see it, it is not the fault of those making the 15th unified standard that there are standard competing in the market and causing duplication of effort. Its the short-sightedness of those working on the 14 preceding standards that despite having been superseded by a better standard (or missed the opportunity to create that better standard) and continuing their 14 standards that is the reason there are now 15 of them. If the 14 previous standards realized this and said - "hey, that new standard does 99% of what we want already along with loads of other stuff - lets just bring the 1% over from our camp" they'd win on maintenance and effort in the long run and everyone would have one ubiquitous, well supported standard.

Relfos
04-07-2014, 12:11 AM
Thanks for your detailed opinion code_glitch!


Carver does have a point and from the site, I can't find any documentation which places it at a disadvantage to other engines, it has no established developer-base and community around its development and use in the field (which means you get the authors perspective and that's it).
There was documentation before. The wiki I had got attacked by spammers, and since no one was really using it, I removed it.
About use in the field, this engine was used for at least two big commercial 3d projects, one which is a 3d mmorpg for Steam, which I think that shows that the engine is capable for serious work.
About having a user-base/comunity, well, this one has not even started, it also has not a single user too.
And I say that people did not contact me, but well, some did, 2 or 3, but of course, the percentage of people that start a game vs the ones that really go through it with it is small :/


Also, in the 8 years since it's been written a lot has likely changed in the world of code - new APIs are here, new hardware and new mindsets.
8 years in the making does not mean that the engine is outdated, as I said in the first post it is still being worked on.
It makes use of all latest APIs, compilers, hardware etc. The only thing I don't really make use of its new additions to the pascal language, as one of my goals is total compatibilty with Delphi 7.



If anything, it would be wonderful to have you on board with the project - seeing as you've managed to develop an engine like that is quite an accomplishment. Just think what the pascal community could achieve if everyone rallied their knowledge and skill under one banner and worked towards a common codebase? That, above all, is the goal of the PGDCE: to unify all the people in the pascal-space maintaining their own engines under one roof so that we can produce a faster, more reliable, more modern engine that is open for everyone while requiring less individual effort from everyone and less maintenance.
I would love to accept this many years ago. But now I really can't dedicate myself for working on such a big project, when I have two big projects already (my engine and my mmorpg) and I also have a full time job as graphic programmer.



If anything, it would be wonderful to have you on board with the project - seeing as you've managed to develop an engine like that is quite an accomplishment. Just think what the pascal community could achieve if everyone rallied their knowledge and skill under one banner and worked towards a common codebase? That, above all, is the goal of the PGDCE: to unify all the people in the pascal-space maintaining their own engines under one roof so that we can produce a faster, more reliable, more modern engine that is open for everyone while requiring less individual effort from everyone and less maintenance.
I agree that this idea is good and every one would benefit from focused development of a single engine instead of many scattered engines like we have now.

About the xkcd comic and adopting standards, yes, but there's also no guarantee that this "standard" would be adopted by the majority.
And finally, I ask, is there really a need for a full engine for pascal developers?
I think for most pascal users something like ZenGL is enough, developing a 3d game costs lots of money and is out of scope for most devs (just to give you an idea, I already invested like 5k thousand into my 3d mmorpg).

Finally, my plans for my current engine was to forget about the "pascal" part, since I concluded the market was too small and I had decided to start distributing the engine as a precompiled dll for users of other languages. This will be probably what I will do.
I guess if you guys really want to make this community engine I can help with some stuff, but I can't really commit myself to it.

SilverWarior
04-07-2014, 08:52 AM
There was documentation before. The wiki I had got attacked by spammers, and since no one was really using it, I removed it.

I think that the lack of proper documentation is the main reason why ypur game engine isn't popular. Nobody wants to use game engine where you have to gues what certain methods doe, how to implement certain feature and why your code doesen't work as intended. Almost imposible to track such bugs since you don't know if it is a bug in the engine, a bug in your yode or you just used wrong implementation.
I know this dificulties from my expirience when I was trying to make a game about five years ago using Truevision 3D game engine. At first I was using Truevision 3d version 6.3 but later moved to version 6.5 due to some additional features that I wanted in my game. Now since version 6.3 did have a decent documentation I was progressing steadily. But since version 6.5 has no documentation my development progression literally stopped. But later on when development on Truevision 3D game engine has ceased I abandoned the development of my game.
Not so long later I have found PGD and joined here. From that time on I try to learn as much about the game development I can regardless of the area. Reason? I wanna know enough to be able to make my own game engine if needed. But that doesen't mean I'll go and try to do it on my own. So I must say that I'm quite exited so I could be a part of making PGDCE since I know I'll learn a lot.



And finally, I ask, is there really a need for a full engine for pascal developers?

Why there wouldn't be? As long as there are pascal game developers there will be need for pascal based engines.
Now you may say there are existing game engines which aren't necessarily written in pascal but can be used with it. So why don't we use those?
Sorry for my answer to be the question but: Why did you make your own game engine instead of using one of existing ones?


I think for most pascal users something like ZenGL is enough

Are you underestimating pascal game developers?
Are you implying that pascal game developers aren't capable of making games which will require much more powerfull game engine?


developing a 3d game costs lots of money and is out of scope for most devs (just to give you an idea, I already invested like 5k thousand into my 3d mmorpg).

If it is so why is there bunch of individual Indie developers who are making 3D based games using Unity game engine which isn't even for free or some similar engines?
Belive it or not but assets for 2D game can also be quite expensive and I know few games where their developers spent over 5k on game assets.


Finally, my plans for my current engine was to forget about the "pascal" part, since I concluded the market was too small and I had decided to start distributing the engine as a precompiled dll for users of other languages. This will be probably what I will do.[QUOTE]

Bare in mind that doing so you might alienate even more pascal game developers.

[QUOTE=Relfos;146032]I guess if you guys really want to make this community engine I can help with some stuff, but I can't really commit myself to it.

Any help will be apreatiated. Even if you only share your expirience that you gathered during development of your engine it will come in handy to us.

Relfos
04-07-2014, 10:02 AM
I think that the lack of proper documentation is the main reason why ypur game engine isn't popular. Nobody wants to use game engine where you have to gues what certain methods doe, how to implement certain feature and why your code doesen't work as intended. Almost imposible to track such bugs since you don't know if it is a bug in the engine, a bug in your yode or you just used wrong implementation.

Of course, without documentation there's point in trying to use an engine, but was I said, there was documentation before, in a wiki I wrote, I had to delete it because I got hit by spammers that made the wiki grow to 200mb or something and exceeded my host disk quote :\
Anyway, it is way faster to write documentation for an engine already made that it is to write a new engine from scratch, no?



Why there wouldn't be? As long as there are pascal game developers there will be need for pascal based engines.
Now you may say there are existing game engines which aren't necessarily written in pascal but can be used with it. So why don't we use those?
Sorry for my answer to be the question but: Why did you make your own game engine instead of using one of existing ones?

What I mean is, the market/userbase for something like this in 2014 is very small, especially now that such things as Unity and UDK exist.
I'm pretty sure that right now we have a infinitely smaller number of newbie pascal game developers compared to like 5 or 6 years ago.
To tell the truth, if I was starting right now and wanted to make games I would not use Pascal or C++ or whatever, would just go with one of those solutions. I even have a old prototype of my MMORPG game done in Unity, I just went back to my engine because I needed lots of features only available with the pro license and I was not interested in paying 2000$ for the iOS + Android pro licenses when my engine already had those features (networking, render targets, dynamic shadows and other stuff).

About your question, theres was two points in time when I decided to develop my engine.
First one, the first version when it was still called LEAF, it was because I tried to use GLScene and found lots of limitations with it and I think it was not compatible with FPC (and of course, I wanted to learn about graphics programming myself). At that time there were few engines available even for other languages, there was Torque, maybe Ogre, possibly others still in an early stage.
Then the second point was some years later, I went back to it because I wanted to make mobile games with pascal and there was not a single 3d engine that could be used for phones. Even Ogre had barely functional mobile support :\


Are you underestimating pascal game developers?
Are you implying that pascal game developers aren't capable of making games which will require much more powerfull game engine?

Not understimating pascal developers, but the truth is, the pascal community is very small, and the chance some pascal developer has the means, money, time etc to make a game that requires a powerful engine is very small.
I don't remember for how long this forum exist, but I've frequented it for a very very long time.
How many big pascal games were released before?
I think the number is very very small, what is because such a powerful engine not exist?
I think that at least 3 "powerful" pascal engines do exist, and I also think that all of them are free to use, if people really wanted to use pascal to make a big game, they could just use one of the existent engines no?
If the problem with them is lack of documentation, as long as the developers did not disappear from the face of the earth, it would be trivial to ask them. In my case I still have the documentation saved somewhere in my old disk, would be just a matter of updating it to the current features.
Also making a wrapper for a C++ engine is something that can be done in a week, if people really need to use something like Ogre.


If it is so why is there bunch of individual Indie developers who are making 3D based games using Unity game engine which isn't even for free or some similar engines?
Belive it or not but assets for 2D game can also be quite expensive and I know few games where their developers spent over 5k on game assets.
Of course I know it, I've done 2D games for clientes before and I've been evolved in the Unity community, one of my jobs two years ago was being a Unity game developer.
True that there are people that spend such money on a indie game there, but this is a small number, there a huge number of Unity devs who just play around with stuff from the Asset store. The ones that do spend more than a few hundred are either small companies, teams that somehow got funding, or in some cases guys like me who saved some money to invest on a game.


[QUOTE=Relfos;146032]Finally, my plans for my current engine was to forget about the "pascal" part, since I concluded the market was too small and I had decided to start distributing the engine as a precompiled dll for users of other languages. This will be probably what I will do.[QUOTE]
Bare in mind that doing so you might alienate even more pascal game developers.

Not really, my plans is to stop adversting the game as a "pascal engine" and provide a engine with bindings for most common languages, to try to get users from other languages. Pascal users could still use it, no problem at all.


Any help will be apreatiated. Even if you only share your expirience that you gathered during development of your engine it will come in handy to us.
Sure, I can help discussing stuff etc. Trust me that I have lots of experience in this area, I'm not just an hobbyist. I've been working as graphics engineer for many years in various companies and have developed not only this pascal game engine, but also a C++ graphics engine and currenty working on a Javascript/WebGL engine for another company.

Also I'm not sure about what skills you guys have. I'm pretty that most of you are excelent pascal developers, and maybe some have worked on their own engines. However I've been seeing people refer to this project with the goal of making powerful engine, using latest APIs/tech, etc. Let me say that one thing is to make a "graphics engine" that can load and displays textured 3d models, another is making a engine that supports all current expected graphical features, eg: - a proper shadowmapping that actually works for any general scene and light setup
- a very powerful material/shader language (working on raw glsl/hlsl shaders is not scalable, only suitable for small projects/demos)
- a flexible mesh animation system (just implementing a ms3d loader was enough 5 years ago, today a developer expects much more, auto-armatures, animation blending/trees etc)
- proper text rendering (bitmap fonts are ok only for demos!)
- etc etc

Things have advanced quite a lot since some years ago, and some of this advanced stuff is quite hard to implement even separaterely, and much more to make it all work together.

I know that there are some Pascal developers who developed some advanced graphic engines some time ago, I talked with some of them, I remember one who had a very impressive engine in terms of graphic features, sadly I don't remember his nickname. If you one of those developers is willing to participate in the development of this engine it would very good, especially if they can reuse some of their code etc.
Otherwise if there's no one with enough experience and people will only work on this in their free time I would say to forget the idea of making a powerful engine and focus on making a functional project, otherwise by the time stuff is done, the tech would be obsolete. Remember that engines like Ogre took years to get to the current state and I'm pretty sure it is easier to find C++ devs than pascal devs.

To end this post, and resuming my opinion.
Making a pascal/delphi engine in 2014, when stuff like Unity exists and is free, and no way a small team can compete in terms of quality with them, well, I think it is not a really good idea. Note that when I started my engine the situation was very diferent, indie games barely existed and the tech available to make them was either rudimentar or cost money that many people did not have.

Finally, I would estimate the time to get something usable to make a "real" game would be around a year, if everything is made from scratch and no one works on it full time, or possibly more, depending if everyone continues working on it or if some people quit (very common to happen).

Dennis
04-07-2014, 11:37 AM
The TERRA Engine is quite nice, we've worked with it 2 years ago and even tried to port to XE2 (you may remember that or even find that branch ;-) but because the code didn't match our (to be honest quite high) code standard - if you compiled the engine you'd end up with a lot of "warnings" (despite the compiled engine worked well) we have switched over to unity *cough*.
We would be very happy to see it coming "back" with a proper code base - and if you'd just take a look a the complexity of the engine, Relfos is just right: it does need a lot of more than implementing a 3d engine to be a game engine....

Btw: Relfos, congrats for your Minimon 3D game!

Relfos
04-07-2014, 12:10 PM
The TERRA Engine is quite nice, we've worked with it 2 years ago and even tried to port to XE2 (you may remember that or even find that branch ;-) but because the code didn't match our (to be honest quite high) code standard - if you compiled the engine you'd end up with a lot of "warnings" (despite the compiled engine worked well) we have switched over to unity *cough*.

Hi Dennis, I remember you yes, that was a long time ago!
If buying the Unity pro license was not problem or the free version was enough, then yeah, moving to Unity is actually a very good move, mine engine (and all other open source engines) are nothing compared to it, they have a quite huge and capable team always improving it. Just a pity that they did not yet release a proper GUI system and people still have to do their own solution or buy a third party GUI system :\


Btw: Relfos, congrats for your Minimon 3D game!
Thanks, I'm working on the final details now, improving the graphic and stuff, once I release it I will announce :)

By the way, now I found something that got me even more puzzled about this community project!
I decided to go to google and search to see what kind of engines are there for pascal, because I've been out of loop for a while, and new things could have appeared.
And in the first page of results, there was this...

http://castle-engine.sourceforge.net/

Now I look at the page, I see an engine that seems to be in advanced state, and totally free to use.
No only that, it seems to have lots of documentation, as that seems the problem most people were talking about mine.
Seems to be done by a single developer, I look at the forums, well, they are a bit dead.
So why people are not using it?

This engine did not exist some years ago, I think, at least I never knew about it.
It seems to me that this engine is in quite good state to be improved upon, might lack some features that mine was, but in the other hand seems to have lots of documentation, which would help a lot to get people into it.

So why would anyone reinvent the wheel when they could just team up and help this dev?
I'm pretty sure he would be happy if people offered to help develop his engine, did anyone contact him?

Mirage
04-07-2014, 02:06 PM
Or if you are really interested in making engines, why not help me instead?

This question was asked by many developers including myself.
Seems that the answer is - no one interested to "help someone" with his engine/library.


This project was done over 8 years, so I ask, is there any point of doing an alternative from zero?

Not from zero. Most (if not all) of us has game development experience and even code which can be reused/adopted.
So we can perform well at least on start.
Also a team can work faster than a single person.

This should happen several years ago, but it's better later than never.;)


And finally, I ask, is there really a need for a full engine for pascal developers?

There is a demand on high-quality cross platform engines. No matter what language was used and even what language a game should be written on.

Carver413
04-07-2014, 02:47 PM
Errr... but the engine is open source? This engine is just the continuation of my old LEAF engine, that was always open source. I changed the name to TERRA, ported it to iOS, and closed sourced it two or three years ago and tried to sell it as comercial product yes, but since no one was interested I open sourced it again after some time and announced it on the mailing list. And I'm pretty sure most of you are registered on the newsletter, as I have like 500 pascal developers registered, maybe you missed the announcement? Still no one contacted me with interested in using the engine, so I did not make a public rep for it, but I did make continous releases of production code each few months. Still had mostly zero downloads, so I thought no one wanted to make games in Pascal and forget about the site and never updated it, it is quite outdated now, but the engine continued being developed. If people really were interested I would put it on github or something. And note, I'm not talking only about my engine, if you check the lazarus wiki you will see a list of other pascal open source engines. I talk about mine because mine is the one with more features (if this is not true please correct me). As as I far I know ZenGL has a big number of users, altought it is just 2D, and there other 3d pascal engines that maybe could also be used as base if people really don't want mine for some reason. So why not just work with one of those open source engines? As I said, making a engine as complete as mine took almost a decade, and at least two of those years I worked full time on it, so why spend so much time rewriting the same again? I remember your anouncement on the pgd years ago and if I'm not mistaken I said I would be interested if it was opensourced but then it seemed that you choose a different route so I never really followed it after that. I think it would be a good Idea to put it up on github and let people have a chance to play around with it. you never know, it might be enough to sway the minds of a few and from there things could take a different turn. I myself am not sold on the community engine it is one thing to talk the talk but quite another to do the walk. As for myself I am working on a procedural design mostly and tools that I believe would be useful it any engine. if the community engine is successful then I would probably wrap my works around theres or some other engine like yours maybe.

AthenaOfDelphi
04-07-2014, 05:07 PM
The fact is, everyone has different desires and aims. Relfos, I looked at your engine and I was put off by the commercial aspect and the lack of available documentation. The lack of documentation has put me off a lot of the projects.

On the help front, like Mirage said, I've seen requests for help from peeps on here. Requests to help with a project that they've been working on for X months and it's like no, I don't want to jump in when you're that far along. The learning curve is pretty steep, I want to get in on the ground floor and learn on the way up :)

I've already learned some stuff and all I've done thus far is write up some design documents. Picking peoples brains about their designs has been enlightening. I'm starting to read around some of the stuff relating to 3D maths and such and I'm loving it.

I'm looking at this as an opportunity to learn. It's been said that this should have happened ages ago and it should have, but the fact is no one has organised it until now. I've taken those first steps because I've got games I want to write but I need to learn some stuff first. This project will give me that chance (and anyone else who wants to join in), and well... to the best of my knowledge it's the first time this community has worked together on anything like this.

It may be ambitious, but I'm planning on having some fun with this. I hope we can surprise the doubters and produce something that really shows off this community and the talent that exists within it. If the enthusiasm that has been shown thus far continues, then I'm pretty confident we will produce the goods.

Relfos
04-07-2014, 08:15 PM
There is a demand on high-quality cross platform engines. No matter what language was used and even what language a game should be written on.
I disagree, the demand for traditional engines in 2014 is extremely small.
It seems that you are not familiiar with the current indie scene, stuff like UDK/Unity is in a completly different level than a traditional engine, allows for way faster development with their integrated editors, keeps people away from low level stuff, and has way higher produtivity than doing a game in C++ or Pascal.
A traditional engine in current times is a niche, a powerful pascal engine is a niche within a niche within a niche.


This question was asked by many developers including myself.
Seems that the answer is - no one interested to "help someone" with his engine/library.


Seems the xkcd picture I posted is perfect for this situation/mindset then.
For now let's ignore that I also have my own engine, let's think that I'm just a newbie pascal developer or something.
But look here, this guy developed this Castle engine recently from what I've seen.
He created a public repository, wrote lots of documentation and tools, made a forum, etc.
Seems the setup is perfect for some guys to go in and transform this into a community project, does not matter that right now it only has one developer.
Actually this kind of stuff works much better if it is started just from one guy who knows who to design stuff, rather than 5 or 6 guys who each have different ideas of a engine concept.

I keep hearing people refering to the existing engines as hobbyist sole developer projects, and talking about the need for a powerful engine.
This seems that an assumption is made that a project done by a single guy does not have enough quality for "serious" stuff.
Yeti I did not even see a single mention of why current engines are not "powerful" enough, or that they lack feature X or Y.
Even if a specific feature was lacking, it would be easier to implement it an existing engine (assuming the codebase is modular enough, which mine is, and I would guess that all others also are) than to write a new engine from scratch.

Saying that no one is interested in "helping someone with his engine" is a bit sad.
So why should other people be interested in helping this specific project if the people evolved are against helping in other existing projects and instead have intentions of reinventing wheels?

It seems to me that you guys are implying that TERRA, Castle and others projects (which I did not search yet, more might exist) were made by incompetent developers, to the point that the codebase is so horrific that it is impossible to improved upon. I don't know the current state of GLScene, but heck, it would even be more produtive to port that one to current tech than to write a new one (if it is abandoned, I'm not sure, as I said I'm out of the lopo).

Relfos
04-07-2014, 08:24 PM
Hi, AthenaOfDelphi, you replied at same time as me :P


The fact is, everyone has different desires and aims. Relfos, I looked at your engine and I was put off by the commercial aspect and the lack of available documentation. The lack of documentation has put me off a lot of the projects.
My engine has been free/open source for almost two years now. And I already said in this topic, if there is no documentation for a project, why not ask the developer for documentation instead of reinventing the wheel?
Btw, Castle has all documentation you need, and mine too, just not online, if anyone would ask I could send it by email.


I'm looking at this as an opportunity to learn. It's been said that this should have happened ages ago and it should have, but the fact is no one has organised it until now. I've taken those first steps because I've got games I want to write but I need to learn some stuff first. This project will give me that chance (and anyone else who wants to join in), and well... to the best of my knowledge it's the first time this community has worked together on anything like this.

If you want to make games, please don't write engines. Otherwise you won't be making a game soon.
I'm not sure what kind of games you want to make, but really, making a engine is not the right path.
Make an engine only if you want to learn about this kind of stuff, otherwise pick up an existing solution.
And if you want to learn, and if you don't know much about this kind of stuff yet, take into consideration that this would be years of learning, not months. Just modern graphics programming has enough material to keep you occupied for years, and a game engine is more than just graphics.


It may be ambitious, but I'm planning on having some fun with this. I hope we can surprise the doubters and produce something that really shows off this community and the talent that exists within it. If the enthusiasm that has been shown thus far continues, then I'm pretty confident we will produce the goods.
I have no doubt that this project can be done, given enough time.
But of course, it is time spent that could have been spent making games with existing solutions.
Or contributing to an existing solution.

Think, in 2015 you can either have:
- An incomplete rudimentar engine, not suitable for serious projects
- Or a game made with current solutions
- Or existing solutions extended with advanced stuff, ready to make advanced stuff

Btw, this link is a good read for anyone who is interested in making games
http://scientificninja.com/blog/write-games-not-engines

code_glitch
04-07-2014, 08:59 PM
Relfos: On the XKCD picture its as I said before, not the people creating the universal 15th standard whoa re at fault. Its those involved the previous 14 standards who refuse to accept the new standard for whatever reason.

Also, you mention a very small market - this is far from what everyone is seeing. There is an increasing demand for better engines to power web games, mobile games, desktop games and console games. And the indie scene is booming in all those markets. The demand is increasing - not the other way around. You also mention unity - this is, if I'm not mistaken, one of the target the PGDCE has in its cross-hairs. We can't have everyones engines rival it. So we'll make one that does things it cannot. The "move to unity/ue/engine_name_here" is great. But what if you want to write it in pascal? Its not like you *can't* its just inconvenient with current solutions (in the sense that there are better alternatives if you are okay to forego using pascal for some other language).

Not only that, but the PGDCE is being designed in a highly modular nature. Why? Because there's more to code than just games. Game engines, are in my experience, a fantastic starting point if you're developing a new UI to fly an aircraft where you want to display things with not just guages, but better 3D UIs. Thats one instance I have actually tested out anyways. That article is great - and it does support your stance on this. BUT - here we have many developpers with different everything. The engine we're making is not some creation of some isolated programmer built around one use case. Its quite the opposite in fact. Put it this way: I read that article and decide to make a game with an already existing engine/system. Whats my best choice? Why the PGDCE. We're making that engine that everyone can develop games with - no matter the genre/type/platform. Its 'not just another engine'.

Edit: Also relfos, might I point out that the PGDCE is (as it says on the tin) made by a community. It has people around the engine who are working together. That right there is something to not forget - there's a community around it and its ambitions. If it was not necessary, there would be no PGDCE as a result and as a result no PGDCE to argue about ;). The fact the PGDCE exists and we are having this debate is proof that it is in fact something people would like to see/need.

Relfos
04-07-2014, 09:26 PM
Also, you mention a very small market - this is far from what everyone is seeing. There is an increasing demand for better engines to power web games, mobile games, desktop games and console games. And the indie scene is booming in all those markets.
You did not read my answer properly.
I think I already said this, but for those that still don't understand, I am a professional in the game industry, with years of experience making engines in various languages. This pascal engine I've done is just one of my side projects, as is the Minimon game.
I know perfectly the state of the industry, I have a huge number of contacts inside the indie game developers scene, I'm not limited just to the "pascal scene", actually I'm not really that active inside of it.
Please read my message, of course the indie scene is huge now. However 99% of people are using Unity, and for a good reason.
Traditional engines are obsolete now, except if you are talking AAA engines for big console games.


Not only that, but the PGDCE is being designed in a highly modular nature. Why? Because there's more to code than just games. Game engines, are in my experience, a fantastic starting point if you're developing a new UI to fly an aircraft where you want to display things with not just guages, but better 3D UIs. Thats one instance I have actually tested out anyways. That article is great - and it does support your stance on this. BUT - here we have many developpers with different everything. The engine we're making is not some creation of some isolated programmer built around one use case. Its quite the opposite in fact. Put it this way: I read that article and decide to make a game with an already existing engine/system. Whats my best choice? Why the PGDCE. We're making that engine that everyone can develop games with - no matter the genre/type/platform. Its 'not just another engine'.

Again I see unbased assumptions about quality of existing engines. My engine is not made for a specific game genre, or even specific for games, for example right now I've been developing a 3D modelling application with it for mobile phones, something very different from a game. I'm pretty sure all kind of stuff could be done with my engine without need to change anything at all in the engine core.



Edit: Also relfos, might I point out that the PGDCE is (as it says on the tin) made by a community. It has people around the engine who are working together. That right there is something to not forget - there's a community around it and its ambitions. If it was not necessary, there would be no PGDCE as a result and as a result no PGDCE to argue about . The fact the PGDCE exists and we are having this debate is proof that it is in fact something people would like to see/need.

This is what I don't understand, so you people really insist in being part of the original authors of a project?
Because you can turn any open source project into a community, it does not matter that it was started by one guy or ten...
If people were working in improving Castle or TERRA they would still be working *together*.

It seems that the focus here is that people really want to have a project made especially by the people from the PGD community?
If yes, just state it, and I would understand and stop being so negative about it.
Because right now I only see this as it as separation of talent, instead of joining forces as people seem to want, we will have 3 or 4 teams implementing the same stuff separately in different engines.

AthenaOfDelphi
04-07-2014, 09:26 PM
This has the potential to become quite an emotive subject, so I'm going to bow out of the discussion and I would recommend everyone think long and hard before they post. I don't want a flame war or anything like that to ensue from what is a perfectly reasonable statement by Relfos.

My closing statements on this debate though are these...

I have my reasons for wanting to build an engine from the ground up with a collection of like minded individuals who also have their own reasons for getting involved in this endeavour. Personally, I want to learn the basics and then expand my knowledge to a sufficient level where I can feel comfortable using the product we create. But, I've been getting around to learning this stuff for years and thus far I have achieved the sum total of nothing.

I want that to change.

Diving into someone else's engine will not in my considered opinion give me the same kinds of opportunities to do this as this community project will.

And so, I hear what you're saying but for me personally, the right choice is to work on a community project. For everyone else... I don't know the full details of why they are doing it, but I'm sure glad they are because I think we'll come out the other side better for the experience even if we don't achieve what we'd like to, but as the community manager I'm going to do my best to make sure that the worst case doesn't happen.

The community was a little quiet, I floated the idea and well, I honestly didn't expect the response it received, which I do believe speaks volumes. Given this, it would be crazy of me to not then pursue the idea to it's logical conclusion, whatever that may be. None of us can know what will happen with this project, but as others have already said, we would welcome constructive criticism from people, particularly if they are as technically talented as you appear to be. Just don't try to dissuade us from having a go ;)

Relfos
04-07-2014, 09:52 PM
Athena, indeed, there's no point of having flaming wars (well, not really a flamewar, but still, there's some conflict)
What I understand now, the focus is let the PGD community work together in their own creation.
That is a very different concept from just contributing to an open source project.

I would say to go forward with this, it will be a great learning experience and would be interesting to see what comes out of it :)

The only thing that really irks me is saying "no existing powerful pascal engines" or "no documentation" or "the only thing that exists is something simple done by single developers", "there is really anything like this and this really needs to be made", because not necessarly true.

And it seems some people seemed to really be against I offering a non-free engine, but you have to understand this is not a simple engine, it is a very powerful and complex engine that took almost a decade to make, if anything I would use the money to buy more test devices, as you probably know, there is lots of fragmentation on mobile stuff.
If you guys reach a point that you'lll start doing advanced things with mobile graphics like I did you'll understand that having lots of different hardware to test is essential. I invested at least 2000$ into this engine, not only in hardware, but also software, I recruited developers to write some advanced stuff like FBX or TTF font support, this is far from an hobbyist project. And still, in the end, I decided to make it full free to use, so it really makes me sad that barely no one is interested on it.

Anyway, go forward with this and feel free to ask me any stuff you guys need :)

code_glitch
04-07-2014, 09:53 PM
Edit: Just saw you'd replied before I posted this. By all means, ignore this if you find it irrelevant. Everyone seems to have found closure on this and I don't want to start another debate on this topic which we all seem to be happy with at last :D

Relfos: I'm sorry if my intentions came across badly in that post - I wasn't trying to doubt your expertise and involvement in the industry. We're also not attacking your engine or your work - the PGDCE is, for many, a learning experience on making a more comprehensive engine in a team. Which allows the PGDCE to employ far more complex construction that what smaller fragmented teams could achieve on their own. Of course we aren't able to persuade the entire industry, but look at it this way:

Pascal game development today:
-ZenGL
-TERRA
-CASTLE
-GLScene
-nxPascal
-Allegro
and the list goes on.

What if, a couple years from now, those developers see promise in the unification effort of the PGDCE and bring the defining features of their old engines to it as well as their expertise. The scene would then have far fewer fragmented options and duplication of effort - something you yourself pointed out as a problem - and in its place, fewer, far more advanced and better supported engines with one large community around it. That, I think, is one of the largest goals of the project: to get everyone behind one project that will, in time, be able to replace the many smaller efforts. And in the process - the developers who had to spend many hours maintaining their small engines on their own could spend that time making games with the PGDCE as the maintenance would be spread across all the developers from all the teams that joined.



If people were working in improving Castle or TERRA they would still be working *together*.


This is the age old argument everyone who maintains their own engine has had. Problem is - it was built by one person a specific way and everyone thinks different. The PGDCE is built by everyone so rather than say "my engine is best, help me work on it. I had all the control making and I built how I see its perfect" we say "our engine is best - help us work on it and have your say in its development" and everyone contributes to what is, in essence, their own engine in part and not someone else's. The PGDCE, thus, could largely be the TERRA engine's code under a new flag if it was offered and was agreed on by the developpers as a goof fit for the envisioned structure of the PGDCE. This would put the PGDCE light years ahead of its present state and would speed it up. As it stands, you rightly point out - it's your engine. We can't touch it. I think I speak for pretty much everyone in the project here - we would welcome any code drops to the project from previous projects to help make parts of the engine. All we need are people to offer that code to us for use.

For the record, I don't mean to start a flame war - or war of any kind. I do however like a good debate, and the PGDCE is something I, along with many others, are starting to feel quite passionate about as a project that has a lot of potential that we would all like to see realized.

Relfos
04-07-2014, 10:05 PM
No problem code_glitch, I understand what you mean, and this was a good debate, now I understand much better the goal of this project (and other people that might read this will also be more informed).
In that case I would say to not spend more time arguing with each other and to start working on this :)