Recent

Author Topic: What prevents to FPC (or Object Pascal) to create commecial-level games?  (Read 13703 times)

Hydexon

  • Full Member
  • ***
  • Posts: 170
As a Object Pascal intermidiate developer (i don't expect much about me  :-[)  i see many game engines written in FPC and Delphi,but i don't expect much future for their engines, are completely Quake2 (or 3)-like engines, in the internet i see many freely available and good quality for creating indie games greater than Doom-3 games. but these engines are written by de-facto language: C++, the C++ is the de-facto language for the videogame engineering.

Embarcadero promises us (liar!) FireMonkey for rich 3D apps.. with the dream has graphics like the Unity3D Game Engine, but still keep an "vaporware" promise.

Since years, i dreamed with a fully-featured game engine like Unreal 3, completly written in Pascal, but i see to i'm dreaming very far.

So my question is what problem or factor prevents create industrial-level game engine in the Object Pascal Programming Language?.
Lazarus 1.0.4 Stable - FPC 2.6.0 - gtk2 | Linux Mint 14 Nadia | GNOME Shell 3.6.2 - Awesome | Intel x86 | HP Mini 1020-LA Netbook (old)
Lazarus 2.0.2 Stable - FPC 3.0.2 - Windows | Lenovo IdeaPad Y

Chronos

  • Sr. Member
  • ****
  • Posts: 256
    • PascalClassLibrary
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #1 on: January 29, 2013, 09:02:03 am »
This is really interesting question. There are many aspects which have impact to general acceptance.

Simple answer is that fpc/lazarus is not ready for such big professional projects as 3D games. and engines. And it won!t be in near future.

There are really only few games even in wiki so new programmer haven't enough samples:
http://wiki.freepascal.org/Category:Games

There are even competition in game creation but as winner games are presented they are  only basic simple games without acceleration.
http://www.lazarusbrasil.org/contest.php

Lazarus is simply not fully featured product. Take for example audio/sound standard components. Where TMediaPlayer or some other wave PCM stream playing components? Game needs some background music and effect playing.

For 3D game engine. There are some amateur projects.
http://wiki.freepascal.org/nxPascal
http://wiki.freepascal.org/Castle_Game_Engine

But trying to create engine like Unreal, quake or crytek engine should be commercial suicide.

In area of free & open source developers will probably tell you that they do not have spare time and that you should make such thing by yourself and then bring it to rest of community. But with this attitude fpc/lazarus will be late behind commercial products for long time.

Ok, still we live in real world. Then you can grab some money and pay development of custom profi game engine and speed things up significantly.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12901
  • FPC developer.
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #2 on: January 29, 2013, 10:12:28 am »
Major titles like Unreal, Blizzard stuff and Call of Duty have budges that are counted in the tens of millions dollars.

If you want to get there, you probably have to work yourself up to that capitalization by making smaller successful games, building your team and capital.

P.s. I wouldn't look towards Embarcadero/Firemonkey for gaming beyond a minor "solitair" desktop game.

User137

  • Hero Member
  • *****
  • Posts: 1791
    • Nxpascal home
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #3 on: January 29, 2013, 03:34:24 pm »
Simple answer is that fpc/lazarus is not ready for such big professional projects as 3D games. and engines. And it won!t be in near future.

There are really only few games even in wiki so new programmer haven't enough samples:
http://wiki.freepascal.org/Category:Games

There are even competition in game creation but as winner games are presented they are  only basic simple games without acceleration.
http://www.lazarusbrasil.org/contest.php
That is so wrong. Lazarus is much better suited for game programming than C++ because of syntax alone. OpenGL is exactly same whatever language you program in. Just because they make bad games in Brazil, doesn't mean it's like that everywhere in the world. I could give a few more links:
http://www.pascalgamedevelopment.com/showthread.php?13795-Brtech1
http://www.pascalgamedevelopment.com/showthread.php?6299-quad-engine
http://www.pascalgamedevelopment.com/showthread.php?13968-Projekt-Weltherrscher-quot-Phase-2-quot

There is good reason nxPascal isn't yet big, i am the only developer and i spend very little time coding lately. I would greatly appreciate it if any programmer would volunteer to help with it. Only reason there is few games made with Pascal, is the low amount of people that are 1) interested in making games, 2) using Pascal as main language. Most Pascal game makers are moving on to using shaders (if not deep with them already), myself included. It will just take work and time, but nothing that can't be done.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8836
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #4 on: January 29, 2013, 05:34:07 pm »
Quote
So my question is what problem or factor prevents create industrial-level game engine in the Object Pascal Programming Language?
IMHO:
  • Lack of developers knowing Object Pascal
  • Lack of industry interest
That's all. Object Pascal actually has everything in better form than C++ (industrial level should have no bug AT ALL after release, again IMHO, and Object Pascal helps testers to make it true). Libraries? Quite a lot and powerful, especially for Castle 4.0.0 that's just released, I've thrown my old-self-written-much-less-feature engine for this. Platforms? A lot, including consoles.

Chronos

  • Sr. Member
  • ****
  • Posts: 256
    • PascalClassLibrary
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #5 on: January 29, 2013, 07:56:36 pm »
That is so wrong. Lazarus is much better suited for game programming than C++ because of syntax alone. OpenGL is exactly same whatever language you program in. Just because they make bad games in Brazil, doesn't mean it's like that everywhere in the world. I could give a few more links:
http://www.pascalgamedevelopment.com/showthread.php?13795-Brtech1
http://www.pascalgamedevelopment.com/showthread.php?6299-quad-engine
http://www.pascalgamedevelopment.com/showthread.php?13968-Projekt-Weltherrscher-quot-Phase-2-quot

I tried to make some 2D by myself too and I can tell you that there are many problems which will slow down your development. And my aim was to create 2D game without opengl acceleration. Just to get best of available multiplatform components. And best way to start is recreate some old DOS based games with today most advanced FPC/Lazarus components. For example look at this old game called Tunneler. http://www.youtube.com/watch?v=8wcdIDr4jrU
You could read ingame text from author who says that game is created in turbo pascal and direct video memory access with use of some high resolution text mode. How many hours will take to create it's Lazarus/FPC remake? If FPC is really ready for big project it should first allow rapidly to create simple games. Multiplatform sound effects? Not yet supported. Fast full screen 2D graphics? Not discovered yet.

As soon as I will see FPC remakes of some old famous games like Worms, Dune 2, C&C, Warcraft 2, Doom 2, Transport Tycoon, Civilization, Dungeon Master and many others then I will admit that it is prepared and it is only matter of FPC is not well known and have small community.

For now I will stick to business applications and tools development...

User137

  • Hero Member
  • *****
  • Posts: 1791
    • Nxpascal home
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #6 on: January 29, 2013, 09:27:16 pm »
Ever since coming to Windows era, hardly anyone uses video memory directly anymore. Every game relies on graphics libraries such as DirectX, OpenGL or SDL if you aim only for crossplatform 2D. I have uploaded more videos about nxPascal too, enjoy ;)

Since you suggested Tunneler, here's tech demo on breakable pixelmap with OpenGL: http://www.youtube.com/watch?v=cEKD4CNvexU
3D shooter demo with BASS ingame musics and sounds: http://www.youtube.com/watch?v=CoXJbSZddOA
(Towards end the sound starts clicking. It was afterwards fixed in nxBass.)
Did this RTS test over 3 years ago. Game was still running smoothly with 25000 AI controlled flying ships: http://www.youtube.com/watch?v=kzDrqhHbwKw

I haven't made games because time is limited, and for real games you need real graphics artist, musician and so on. Remakes of old games take considerable effort. Something like Quake 1 may seem simple, but consider there were tens, if not hundreds of people making all the content and art. And there are already some sort of Doom ports for pascal, it's just old tech that is not too interesting anymore.

Hydexon

  • Full Member
  • ***
  • Posts: 170
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #7 on: January 29, 2013, 11:45:37 pm »
I see your posts and are very interesant,but after said about the videogame (even the demoscene) industry leave Pascal to the abyss.

Today's the game developement is criticized and qualified by Graphics quality and realism (and also can be for history and narrations), and see many attempts to aproach this goal, but seems so far to archieve it, (for example, in my school project i've developing an motion-capture software for Kinect in the Object Pascal, but due their limitants i forced to swap to C#).
 
I'm planning to port in Pascal an recentely freely opensourced game engine called Torque3D (written in C++), but seems too very complex.
Lazarus 1.0.4 Stable - FPC 2.6.0 - gtk2 | Linux Mint 14 Nadia | GNOME Shell 3.6.2 - Awesome | Intel x86 | HP Mini 1020-LA Netbook (old)
Lazarus 2.0.2 Stable - FPC 3.0.2 - Windows | Lenovo IdeaPad Y

Carver413

  • Full Member
  • ***
  • Posts: 119
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #8 on: January 30, 2013, 12:25:42 am »
Torque3D is a great engine an if they manage to get it working on linux I will definitely be playing around with it. but I don't see any practical gain from from such a project. it would take years for such a conversion and for what just to say it works in pascal. your time would be better spent learning game engine design and building it up from scratch.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8836
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #9 on: January 30, 2013, 12:57:34 am »
Quote
How many hours will take to create it's Lazarus/FPC remake?
Depends on your skill much more than FPC capability, it's more than capable already, I tell you. Well, if you know how to use it.
Quote
Multiplatform sound effects?
3rd party library (OpenGL, Bass, mpg123, etc.) bindings are available, use that.
Quote
Fast full screen 2D graphics?
http://ptcpas.sourceforge.net/

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #10 on: January 30, 2013, 09:44:58 am »
I'm planning to port in Pascal an recentely freely opensourced game engine called Torque3D (written in C++), but seems too very complex.
Sorry, but.... why?

Isn't it much easier to use/write bindings to an existing good quality graphics/3D library and let the library designers do the heavy lifting (e.g. Ogre3D, Torque3D... any other)?
If the library is good enough quality, no need to deal with that. Likewise, not everybody needs to write their own web server if they want to use Object Pascal web applications (Brook, fpweb etc).

I'm aware that binding to C++ code is not possible ATM; that's why I think expanding/finishing the SWIG Object Pascal port that allows you to automatically generated object-oriented bindings is a very good idea...
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Hydexon

  • Full Member
  • ***
  • Posts: 170
Re: What prevents to FPC (or Object Pascal) to create commecial-level games?
« Reply #11 on: January 31, 2013, 12:07:37 am »
Well, i'm thinking to create an great game engine completely written in FreePascal and Lazarus,with the objective to create a powerful engine can be compared with the most popular engines (Unity, Unreal, CryEngine). is the best to join their efforts for this project instead creating own engine.

i can help,but i don't promise anything because i'm very busy at my technical bachelor (called this, in my country).

So we spread the word?.
Lazarus 1.0.4 Stable - FPC 2.6.0 - gtk2 | Linux Mint 14 Nadia | GNOME Shell 3.6.2 - Awesome | Intel x86 | HP Mini 1020-LA Netbook (old)
Lazarus 2.0.2 Stable - FPC 3.0.2 - Windows | Lenovo IdeaPad Y

 

TinyPortal © 2005-2018