Page 1 of 4 123 ... LastLast
Results 1 to 10 of 40

Thread: The future of Pascal as language for games

  1. #1

    Question The future of Pascal as language for games

    After some negative criticism on reddit about the language(Pascal) I'm using for my game engine, I was a little discouraged to continue(but my spirits already turned back to normal).

    Most of the criticism is because I'm not using C++ as language. After some discussion(on another communities and pages on facebook) I noticed that there is not so much game engines for pascal. Maybe that is why the language is becoming so rare in game development. And, most of the game engines are us Delphi(what is not a good idea, since it is propietary) - I'm developing my game engine for booth Delphi and Free Pascal.

    Just wanna know what you guys think about it.

  2. #2
    Well, Reddit is a tough crowd.
    Don't be discouraged by it, people are thinking Turbo Pascal is the current modern Pascal.
    The fact is Big Fish Games for one is using FreePascal in a few of their flagship titles.

    As for engines, I think there are too much engines right now in the Pascal world. Almost everyone here in these forums has his/her own engine, but none of the engines have a particularly high following. With one engine with a higher following, other non-Pascal coders would be more intrigued by it and would let their prejudice get the better of them.
    Freeze Development | Elysion Game Framework | Twitter: @Stoney_FD
    Check out my new book: Irrlicht 1.7.1 Realtime 3D Engine Beginner's Guide (It's C++ flavored though)

    Programmer: A device for converting coffein into software.

  3. #3
    If you enjoy writing in Pascal then end of discussion. Write in Pascal.

    C++ greatest strength is its history. It's been used in so many years and has become the de facto standard in game development. This means that many great libraries/frameworks for rendering, collision, physics etc. etc. are written in C++ or at least have C++ headers. Besides this massive library I can't see any reason C++ is better than other languages for writing games. Some might mention managed versus unmanaged languages but unless you're writing a triple A title you don't need the control C++ (and Pascal) offers you. However IMO C++ is a hard language to write in. It's easy to learn the syntax etc. but even when you have a good understanding of the language bugs easily creep into your code. IMO Pascal is just easier to write than C++. So unless you need some external libraries and you don't have Pascal headers (or want to write yourself) Pascal should be a fine language.

    But I agree with Stoney. There's too many engines written in Pascal compared to the number of users (at least on this forum). Further more there doesn't seem to be any clear advantage to choose one library over the other. If all those people are writing their own engines for learning purposes then fine, but if they want to advertise the use of Pascal as a game development language it would be better if they joined forces and created one über-engine comparable to the best engines written for other more popular languages.
    Also most engines seems to stop when they can render sprites and do some basic collision handling etc. If you really want to show how great Pascal is for creating games it would help if you could show an engine that through ~5 lines of code can load a 3D world, render it in high quality and move around with a first person controller that interacts physically realistic with the environment. And it should be easy to implement and add moving entities in the world e.g. by offering modern AI technologies like efficient path finding, behaviour trees, heat maps etc. Unless someone could offer an engine like that I wont consider Pascal for more than simple hobby game projects.

    I did some experimentation with Pascal for .NET (oxygene / Delphi Prism) and Unity 3D and I must admit that IMO it is the most interresting use of Pascal in game development I've experienced in many years. If I were to write a game for commercial use I would choose something like Unity 3D because it offers so much more than the engines written by one or two persons in Pascal. But at least I can use Pascal with Unity if I wish to do so.
    Imagine I've written something clever here inspiring you to make something awesome. If that happens give me credits

  4. #4
    Just wanted to mention that some replies in "reddit" where you posted about your game engine are completely unfounded, lack any evidence or logic whatsoever. I don't know why this image comes in my mind.

    Any way, don't break your head over it: Pascal as a language, FreePascal/Lazarus and Delphi are very powerful tools that in terms of productivity and performance can compete with any other development tools out there and even beat many of them.

    Some years ago I was saying that if your writing is bad, don't blame the pen!

    Quote Originally Posted by pstudio View Post
    There's too many engines written in Pascal compared to the number of users (at least on this forum).
    This is true in general and not only for Pascal. This is why it is recommended when you start learning, to begin developing an actual game project instead of an "engine", because by making the game you get full development experience from start to finish.

  5. #5
    Felipe don't get discouraged about what other are saying about pascal. When I started programing everyone were discouraging me from using pascal (Delphi).
    Mostly they were saying that Delphi is weak language and there are lots of things that can't be done it it but can be easily done in other programing languages. I must say that it felt verry good when I proved them wrong.
    Yes I must admit that there are lots of more tutorials, code samples etc. for C++ than for pascal but this doesn't mean pascal is weak language.

  6. #6
    PGD Staff code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    933
    Blog Entries
    45
    I think its personal choice - thanks to libraries in the form of .dlls and .sos there's no real excuse to isolate other languages, and to be fair - there is very little freepascal and delphi can't do that c++ can. In fact in many areas I'd argue the opposite. I think the criticism from the C/C++ side of the fence is based on their experience with turbo pascal back in the day, which doesn't really translate into the full picture of pascal today.

    Reading a few of those reddit posts - I would say that the comments that state pascal has lost a large share of the market is a load of rubbish, pascal has gained traction under the development of delphi, it can now be compiled for java and for flash. If anything, thats the as good a pedigree if not better than what C cam offer.

    My last point (since I think you guys get where I'm going with this) would be that any argument made under the delusion that pascal cannot work on the performance/cutting edge end (at least not as well as c) is largely incorrect. Just take a jog around PGD and have a look at all the new stuff popping up everywhere. As for success on the current market - look what Andru did with ZenGl.

    In my opinion (irony, I know) I would say that the c crowd trying to marginalize pascal in that way only do it out of ignorance and preference that theirs is the best and only way. Nothing more. Personally, to those people I'd go all out, make something amazing and unique then come back and point out that the code they are now looking at and thinking 'not a half bad idea' was written in pascal - not c - and the reason for that being that you could read your own code without lifting a finger. Something I know C has a very many issues with.

    Edit:
    pstudio: Having rescrolled the page, and read your post. Uber engine - unbelievably valid point You have one supporter here! Although I fear ZenGl pretty much up and did that already
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  7. #7
    PGDCE Developer de_jean_7777's Avatar
    Join Date
    Nov 2006
    Location
    Bosnia and Herzegovina (Herzegovina)
    Posts
    287
    I'm also guilty of writing my own engine. Though, from what I've noticed, most people write their own engines in other languages. Mostly because, licensing a major one for commercial work is not possible for most developers. and it can be a great learning experience. I hope you won't be discouraged, because in my opinion Pascal is quite suitable for writing games (or any other form of software), just needs a better foundation (an uber-engine or a very nice library like pstudio mentioned). I'm afraid most people not familiar with modern Pascal don't realize that there is nothing that C++ can do, that Pascal can not. What Pascal needs, if we want to make it more popular, is amazing games made with it.
    Existence is pain

  8. #8
    i think because the general idea that alot of ppl have is dalphi designed for database app and c++ for scientific app , and as you maybe noticed that embarcadero and borland previously Focused on database all times , so the name 'delphi' has been associated with databse domain rather than games

  9. #9
    Here are some humorous thoughts about why Pascal beats C: http://www.pascal-central.com/top10.html (but I think most of you already knew this)
    Btw, did you know that for Pascal programmers a C listing consists only of comments?
    Code:
    {
    }
    Best regards,
    Cybermonkey

  10. #10
    Quote Originally Posted by AirPas View Post
    and as you maybe noticed that embarcadero and borland previously Focused on database all times , so the name 'delphi' has been associated with databse domain rather than games
    Yes I did noticed that and infact I can't understand this policy.
    I can understand back in day Borland focused a lot on databases mostly becouse of their BDE (Borland Database Engine). The main advantage of BDE was ability to work with various types of databases raging from old DOS databases like paradox to all the newest and all this with exactly the same framework. If my memory serves me corect BDE was the only tool back in day to provide that and SQL was stil in development.
    But today when we talk about databases we always talk about SQL. Why? SQL is similar to what BDE was back in days with the main difference that it is cros-language and cros-platform compatible. Lets face it nowadays rarely anybody works directly with databases all other use SQL for that.
    Yes through out the years Borland and now Embarcadero did developed a lot of standalone programs for working and managing the databases but I still doesn't understand why they focus so much about databases.

    I do have to admit that some of the focus has ben turned to FireMonkey lately wich should alow developing application for multiple platforms but still the main focus is on databases. You can even see this by the fact that whole FireMonkey platform focuses on data binding.

    And as I'm mentioning FireMonkey here I might share some of my expiriences with it.
    The core idea for FireMonkey is good but I'm afraid that its implementation isn't. If you intend to use it for game development I recomed you to stay away, atleast for now. Why? FireMonkey's performace is quite bad.
    Having quite simple form with several controls on it and you are already down to les than 30 FPS especialy if you use any special effects that FireMonkey provides.
    The special effects that FireMonkey provides also aren't much.
    The worst part is how controls works. For instace if you have a form with three trackbars wich are used to determine rotation of some 3D object wich is being drawn by FireMonkey you could expect horible performance (verry laggy). Why? Becouse for some reason FireMonkey seems to be queing events fired by your interaction with FireMonkey-s controls. So for instance when you move trackbar left for three units three events would get qued. And FireMonkey will first rotate your object based of first qued event, than on second qued event, and then on third qued event. And if this 3D object of yours is atleast a bit compex could take even a second for FireMonkey to finish all three events.
    If you ask me FireMonkey-s controls should check their imputs only after redrawing phase and not que any events just as games graphical engines does.

Page 1 of 4 123 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •