PDA

View Full Version : GamePascal - Cross-platform Game Development in Object Pascal



drezgames
21-10-2013, 12:32 AM
GamePascal will be a cross-platform based game development system based around the Object Pascal (http://en.wikipedia.org/wiki/Object_Pascal) language and powered by Simple DirectMedia Layer (http://libsdl.org/).

Download: Direct Link (https://www.dropbox.com/s/19zbq983vacm155/gamepascal-r1-20141008.zip)
Version: R1
Platform: WIN32, OSX32
Game API: SDL2
Web: http://tinybiggames.com
Facebook: http://facebook.com/tinyBigGAMES
Twitter: http://twitter.com/tinyBigGAMES
YouTube: http://youtube.com/tinyBigGAMES

These are some of the features either already in or planned for a future release:


Object Pascal (Delphi level 7 syntax)
Powered by SDL2
High-level game engine on top of SDL
Cross-platform (Win32, Win64, Macos and Linux)
Native code generation
Light-weight customizable IDE
Syntax Highlighting
Code Completion
Code Templates
Source Level Debugging
Plus much more...


The product will be developed and refined on win32 platform until it reaches a satisfactory level of maturity then it will be expanded to other platforms. We are looking for feedback, ideas and suggestion to help shape into a great and usable product. During the alpha/beta phase it will be free and most all features enabled for testing and feedback. It will to be a commercial product upon final release and very indie friendly. We plan to have a Free, Standard and Professional version. Those that contribute and provide feedback will be granted a free professional license and your name will be included in the credits (if you prefer) along with other incentives and special offers. More information and media coming soon.

Thanks for your consideration.

Cybermonkey
21-10-2013, 07:32 AM
Looks interesting. Unfortunately I see no planned Linux support. We don't know for sure now but with SteamOS and such maybe Linux can be the future of gaming and I think it is shortsighted not to support it.

drezgames
21-10-2013, 12:15 PM
@Cybermonkey
Hi, yea Linux support is planned, I just forgot to include, sorry about that. I've updated the post to reflect. Thanks for pointing out the oversight.

Cybermonkey
21-10-2013, 03:06 PM
Ah, thanks for that. Looking forward to it, in the meantime I'll try the Win32 version.
BTW, which SDL2 bindings are you using? From here? https://github.com/ev1313/Pascal-SDL-2-Headers

Andru
21-10-2013, 05:45 PM
Hmm, some sort of deja vu here... just can't remember the name of similar project which has gone with author.

updated: remembered! SvPascal (http://www.pascalgamedevelopment.com/showthread.php?9187-SvPascal)

azrael11
21-10-2013, 08:23 PM
Hmm, some sort of deja vu here... just can't remember the name of similar project which has gone with author.

updated: remembered! SvPascal (http://www.pascalgamedevelopment.com/showthread.php?9187-SvPascal)

and BareGame i think...

drezgames
21-10-2013, 10:03 PM
@Cybermonkey
Great, thanks! Actually when I first started working on GP, I had found these headers (http://www.remakesonline.com/descargas/SDL2.zip). Since that time I've updated them a bit and made small improvements. I will contact the author and share my improvements if He wants. They are minimal and I am sure they have already been updated by now.

@Andru
Hi, yea, was not possible to complete it back at that time. There where some technical issues that prevented me from continuing. However, all that was learned is being brought forward. Now, I think I will be able to complete the project since many things are now in proper alignment. I will continue to iterate until it's done. Hopefully I can get great feedback along the way.

@azrael11
Hi, I've seen this, but its not my project. Respect to BareGame developer. What's great is that we have many choices. We can pick what works for us and make great games.

I love Pascal as do all of us here, so I want a development system that is gamedev focused, affordable, great features and easy to use. For example take Construct 2 (https://www.scirra.com/construct2), when you export to Node-Webkit, it will create a project for Windows, MacOS and Linux all at once. That sort of ease of use I like to see. What if you can just select the platform, hit compile and there it is... BAM! No hoops to jump through... it Just Works™. Something I noticed with GameMaker (http://yoyogames.com/studio) is when you export to Windows, it can create a packed EXE, and installer EXE or a folder structure with all needed files for deployment. Now for me, I love the "feel" of code so I want to see a code editor where I can get down and dirty, but why not have features in the IDE that make development easier? In time I hope to add the things that developers need. Give me your feedback and we can try to get it in.

Development is hard and time consuming. We often can not anticipate the problems that lie ahead. I have many failed projects that can testify to this. I think this is common to all us developers. But what I have realized is that I can always go back over my old projects and pull something out that I learned/discovered/developed and bring if forward and use it to maybe finish another project.

It's now way easier to compile to these different platforms, and different ways to build and test on them. For example, if you do not own Mac hardware, rent it (http://www.macincloud.com/). I was so impressed with them that I rent a dedicated server. I have real mac hardware to work on, until I can of coarse get Macs in the office and all. In the mean time, this is the next best thing for me.

If I was not a Embarcadero Technology Partner (http://tp.embarcadero.com/), I could not afford to update Delphi every year. Sigh! Up until 2006 I had purchased every version since Turbo Pascal 3.x (1985). That's a long time and a lot of money when you think about it (phew, I just did). So I am thankful for being accepted into the program.

So the barrier to entry is much better (and cheaper) now, which for me, makes it possible to maybe... actually... finish this thing? Fingers Crossed! Haha.

Cybermonkey
22-10-2013, 07:33 AM
@Cybermonkey
Great, thanks! Actually when I first started working on GP, I had found these headers (http://www.remakesonline.com/descargas/SDL2.zip). Since that time I've updated them a bit and made small improvements. I will contact the author and share my improvements if He wants. They are minimal and I am sure they have already been updated by now.

Thanks, I will have a look. What I am most interested in is that you obviously statically linked the library to the executable. How can this be achieved?

drezgames
22-10-2013, 08:31 AM
Actually I found no easy way to do it so far. Having just sdl2.dll was not so bad, but by the time _mixer, _net, _image and _ttf was added, the DLL count on Windows is high. For the Windows platform I'm currently using Enigma Virtual Box (http://enigmaprotector.com/en/aboutvb.html) (specifically the more advanced version that comes in The Enigma Protector (http://enigmaprotector.com/en/about.html), no protection features are enabled, only taking advantage of the higher compression and other enhancements) to bind all the DLLs to gprun_win32.exe.

The idea is to have a gprun_xxx for each platform so compile/deploy become easy. No complicated hoops to jump through. It contains all the dependencies needed to run either the bytcode or the native image on that platform.

Of course Avast (http://www.avast.com) will try to kill it so if you get this problem, there is no virus, just a false positive. In fact, it will try to stop any normal Delphi generated EXE at first. I had to exclude my whole DEV folder to prevent this annoying problem in general.

Cybermonkey
22-10-2013, 08:09 PM
Found some other SDL2 bindings: https://bitbucket.org/p_daniel/sdl-2-for-free-pascal-compiler
Using them with your examples and freepascal works for 100% so far ...
There are now at least 3 "official" bindings, some guys from freepascal should really port/add an official wrapper to FPC 2.6.x.

drezgames
22-10-2013, 08:48 PM
Oh cool. Good to know. Thanks.

Cybermonkey
27-10-2013, 05:36 PM
Sorry, for being a bit off-topic but I recognized that those headers do not compile on Windows. So I tried these again: https://github.com/ev1313/Pascal-SDL-2-Headers and they work fine!

drezgames
04-11-2013, 03:43 AM
Here are some things already working for next build:

Version 0.0.2:
* More examples
* Support for language translation (see readme inside language folder).
* -ai commandline option to add an icon file to output executable.
* -vi commandline option to add version information to output executable.
* Improved error handling.
* SDL2 + addons are in a single gpsdl2.dll (windows platform) now to minimize dll dependencies.
* OpenGL integration.
* Added GamePascal.SysUtils unit
* Fixed a memory leak when using nested unit names (full version of FastMM is your friend).
* Now using nested unit name format: GamePascal.SDL2, GamePascal.OpenGL, GamePascal.SysUtils.
* Reorganized folder structures/renamed files based on/support for different platforms.

drezgames
10-11-2013, 08:14 PM
1219

I’m working on a IDE for GamePascal. The first version will be very light-weight with all the necessary features to allow you to productive. Some features will include:



Syntax Highlighting
Multiple Open Source Files
Program, Unit and Include source file types.
Program and Unit names will automatically match the saved base filename
Standard editing features (cut, copy, past, undo redo, etc)
Code completion and param hints
Code folding
Jump to compiler error location
Source level debugging
Declare project options in source
Much more to come over time

drezgames
12-11-2013, 05:32 AM
Tonight I started working on getting code completion implemented. At this point I got basic param hints in and working. It's pretty fast too. Next I have to add a bit more support for deeper source tracing. It's using the compiler to dynamically provide the info for code completion so I need to make sure it's able to find any other units/include files referenced in the current sources.


http://www.youtube.com/watch?v=7aL_1LIm-dE

drezgames
13-11-2013, 05:29 AM
Code Completion now is pretty much done. There are a few more tweaks and enhancements that can be made. But, overall I am pretty happy with the results.


http://www.youtube.com/watch?v=9-674YPQWx0

hwnd
13-11-2013, 09:14 PM
Nice work!

May i ask few things? If you dont want to answer, its ok. Maybe its a company secret or something.

1) What language (IDE) you used to write GamePascal IDE ? FreePascal ?
2) Did you use SynEdit for syntax highlighting?
3) How you implemented the tooltips (completion lists and parameter hints)?

drezgames
14-11-2013, 01:50 PM
@hwnd

Thanks! Check your PM

phibermon
14-11-2013, 02:24 PM
Good work Jarrod! is there any reason you abandoned your previous IDE? I thought you'd already reached this stage?

drezgames
14-11-2013, 08:53 PM
@phibermon

Thanks. Yea it was kinda sorta working, haha. The code was a mess and I was really getting my feet wet with it. Also I was not thinking about cross-platform either. This new code base is being made with cross-platform in mind and is much more elegant. All the things I learned from that experiment I was able to bring forward and get a jump start. I am working toward a good and solid foundation that I can iterate on and keep adding needed features.

I think one of the worse things you run into when working on a project is coming to the realization that it was not thought out well enough and trying to add anything new or change the structure becomes a pain. This time around I was gonna use all the "cool" design patterns and whatnot. Buuuut... you know how that can go... you end up planning and planning and not getting any code written. So I thought, what do I what here? For now, just a simple IDE that is functional, light-weight and I can add the features I need without too much fuss. I considered the things that caused me to get stuck the last time and threw all of that out. I brought forward code and concepts that worked and so far so good.

The most important thing is that I am having "fun" and staying motivated. Phew... I tell ya, it can be tough staying motivated. I tend to have two projects going. A main one and a experimental one. When I get stuck or need a break, I will work on my 2nd project for while to allow my mind to work on the solution. Amazing how well this works (at least for me). Also its great to have someone to bounce ideas off of too. Any way, sorry rambling. Haha.

1) Wow, talk about inspiration (http://www.gamasutra.com/blogs/SteffenKabbelgaard/20131113/204726/How_we_lived_together_for_3_years_while_making_FOR CED.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GamasutraNews+(Gamasutra+News )). I like reading things like this, especially when I get depressed and have no motivation.
2) Another good one here (http://gamasutra.com/blogs/ArianAllensonValdez/20131113/204653/Why_your_Games_are_Unfinished_and_What_To_Do_About _It.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GamasutraNews+(Gamasutra+News )) too.

phibermon
17-11-2013, 03:58 PM
Well I think it's fantastic work! and I totally agree, it's best to focus on things you enjoy at the time during development. Which is the beauty of working on multi-discipline projects like game engines, frameworks - There's all kinds of things to get your teeth into so when a particular problem or progress issue starts to remove the fun, you can just switch to another part of your code entirely.

I often find that when there's a bug or design challenge that I'm struggling with, I have an easier time of it when I focus on something else for a while and come back.

Thanks for the links!

drezgames
18-11-2013, 02:21 AM
This is a short video of me talking about the cool new features added in this update. Check it out!


http://www.youtube.com/watch?v=PYAhuo2d8sE

drezgames
18-11-2013, 02:40 AM
@phibermon
Hi, thanks very much. Yes, its very important that you remain (as much as possible) in a good frame of mind when developing your projects. As we all know, stuff just happens and we tend to get side tracked and bogged down in other life related issues. We must keep plugging away at it until we achieve our desired goals. Often times it takes way more to accomplish a given task than anticipated. Such as life. I've come to discover that life itself is just one big iterative process. We must keep hammering away until we finish. It's all about learning, growing and making better choices. Just one big debug process... haha.

Good, yea those links are fantastic. Great inspiration and some very good tips to keep oneself motivated and on track.

drezgames
26-11-2013, 01:39 AM
Alpha Release 3 is now available (see link in first post). Apologies for the delay. We were having some server issues. All should be sorted out now. Please let us know if you experience any download problems.

If you want to provide feedback, we encourage you to register an account at http://gamepascal.com and post in the support forums. Also, you are able to send feedback directly from within the IDE

Thanks.

drezgames
01-12-2013, 05:16 PM
I recently got asked the question: “with all of the other game programming products out there , that you intend to compete with , why is yours a better choice? What is it about your paid product that would be to my advantage to switch to? Does this product do something unique that other don’t, etc.?”

Simple & Elegant

We hate complexities and feel that software should be powerful and capable, but must be very approachable. It should be simple to use yet elegant and feature rich. For example, you should be able to select your target platform and generate output for that platform without jumping through tons of hoops.

Intuitive

The product will be intuitively designed. It will work the way you need to work so that you can be very productive.

Fairly Priced

It will have price points suitable for everyone. You can have a great product that is very desirable but if it’s priced beyond what the majority of the people who will use it can afford, then what’s the point? The Point is if its popular it will get pirated!

Community Driven

We listen to feedback and wish for YOU to be involved in shaping its development. We want to build a thriving community around GamePascal.

Quality Product & Support

Our standard practice is providing affordable high quality development solutions. But lets face it, the state of customer support across all industries these days is not good. I think most people can give an account of more than one bad experience. We aim to make quality customer support a top priority. Offering great products and services is just part of the process. Backing them up with quality support is key to a successful operation and building customer loyalty.

Iteration

We’re a small company with limited resources so it’s all the more important that we stay agile and be reactive to market demands. We will iterate our company in all areas to be better, faster & stronger.

Transparency

We shall will be honest and transparent. No hidden motives, ploys or dishonest business practices that are so common this day and time. We will conduct business fairly, honestly, profitably, and cheerfully, while avoiding debt and extravagance; to support an efficient non bureaucratic organization based upon teamwork, honest and frequent communication, careful and thoughtful decisions; to offer employees meaningful work, fair compensation, and all necessary help for them to do their best work; to develop useful, reliable, and wonderful software products; to market our products effectively, professionally, truthfully, and with excitement; and to offer excellent support for our products.

Summary

GamePascal is a cross-platform solution for game development in Object Pascal. If you love Pascal, if you love game development and need a cross-platform solution that is simple and elegant, lightweight yet effective and very affordable, GamePascal aims for this and more.
Our goal is to make GamePascal a community driven, quality and affordable product that people will want to use and own and not pirate.

hwnd
02-12-2013, 10:02 AM
I only care about Win32 (32bit) and Android platform support, including older: 2.3.6.
Currently i would like to make something for my Android phone, but i havent found anything good that makes creating apps for it easy.

Eclipse Android emulator is so CPU expensive that my poor old PC is unable to even startup the emulator. I have to buy some 4GHz PC with 8GB of ram for that emulator.


Hopefully GamePascal will be the one thats good, easy to use and fast.

Best of luck with GamePascal.

drezgames
02-12-2013, 02:09 PM
@hwnd
Thank you.

drezgames
10-12-2013, 06:19 AM
This is a short video (http://gamepascal.com/gamepascal-ide-update-4/) showcasing the integrated context sensitive HTML help. It turned out the be a little more bothersome to get working than I anticipated. Now I just have to finish working on the documentation.

hwnd
18-12-2013, 09:08 PM
May i ask when you make another public release of the IDE?
I would like to try the new features.

drezgames
18-12-2013, 09:27 PM
@hwnd
Hi, new public build coming soon. Lots of great features in now: help framework, you can set your default project, high level game engine (JetEngine) and working on a lower level procedural version for the folks that may not want to use oop. Many bug fixes and optimizations. It is getting very stable and just works.... I am very happy with the progress. If you want to check it out now, create an account at gamepascal.com (http://gamepascal.com) and if you go to main menu->my account->my messages (http://gamepascal.com/my-messages/), send me a PM (http://gamepascal.com/my-messages/?pmaction=newmessage) and I will make a build available to you to test. I would appreciate the feedback so that I may tighten things up as much as possible for the next public release. I think you will be pleasantly surprised at the increased quality level in the new build (I'm just excited and happy that is all coming together, hehe).

Thanks.

drezgames
21-12-2013, 12:56 PM
1. GamePascal AstroBlaster Demo (http://gamepascal.com/gamepascal-astroblaster-demo/)
2. GamePascal IDE - Update #5 Video (http://gamepascal.com/gamepascal-ide-update-5-video/)
3. New build soon.

hwnd
22-12-2013, 11:26 AM
Hi.

I looked at the game and watched the whole video. Its really getting better and better.
And so quickly. Really nice.

Btw.
I registered at your website but im unable to send you the PM.
I used your full name in the "To:" editbox and i tried to send the message but it said that the recipient is invalid.

What im doing wrong?

drezgames
22-12-2013, 01:08 PM
Thanks.

The PM plugin I am using only seems to reference user usernames so you must your the username of the person you are sending to. If you click on the <directory> link shows a list of users to pick from.

paul_nicholls
23-12-2013, 04:31 AM
Hi Jarrod, I will try the latest version when I get internet again...maybe tomorrow :)

cheers,
Paul

drezgames
23-12-2013, 05:14 AM
Cool bro. How have you been? PM me and I can give you a link to a newer build for testing.

Thanks

drezgames
29-12-2013, 05:59 PM
This is how I made the integrated help system (http://gamepascal.com/zipped-html-help/) in GamePascal.

SilverWarior
29-12-2013, 09:27 PM
This is not best idea. Why? TWebBrowser component requires Internet Explorer instalation. This means that it won't work on ony computer that has no Internet Explorere installed. While most pepole leve IE installed and simply use other browsers some pepole actually remove IE from their computer.
Some pepole also block JS execution in their brosers which could again lead to trouble.

So how to solve these problems the easiest way. Some time ago I have seen an article about TWebBrowser component replacment which in the background uses FrireFox instead of IE. I'm sorry but I don't remember where I have seen this.

drezgames
30-12-2013, 12:13 AM
Hi,

Yep, true. And what if FireFox is not installed? How would I implement the protocol handler for those other browsers (i assume there should be something similar)? I just found this:
http://code.google.com/p/delphichromiumembedded/

Have you had any experience with it? I've not downloaded it yet, but if I can not be able to implement some type of protocol handler, how do read from the zip file?

drezgames
30-12-2013, 02:37 AM
Well, the link above I can not get it to compile with XE5 but I found this one:
http://code.google.com/p/dcef3/

I'm playing with it now. Looks like it may work. I see where I can setup and register custom protocol handlers. So this maybe be a possibility. Cool bro. Thanks for bring this up. It will be nice if I can get this working.

SilverWarior
30-12-2013, 08:24 AM
Yep, true. And what if FireFox is not installed?

If my memory serves me corectly the main advantage of the mentioned component is that you distribute a few core files from Firefox with your program so Firefox doesn't need to be installed.

drezgames
04-01-2014, 06:55 PM
My post on frame-based timing (http://gamepascal.com/jetengine-frame-based-timing/) in JetEngine.

hwnd
04-01-2014, 08:35 PM
Why these posts (news) do not appear on main page?
I have been looking for updates / news for long time from main page and just checked my email and saw these posts, but why they are not on the http://gamepascal.com/ ?

Hidden somewhere. Only visible if you know the link.

drezgames
04-01-2014, 08:40 PM
Hi,

These type of post are in my dev blog section (support->blog) and news (new release, updates, etc) are on the front page. Maybe I should have all show up on front page? I can do that, it's just a tick. Let me know your thoughts.

EDIT: Now you can see all updates on the front page.

hwnd
06-01-2014, 05:13 PM
Jarrod. Dont get me wrong. I didnt mean to be rude or offend you any way. Seriously.

It seemed just a bit "wrong".
You should always post them so they will be on main page also.

Otherwise if there are now new posts, the website looks like "dead". Its new project and some people may think that the developer just gave up already, lost the interest or something.
Fresh posts on front will make it more "live".

Just my thoughts.

drezgames
06-01-2014, 05:18 PM
No worries. I understand you and thanks for the suggestion. I have changed it over so all posts show up on the main page. Thanks again.

drezgames
07-01-2014, 12:51 AM
We've released version 1.0.4.Alpha (http://gamepascal.com/gamepascal-v1-0-4-alpha-released/).

hwnd
25-03-2014, 01:38 PM
What happened? Did you gave up on this project or lost your interest?
Even gamepascal.com is down.

I hope you are ok.

paul_nicholls
25-03-2014, 02:01 PM
What happened? Did you gave up on this project or lost your interest?
Even gamepascal.com is down.

I hope you are ok.

I think Jarrod is having some web hosting issues at the moment.

cheers,
Paul

drezgames
25-03-2014, 09:10 PM
Hi, I certainly had hopes of finishing this project, but in the end there was very little interest. I even manage to get my BASIC compiler working, with a slightly more advanced IDE (multiple project support) and still little interest... at least not enough to warrant spending more time on them. I made the painful decision to press pause for the time being. I have to now refocus my efforts on working on other projects (ie the ones that will bring in actual income). It sucks.... so hard... but this is how it goes I guess. At the least I can use the tech in my own projects.

I had ramped up with a nice server to handle the load, ecommerce etc, but for now I had to move to a cheaper hosting solution, hence gamepascal.com is currently offline as I move over everything. No point is adding to the monthly burn rate when its not being utilized. I will most likely just consolidate everything (gamepascal.com and pirabasic.com) to piradyne.com rather than maintaining separate sites... just easier for me. If in the future there is more interest maybe I can resurrect them. Who knows.

Big shout-out and gracious thanks to the people who gave feedback, offer suggestions etc... you know who you are. Respect!

Carver413
25-03-2014, 11:46 PM
I can't imagine theres much money to be made in game engines these days. I know we all secretly wish it to be so but reality is not kind to us.

drezgames
26-03-2014, 12:30 AM
So true..... so true. Not kind at all. Sigh.

SilverWarior
26-03-2014, 06:58 AM
I can't imagine theres much money to be made in game engines these days. I know we all secretly wish it to be so but reality is not kind to us.

The problem is that there are already a few nice and considerably cheap game engines like Unity out there. But unfortunately most of them are made to be used with other programming languages.
And since Objective Pascal is not so popular for game development there is also lower demmand for game engines made for it.

Now I would be interested in using of already made Pascal based game engine but I have realized that I still have to learn quite a few things about game development.

Cybermonkey
26-03-2014, 10:10 AM
So true..... so true. Not kind at all. Sigh.
Better put your effort into a game rather than a game engine. IMHO a better way to earn money. (There are plenty more players than developers out there ...)

de_jean_7777
26-03-2014, 10:27 AM
Better put your effort into a game rather than a game engine. IMHO a better way to earn money. (There are plenty more players than developers out there ...)

I agree with this. Unity3D leads in this area, and considering you can get it for free it's hard to compete with that. And there is also the release of Unreal 4 engine for 19$ a month. And there are not that many pascal developers, or people willing to learn pascal I'm afraid. As a friend said, anyone who knows how to use a mouse makes games in Unity3D. And I've seen a fair share of pascal developers making their own tech (I'm guilty as well). In any case, whatever tech I do make I can expect only to be used by me. Think it'd be best just to build great games in pascal, with your own engine or otherwise.

SilverWarior
26-03-2014, 01:40 PM
Unity3D leads in this area, and considering you can get it for free it's hard to compete with that.

You can start developing with Unity 3D for free but as soon as you sell enough copies of your software or earn certain amount of income you need to purchase the proffesional licence.
https://unity3d.com/company/legal/eula
So you can't actually say it is for free but it doesen't present you with initial expenses just to start developing with it as many other game engines do.

drezgames
26-03-2014, 06:33 PM
Yea just gonna concentrate on the games I think. Here is the engine tech I made for the above mention projects. I am not sure what direction I will take it in. I can not open source it because there are some licensed tech in there and too many other dependencies of which I do not have the time to remove and fix up necessary for a proper open source release. So I will release what I have as it is as a stand-alone engine in binary format that can be used in Delphi/FreePascal. If anyone finds it useful cool... if not... cool. It's a pity that I am the only one that knows all the great stuff in this engine. I had polygon based collision detection and image auto tracing before it became well known ... almost 8-9 years ago. Ahh oh well... at least I have all the knowledge learned over the years that I can draw upon. Sigh.

http://piradyne.com/temp/piradyne_engine.zip

Peace!

Andru
26-03-2014, 07:33 PM
Seems Pascal era is over(at least game development). More engines are shutting down, and more developers starting to use something else for game development. After shutting down my own engine I don't see bright future for Pascal, because support of different platforms is not good(e.g. support of iOS with time become much worse, because of changes in Xcode/etc.), and Delphi XE5 appeared too late and with too high price.

SilverWarior
26-03-2014, 08:20 PM
Seems Pascal era is over(at least game development). More engines are shutting down, and more developers starting to use something else for game development.

Pascal era for game development ower? Why? Becouse development on some game engines has been stopped?
Pascal era for game development wont't be ower until pepole stop making games in Pascal compleetly. But from what I understand most pepole who stopped development on their own game engines still intent on making games. And for these they actually will make custom game engines specifically suited for those particular games rather than suited for most posible games.
And that could in the end turn out to be even better becouse when you are designing a game engine specifically for some game you focus on those parts that will be important for that game and not "waste" with implementing of whole bunch of other features you probably won't even need. So this will lead to faster development and probably more optimized game engines which will have better performance.

So don't write off Pascal game development yet!

Andru
26-03-2014, 08:27 PM
Becouse development on some game engines has been stopped?
Not only because of this, I wrote about switching to other tools/languages by developers. And take a look on Pascal communities, nowadays its almost died. Shutting down of engines is only some part of whole "picture".

SilverWarior
27-03-2014, 07:43 AM
Not only because of this, I wrote about switching to other tools/languages by developers. And take a look on Pascal communities, nowadays its almost died. Shutting down of engines is only some part of whole "picture".

Hey I'm well aware about Objective Pascal comunity getting less and less popular and I'm also well aware of the reasons for this.
Main reason for this is that not so long ago there was verry litle choice in Objective Pascal development tools (overpriced Delphi and somewheat unstable FPC). But that has changed recently. It is true that Delphi is still overpriced and that Embarcadero is def about suggestions on making Delphi more afordable for smaller developers and programmer beginers.
But FPC on the other hand become verry stable. Some even say it is already more stable than Delphi.
Also there is a Smart Mobile Studio here which suposingly is also quite good Pascal based development tool.

So you see potential developers have now much more choices than they had in past and until we (older Objective Pascal) would be prepared to share our knowledge with other new or old programmers and make games/applications with it there is still chance for it to gain more popularity.
But if we start complaining about how unpopular Objective Pascal is and such we are driving away other pepole which might be interested in trying to do some programming in Objective Pascal othevise.

Cybermonkey
27-03-2014, 08:51 AM
Not only because of this, I wrote about switching to other tools/languages by developers. And take a look on Pascal communities, nowadays its almost died. Shutting down of engines is only some part of whole "picture".

Yes, I agree with this. I actually considered switching to C# since there are a lot of nice engines and the language looks more familiar than C++ or Java.

JC_
28-03-2014, 07:20 PM
It's a vicious circle, without a good engine there will be no game developers.. and the community is a minority, so no one wants to do any engine with continuous development.
Too bad, because e.g. ZenGL is just the type of engine (concept, premeditation, cross platform) that would be able to attract people.

Programming language or platform ? Does not matter. Especially for someone who begins with games and syntax of Pascal is good reading. Small game can break and possibly earn millions USD :) Just have a good idea ​​and complete project.

phibermon
28-03-2014, 11:19 PM
Hi all, there are no game engines for Pascal. They're all frameworks and/or graphics engines. Some have started to become engines and some pascal games have a code structure that can be described as an engine but there's nothing even approaching the scale of a game engine that's stated as being a game engine.

That's a problem, probably the biggest barrier to wider adoption of Pascal as a game development language.

And until more people start working together on engines, combining their knowledge and experience then that'll never change.

It's such a shame, so many great programmers all in the field of games development and they're all independently working on the same 10% of functionality of a real engine.

I'm just as guilty but in my defence I've approached a dozen or so people on here looking to work together or merge projects, nobody is interested.

It's the main reason I've stepped away from PGD and pascal in general, I love it but I'm serious about making games and for the scope I want then that means working with others. the C++ and Java communities are far, far larger. I can find all the like minded people I like to work on whatever we like.

drezgames
29-03-2014, 12:01 AM
and.... what is your definition of a "game engine" ?

phibermon
29-03-2014, 12:19 AM
A system that contains everything you need to create a game without *needing* to write any more code. So things that are often missing from 'engines' are :

- Skinning support combined with skeletal/weighted model format support with a minimum of exporters for 3DS and Blender.
- Path finding and steering algorithms for 3D environments with full physics integration.
- Abstracted game mechanics IE concepts such as projectiles, vehicles, pickups being implemented and customizable.
- An event structure separate from scripting that allows the chaining of events, IE collide, particles, noise, decrement variable (Ie health)
- programmable particle systems tied into events / scripting.
- Abstracted input and focus schemes for controller input. IE the ability to have a mouse cursor style RPG and a mouse controlled FPS from the same sub-system.
- Full support for variable digital controllers (IE analogue sticks) tied into input mechanism to allow for touch/mouse/stick control of the same input channel.
- Templated and scriptable finite state machines and decision trees tied into every relevant part of the engine.

Unreal is a game engine, ID Tech etc. You can pick them up, create some resources and have a playable game without writing any code.

You may want or need to add extra code to a game engine, IE the many custom versions of the Quake engine. But if you can't make a game with a system without writing extra code then it's not a 'game engine'.

It's middleware, graphics engines, whole frameworks, but not a game engine.

Another way of putting it would be to say that game engines are whole games that are setup to be customizable. The more customizable, the more the engine is used in the industry.

(not strictly accurate, unity isn't quite like this for example but as already stated, you can make games in unity using nothing but a mouse. You don't have to write anything substantial, just plug things together)

drezgames
29-03-2014, 01:42 AM
I've had been contemplating a "unity2d" based around a object pascal syntax..... actually each attempt was sorta leading me in that direction. I still want to do it some day if not just for the satisfaction of finishing it. Something slim but functional.

phibermon
29-03-2014, 01:56 AM
That's a great idea, I think that your approach with the 3rd party compiler would suit that well. I'm using PascalScript quite a lot atm, objects in my scene graph get registered by name in the VM as the correct class.

I combine this with a flag on objects stating if they were created at design time or during execution allowing you to create scripts that spawn objects but still return to the design state when you click stop

SilverWarior
29-03-2014, 07:37 AM
When you talk about what game engine is you also need to take into account of what kinda game you wanna make. For instance:
Text based game game engine would require next:
- keyboard handling to alow player to type in commands
- command parsing so that proper method is executed based on inputed command
- ingame object storage
- ingame event handling
And that is it. A fully capable text based game engine.
For a point and click adventure you would need game engine which would add athleast 2D graphics rendering and some sound support to the above.

You see the definition of when bunch of frameworks become game engine largely depends on what kind of a game you wanna make with it.

paul_nicholls
11-08-2014, 02:39 AM
Nice work mate :)

drezgames
11-08-2014, 03:48 AM
Thanks bro!