2nd PGD Challenge Official Announcement

Planned dates are from March 30th to April 29th, below is an excerpt from the announcement, head over to the PGD Challenge page for more details:

In a couple of weeks we are going to start the next PGD Challenge with a brand new theme. As promised it will be simple, yet fun for creating ideas. The development period will last about 4 weeks, plus a weekend to wrap things up. All are welcome to participate.

It’s going to be a lot of fun. There is lots of possibilities from the theme I’ve picked and I hope you will have fun with it.

All game entries must be made using a Pascal-based programming language or they will be disqualified. The game can take advantage of any game library or API written in another language, but the core of the game must be written in a Pascal-based language.

Allowed Pascal-based Languages:

  • Pascal (aka Classic Pascal, Borland Pascal, etc)
  • Object Pascal (called “Delphi language” by some)
  • Objective-Pascal
  • Oxygene (new language based on Object Pascal)

Key Development tools that support the above languages:

  • Delphi
  • Free Pascal
  • Lazarus
  • Prism (Oxygene for .NET)
  • Oxygene for Java
  • Smart Mobile Studio

DWScript 2.3 preview 1

A new DWScript 2.3 source archive is available (417 kB) for the SVN-averse, the previous available zip was the 2.2 version, which is quite outdated. Given the continuous extension of the unit tests suite, this should hopefully be one of the most stable versions to date, in addition to being the most advanced, but it’s likely less stable and less advanced than the SVN version will be when you’ll read these lines 😉

(more…)

“Live” IDE scripting for DWScript

DWS compiler and execution engine are reaching very nice maturity levels, meaning they can be used to compile & execute code interactively, for instance to edit a web page, which mixes HTML, CSS, server-side dynamic Object Pascal content generation and client-side Object-Pascal scripted content.

(more…)

“heredoc” multi-line strings

DWScript now supports multi-line strings, aka “heredoc”, using the same syntax as Prism/Oxygene, which involves double-quoting them, for instance:

s := "Lorem ipsum 'dolor' sit amet, consectetur adipiscing elit.
Duis l'ipsum odio, pretium ""hendrerit"" varius sed,
aliquet vitae elit.
Sed eu libero nec nisl ""malesuada"" dignissim.";

is equivalent to

s := 'Lorem ipsum ''dolor'' sit amet, consectetur adipiscing elit.'#13#10
    +'Duis l''ipsum odio, pretium "hendrerit" varius sed,'#13#10
    +'aliquet vitae elit.'#13#10
    +'Sed eu libero nec nisl "malesuada" dignissim.';

Which can be quite useful when you have multi-line string content, such as an SQL query, a long format string, a snippet of CSS/HTML/XML, etc.

Nate that if you’re using The SynEdit, the DWS highlighter has been updated and properly highlights those, you just need to get it from the SynEdit SVN.

It a slight cosmetic issue, shared AFAICT by other languages that implement “heredoc”, which is that if you don’t want to have spurious whitespace/tabs in the multi-line string, you basically have to break indentation.

Does any one knows a language which has a convenient “heredoc” syntax that would alleviate this issue?

2nd PGD Challenge is coming

WILL from Pascal Game Development has pre-announced the 2nd PGD Challenge!

This “Mini Game” competition is a down-sized version of the previous challenges, you’re free to use your favorite flavor of Pascal, and the goals are simple so even those with less free time should be able to participate.

Below is a quote from the pre-announcement, and you may be interested in the January 2012 recap’ as well!

Stay tuned over the next couple of weeks as the next PGD Challenge Mini Game Developer’s Competition is about to start soon. Wait for the announcement as it will appear in the next week or so.

All are welcome to participate. There is no prizes and no complicated registration, just tell us who you are in a simple included readme file and upload your entry by the deadline to our FTP server.

We receives lots of entries last time and we hope we can do it again this time.

There will be a showcase for all past and future entries of the PGD Challenge mini competition so others can share and enjoy your games.

Including source is appreciated, but not required. It will however help others see how you made your game so if you do provide source you will be promoting Pascal game programming in games.

Any compiler or Pascal-based language can be used. Entries will be accepted as either Windows or Mac OS X. Other platforms pending judges support review…

DWScript JS Smart-linker (revised)

Not long ago, I wrote the DWScript JavaScript Smart-Linker did not eliminate unused virtual methods, well that limitation is now gone.

A virtual method that is never called, in its base class nor any of its subclasses, will now be eliminated.

In the small game Nickel Iron which was used as illustration, that further reduces the generated output by almost 10% to just 92 kB “raw”, or 23 kB compressed. The gains come from not just the unused implementations being removed, but also a reduction in the size of the various VMTs.