People are talking here about APIs.. it's unnecessary debate If is somebody making 3D game so it's clear that he will use Unity, Unreal Engine or something like that.
Using something else is 100% nonsense. For 2D no matter if you have OpenGL 1 or 4.5 and it's question about framework. Simply use something which have living community like SDL or SFML
because all Pascal engines/frameworks are dead, it's one man show, looks prehistoric or they are super slow - anyway no one is using them.
If there was anything usable so it was ZenGL, but today it's useless also, unfortunately.
This is good idea, but instead of tutorials we can create a community which share and improve code and where people can learn something.
The code should be optimized and easy to use. It has some perspective. I saw interesting things around like Coolsprite (something like Spine 2D) etc, also everyone need particle engine,
sound manager..
Why do you say using something else is nonsense?
Tell me what would prefer more? Using Unity or Unreal Engine and with it being forced to do most of the programming in some other programming language than Pascal? Or seeing that comparable pascal based game engine is being built so you could do all of the programming in Pascal?
Well the idea of PGDCE is to make the later option a reality. But off course such task isn't trivial and I fear many of PGD members are afraid and insecure in their knowledge in order to participate in such project.
I strongly disagree with you on this. Even when rendering 2D graphics you could greatly benefit from features available in newer API's.
Why do you think all Pascal engines/frameworks are dead? Because there weren't enough interest in using them. And why weren't enough interest from people in using them? One of the reasons is people always saying of how much they suck instead of trying to help improving them. Pretty much like you now.
The hard truth is that if we don't get together and start working on them nobody will.
Why should the posted code be optimized? So that you can only copy and paste it into your project? This way you won't learn much especially because heavily optimized code is often much harder to understand.
I would recommend that instead of worrying about the posted code being optimized we provide as many possible approaches in solving specific problems. This way we allow people to chose the approach which suites them the most. And that largely depends on their coding style and the rest of the project code.
Also once people truly understand some gane concepts they will be able to optimize the code on their own. And yes optimizing code for some game concept also heavily depends on the rest of the project code.
And no I'm not one of those people who say "Best optimization is no optimization at all". I myself like to have nicely optimized code but I try to avoid doing any premature optimizations but I still sometimes get carried away with premature optimization. Well nobody is perfect.
Hi,
Most of the time Object Pascal compiled code is near fast as C++ code. I develop applications and games with Delphi/FPC (production enviorment) and never have perfomance problems. Every language developer can do good programs and bad programs. The important thing is the developer and the spirit.
I use ZenGL to make games for Android, Windows and Linux, and all the games I developed runs at 60fps at most systems with FULLHD graphics, more FPS than crap Android Java SDK based games. Also I'm trying to port Ñuño's AllegroPAS to Android.
I think the developer is the whole think and programming language is a secondary stuff.
If you're making a real 3D game so you need complex and standardized tools with some continuity and with good visual/graphics possibilities (in case that you are not John Carmack).
It's not only about people but also about time and money. There are some good non-commercial 3D engines? Or exists more commercial engines which can compete Unity, UE, CryEngine?
I like games like Legend of Grimrock with own 3D engine which have benefits from optimalization etc., but this is another case. They have team of people making engine directly for the game
not not kind of universal thing. Secondly, I have not seen such game with own 3D engine done in Pascal or in Java etc. => if somebody want 100% performance logically he uses the language that will allow it.
Can you specify which benefits and features? OpenGL have shader support since 2004, which was maybe most important thing for 2D graphics rendering?
If you need more real reason: 90% of them were not usable just some start-up projects. Working systematically is challenging. In second case, capable author(s) lost interest ( own life, no time, growing complexity, limitations of Pascal language..).
You can use same concept again and it will probably fail again. I do not know how you, but I preferred the solution which survived such natural selection and are universal like SDL or SFML..
This increases the chances to finish game in 1 person lifetime.
I do not understand much here, eg. ZenGL code is well optimized and very easy understandable and modifiable. On other hand there is ZenGL Particle editor from different author who did great job but it's pure chaos.
Chaos is not optimized in that sense
Last edited by JC_; 09-06-2017 at 09:27 AM.
I see. Personally I wouldn't have bothered with trying to support versions that old, but that's just me. I mean, if you can't afford a newer Delphi version, why wouldn't you just use FPC/Lazarus instead? I'd rather quit programming forever than have to use Delphi 7 in this day and age...
It's an abandoned project (the developer seems to have just vanished) built ENTIRELY around outdated OpenGL functionality. I don't doubt you get 60 FPS in what are probably relatively simple 2D sprite games, but that's just your CPU brute-forcing the immediate-mode rendering. If you tried to scale ZenGL up to anything relatively complex you would hit a brick wall, trust me.
Last edited by Akira13; 09-06-2017 at 04:41 AM.
With ZenGL you can render >10 000 animated sprites with transformations on 10y old hardware without any problems, it uses sprite batching etc. If there is any bottleneck so it's management or structure of game objects and their dynamics adding and removing - so rather Pascal language performance problems. Also internal ZenGL gameloop have some gaps in performance and it does a lot.
Last edited by JC_; 09-06-2017 at 03:27 PM.
Edited:-
If you are experiencing performance issues with Pascal, I would suggest that the problem is perhaps yours and not the language. Achieving maximum performance takes skill in the form of a thorough understanding of what's slow, what's fast and what's going on when your code is actually executed. It also requires patience. I spent 12 months optimising the server for my first publicly released game and it showed because performance wise it blew away a lot of the competition and included the capability to scale to handle lots of users. I learned a lot doing it and have since applied that learning to more commercial products for some past employers and I have frequently been able to beat 'the best tools for the job' using Delphi.
Engines are ultimately written for a purpose. I'm in the process of starting a new game development project. Am I going to use an engine that already exists? No, because the ones that are out there won't do what I want in the way I want them to so I'm planning on rolling my own. There is one engine out there that would do what I want, but the chances of me getting my hands on it are nil! If it takes me a couple of years, so be it, if it takes me longer, again so be it. Along the way, I'll learn some neat stuff, have fun and be a better developer at the end of it.
Now my original post was driven by some of the posts before it are simply rubbishing our attempts to try and create something for the community. Part of the problem with a lot of the frameworks that exist currently is that they are written by one person! Life gets in the way and the project dies a death and then people complain. Well here's a radical idea... you want to know why good shit exists for other languages Because lots of people come together to work on them! It's that simple! One of the key problems this site has experienced through out it's life is this unwillingness of the community to get in there and help out and give back. Now if you've volunteered your services in response to some of my rantings on this subject, thank you it is much appreciated... I know I have one article to review that I've just been a bit busy to get around to (and if you think this is a cop out, screw you, I'm busy trying to build a business from the ground up in an area where I have no commercial contacts or pre-existing customers and it's hard going).
Maybe, just maybe, if the community had volunteered to help some of these earlier projects they wouldn't have died a death. Maybe, just maybe.
I keep banging on about this, and I'm going to continue until either everyone that does this leaves or people stop complaining about what exists for this language. The reason it doesn't exist is because people don't give up their time for the benefit of others and those that do are normally called out because 'this is wrong with the engine', 'the documentation sucks', 'there's no examples'. If you're that kind of person, keep your negative comments to yourself about the endeavours of people who have genuinely tried to help this community by trying to bring tools to it that enable the vast majority to do what this site is about... make games.
My original post was a far more personal attack and I'm sorry about that but the last few posts pushed me over the edge.
Pascal is an amazing language and simply lacks the community support that exists for other languages. You want more for the language you (we) need to do more, to create more, to share more.
:: AthenaOfDelphi :: My Blog :: My Software ::
Bookmarks