Lazarus

Programming => Graphics and Multimedia => Games => Topic started by: lainz on November 11, 2018, 11:28:02 pm

Title: [Finished] 2D Platformer Game Contest
Post by: lainz on November 11, 2018, 11:28:02 pm
Hi, welcome to the 2D Platformer Game Contest 2018/2019!

The idea is to make a 2D Platformer like Mario, Sonic or any similar game. I was looking for a game of this kind made with Lazarus, and I found no one in the wiki, so we need to make a lot of them!

Rules:
- The game must be hardware accelerated with OpenGL, DirectX, Vulcan, Metal (mac) or any library that's hardware accelerated.
Since it's just 2D, any library can be used, also normal canvas or html 5 canvas will be good (compiling the game with pas2js).

- The game must be open source and source code must be provided in a dedicated repository on GitHub, SourceForge, GitLab or BitBucket.
- You can use any library (including DLL compiled in other languages), but the game must be coded in Pascal.
- You can use free assets or your own assets, but remember must be open source compatible license.
- The game must be 2D, not 3D, not "2.5D".

When you submit your game, please as well try adding an entry on the Wiki, and edit the list of games made with Pascal in the wiki too.
http://wiki.lazarus.freepascal.org/Games

Resources:
- http://wiki.lazarus.freepascal.org/Game_Engine
- http://wiki.lazarus.freepascal.org/Game_framework
Includes physics libraries, opengl engines.

- https://github.com/bgrabitmap/bgragames
Includes some 2D games, one or two that are similar to a 2D platformer, includes 2D level editor as well. (BGRA OpenGL). If you have no idea start here, it already works!

Or if you want to go in your own there's no problem at all =)

The idea is to make a working platformer game, that for example can be just a level, or just a basic engine, is up to you how complex it is. Then is open source, so anyone can extend it. As other users said in the previous contest, making a game is the only way to learn how to make games, so don't loose the opportunity!
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 12, 2018, 07:57:25 pm
I was wondering to participate on the Game Off but I think I'm off (the theme doesn't inspire me a lot  ::)) but this one...  I have some ideas in my head from long time ago.

A question:  Can I use my MinGRo game engine?
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 12, 2018, 11:53:27 pm
You can use any engine, even engines written in other languages, but the source code of the game must be Pascal.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on November 13, 2018, 08:34:37 am
Ok, I'm in :)
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 13, 2018, 12:29:15 pm
You can use any engine, even engines written in other languages, but the source code of the game must be Pascal.
Yay! 8)
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 13, 2018, 03:40:38 pm
I will *try* to do an html5 game with Pascal.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Thaddy on November 13, 2018, 03:56:22 pm
I will *try* to do an html5 game with Pascal.
I have actually adapted a well known 1D game with randomness - in 1979 from a Burroughs terminal (32k and a BASIC in rom) online with a 300 baud modem, so 10 years after the original, - so I would not always win after I explained to my colleagues (chartered accountants, or studying for that. I actually pursued that before informatics)  that the game was predictable. It is single user, but I needed just three steps. RANDOM made it much more difficult. And that was an oversight from the original programmer.
(I later became the ultimate undefeated champion of the 2D moonrock game at the second floor at the Erasmus university in Rotterdam: 1 guilder... one day fun: predictability.... but it took skills.... 8-) O:-) I got bored eventually, and had the degrees. True story.
Nowadays you can become a millionaire with playing games? Born to soon...
(BTW Who knows you can skip levels in the original Mario and where?? I Do!, yes that is sick:  jump off the screen... actually a bug and not a feature)
Here's a screenshot of the unimproved code:
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 13, 2018, 04:20:14 pm
Cool, I also tried other career before informatics. Yes I see when you're programming and at the same time in the wrong place =)

Who knows, maybe you can become the new Pascal youtuber  :)

I'm not good playing games, I choose the easy ones  :-X
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on November 13, 2018, 05:20:31 pm
Why have Xerox so bad reputation? :)

I have laser printer maybe 4 years, it cost me around 50 USD and it's still working even with "unofficial" toners :)


I posted info about contest on https://www.pascalgamedevelopment.com/
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lucamar on November 13, 2018, 06:04:35 pm
Why have Xerox so bad reputation? :)

In the computer field Xerox was good at theory and prototyping, and opened a lot of fields. Their commercial products, though, were often not up to the high standards they themselves set. Most reviews could be shortened as: "it's not a very bad product, but we expected more from Xerox". ;D
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Thaddy on November 13, 2018, 07:22:40 pm
Xerox,
Isn't that the company that made your copies disappear over time?
There's a market for that!
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: 440bx on November 13, 2018, 07:58:52 pm
Xerox,
Isn't that the company that made your copies disappear over time?
There's a market for that!
Xerox made some really great products and, as we all know, pioneered most, if not all, the graphical interface.  It seems their real problem may be lack of marketing talent because when it comes to engineering, they pack a serious punch.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Thaddy on November 13, 2018, 10:21:10 pm
MMM, yes, but it is fun to ask a cassier for a piece of blank paper from her/his roll and show some experiments with it to your children... Lighter stuff and so on and... And then cry about all those lost copies.... :'( :'( :'( :'(
The paper is magic! I know lot's of tricks with it...

Ok: on topic it maybe is a good story for a game....
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lucamar on November 13, 2018, 11:03:36 pm
Ok: on topic it maybe is a good story for a game....

Hmmm ... yes, a time-constrained platformer where you have to arrive at a Xerox machine before the current copy dissapears, avoiding enemies and obstacles while you go from the bottom-down enter through multiple platforms (with holes!) to bottom up to the exit going to the next office which, alas!, has its Xerox "out-of-order" and you have to keep going ...

<sigh> I don't have the time--or the experience, to tell the truth--for making a game of this but whoever wants the idea, go ahead :D
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 14, 2018, 01:14:34 am
I have already running a PIXY.js window on my browser, compiled with Pas2JS!  8-)
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 14, 2018, 10:43:25 am
I have already running a PIXY.js window on my browser, compiled with Pas2JS!  8-)
Last time I tried pas2js I wasn't unable to do anything (it didn't find RTL files or something, can't remember). I've read a lot of you talking about it lately (new version, yep) so I think I should try again and, if it works, add a wrapper for Allegro.js (https://github.com/TheSos/allegrojs) to Allegro.pas (Allegro.js.pas?  %)).

On topic:  I was planning to use classic SpriteLib (https://www.widgetworx.com/spritelib/) but it has quite bad animations and incomplete sets, so I struggled myself if it's worth to modify it to get the animations I need or create new ones by myself.  Guess what won.  Clue:  I love to re-invent the wheel. :-[
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 14, 2018, 03:53:46 pm
Good idea to port allegro js.

Is easier if you install lazarus trunk with fpcupdeluxe, it has an option to install packages, I just choose pas2js, it installs the rtl as well. But the run command doesn't work very well or I don't know how to configure it, I ran the game in localhost with VS Code 'Go Live' plugin.

Currently I'm doing like this to use the external PIXY JS:

Code: Pascal  [Select]
  1. program game;
  2.  
  3. {$mode objfpc}
  4. {$modeswitch externalclass}
  5.  
  6. uses
  7.   JS, Classes, SysUtils, Web;
  8.  
  9. type
  10.  
  11.   TNotifyProcedure = procedure();
  12.  
  13.   TPIXYLoader = class external name 'PIXI.loader'(TJSObject)
  14.     class function add(img: string): TPIXYLoader;
  15.     class procedure load(ev: TNotifyProcedure);
  16.   end;
  17.  
  18.   TPIXYResources = class external name 'PIXI.loader.resources'(TJSObject)
  19.  
  20.   end;
  21.  
  22.   TPIXYSprite = class external name 'PIXI.Sprite'(TJSObject)
  23.  
  24.   end;
  25.  
  26.   TPIXYContainer = class external name 'PIXI.Container'(TJSObject)
  27.     Constructor new;
  28.   end;
  29.  
  30.   TPIXYStage = class
  31.   public
  32.     procedure addChild(cont: TPIXYContainer); overload;
  33.   end;
  34.  
  35.  TPIXYApplication = class external name 'PIXI.Application'(TJSObject)
  36.   private
  37.     FStage: TPIXYStage external name 'stage';
  38.     FView: TJSNode external name 'view';
  39.   public
  40.     constructor new(args: TJSObject);
  41.     property view: TJSNode read FView;
  42.     property stage: TPIXYStage read FStage;
  43.   end;
  44.  
  45. var
  46.   app: TPIXYApplication;
  47.   left, up, right, down: TJSObject;
  48.  
  49.     procedure setup();
  50.   var
  51.     map1: TJSArray;
  52.     ganador: boolean;
  53.     container: TPIXYContainer;
  54.   begin
  55.     container := TPIXYContainer.new;
  56.     app.stage.addChild(container);
  57.     ganador := False;
  58.     map1 := TJSArray.new(
  59.     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  60.     1, 0, 0, 1, 0, 0, 0, 0, 0, 1,
  61.     1, 0, 0, 1, 0, 0, 0, 0, 0, 1,
  62.     1, 0, 0, 1, 0, 0, 0, 0, 0, 1,
  63.     1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
  64.     1, 0, 0, 1, 0, 2, 1, 0, 0, 1,
  65.     1, 0, 0, 1, 1, 1, 1, 0, 0, 1,
  66.     1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
  67.     1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
  68.     1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
  69.     1, 1, 1, 1, 1, 1, 1, 1, 1, 1
  70.     );
  71.   end;
  72.  
  73. procedure TPIXYStage.addChild(cont: TPIXYContainer);
  74. begin
  75.  
  76. end;
  77.  
  78. begin
  79.   app := TPIXYApplication.New(new(['width',320,'height',342,'antialias',true,'transparent',false,'resolution',1]));
  80.   document.body.appendChild(app.view);
  81.  
  82.   TPIXYLoader.add('images/block1.png');
  83.   TPIXYLoader.add('images/block0.png');
  84.   TPIXYLoader.add('images/block2.png');
  85.   TPIXYLoader.add('images/player.png');
  86.   TPIXYLoader.add('images/enemy.png');
  87.   TPIXYLoader.add('images/enemyending.png');
  88.   TPIXYLoader.load(@setup);
  89. end.

Edit: It's getting harder to follow =) It has the strictness of FPC, that's good, and I can't port my small demo, it's getting too complex with PIXY.js. Maybe I will try allegro.js that are just functions.

Edit 2: much better! with allegro.js I have the main loop working and as well the background image drawn.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 15, 2018, 01:51:14 am
I have working the demo from AllegroJS... is not a platformer  :D
https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html

Compiled with pas2js

Source code:
https://github.com/lainz/AllegroPas2JS-Demo-Game

It requires AFAIK fpc and lazarus trunk, install it with fpcupdeluxe and then install the package pas2js with the same fpcupdeluxe, so it installs the RTL.

I'm wondering if this library is hardware accelerated or not... maybe that restriction will limit a lot the number of submited games, so I will remove that line from the rules.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on November 15, 2018, 07:59:05 am
I'm wondering if this library is hardware accelerated or not...

It's accelerated - http://allegrojs.net/about.php.

Demos what I checked does not run smoothly, they run fast but there is tearing (Chrome).
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Thaddy on November 15, 2018, 09:26:49 am
It runs great and fast on chromium on the Raspberry Pi3
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 15, 2018, 05:24:59 pm
Tested and believe it or not it works better on Microsoft Edge, then Chrome and worst in Firefox.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on November 16, 2018, 02:16:54 pm
On Edge is your example ok, only first 10 seconds is there weird slowdown (same for all http://allegrojs.net/ examples).

Anyway it lacks method for limiting frames/vsync or something like that. These HTML5/Java things usually run surprisingly smoothly.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 17, 2018, 07:55:10 pm
Lainz:  Great.  May be you should release your Allegro.js.pas as an independent project.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 17, 2018, 10:09:44 pm
I'm wondering if this library is hardware accelerated or not...

It's accelerated - http://allegrojs.net/about.php.

Demos what I checked does not run smoothly, they run fast but there is tearing (Chrome).

It's not using WebGL, just normal canvas, for that is slow
https://github.com/TheSos/allegrojs/blob/d2b2e554743d151c6a720bafb39053fd01c52254/allegro.js#L834

Lainz:  Great.  May be you should release your Allegro.js.pas as an independent project.

Sure, for now it has only a really small part of all the routines, I should add them first... but it's not using webgl =( so I will not add them, even if looks easier.

Maybe I get back to Pixy.js (my test is working with pixy as well, but is hard to use javascript objects in pascal - at least for me -), and make a small library in JS with functions like AllegroJS, then use that library with Pascal.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 18, 2018, 12:04:07 am
I've created a monster =) muahahaha

It's an hybrid between allegro.js and pixi.js, basically it uses keyboard and sound from allegrojs, as well all the utility functions, but the graphics are rendered with pixi.js that uses hardware acceleration.

Here you can run it.
https://lainz.github.io/AllegroPas2JS-Demo-Game/anothertest/index.html

Maybe I can find a way to replace allegrojs functions with my own, but keeping the compatibility, so we have allegrojs with hardware accelerated with no change in source code of my demo game.

Edit: The original demo works better now, I've replaced the allegrojs "loop" with "requestanimationframe" that's better. Now it runs smoothly.
https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: User137 on November 18, 2018, 10:58:32 am
I was wondering how good of a game one could make with just TCanvas based graphics. I think it's highly underrated.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 18, 2018, 02:27:10 pm
I was wondering how good of a game one could make with just TCanvas based graphics. I think it's highly underrated.

In the previous contest I made my game with tcanvas.

But I want to try something new.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on November 18, 2018, 04:43:36 pm
@lainz: Now it's different story, good job :)

I was wondering how good of a game one could make with just TCanvas based graphics. I think it's highly underrated.

Games aren't much about technology in terms of gameplay (use what you want), but about the design itself. Something like: "design make fun, not the technology nor visual". Still you can find popular 2D games which runs on obscure or outdated technologies or just they don't need anything special. Imagination is basic concept for thousands of years :)
 
Isn't this basically same as the old form of rasterization without acceleration? If I am not mistaken, DirectX (Direct2D) can be still used in this way, which is characteristic for games like Age of Empires 2 (1999) and even in era after 2000. 2D games were later rejected by big companies and there is no great reason to use this rendering method because modern APIs and hardware have different approach which is also working for 2D games (Rimworld, Factorio..) and brings new things like fast VRAM, blending, transformations (position/scale/rotation) or fast pixel tranformations (shaders). More proper question can be what are the benefits of the old rasterization?

There are limitations like limited VRAM, how put all 2D graphics there (sprite size in VRAM is w * h * 32 bit or something like that), but still you can use some workaround with limited color palletes and shaders and render it effectively in terms of limited memory. Same for another things.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 19, 2018, 02:13:37 pm
My engine is hardware accelerate because it uploads graphics (sprites and tiles, in my case) to the VRAM, then uses DirectX/OpenGL to render.  That is actually done by Allegro without programmer intervention (in the default case, of course the programmer can force the way it works and even deactivate the automatic VRAM uploading so it works with RAM only).

My idea for the engine (still work in progress) is to reproduce the way old hardware worked in the lowest level possible, as they where hardware accelerated too.  I think I'll use SNES as gide, as that hardware is very similar to some arcade systems as the used by Metal Slug, for example.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: turrican on November 19, 2018, 02:37:01 pm
I'm in! I will use my Tilengine wrapper to do things up!
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on November 22, 2018, 07:43:52 pm
I have an issue so I don't konw if I'll can do something.  As I've said here (http://forum.lazarus.freepascal.org/index.php/topic,32568.msg302638.html#msg302638), can't compile my engine after updating Xubuntu.  I'll try to reinstall and see what happens.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on November 24, 2018, 05:08:46 pm
I'm in! I will use my Tilengine wrapper to do things up!

Nice, where I can find that to take a look?

@lainz: Now it's different story, good job :)

Thanks, anyone can use it for the contest if want to.

I think I will keep updating this, now it works better thanks to "vsync".

I have an issue so I don't konw if I'll can do something.  As I've said here (http://forum.lazarus.freepascal.org/index.php/topic,32568.msg302638.html#msg302638), can't compile my engine after updating Xubuntu.  I'll try to reinstall and see what happens.

Uh, ok. Hope you can fix that!

In the meantime, maybe try allegrojs with Pas2JS?

Edit: My game is now getting into a platformer!
https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html

Edit2: music is not working on chtome due to autoplay policy, maybe this game needs a menu with a button 'start' or something, so user interaction is first triggered and then music will work.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on December 07, 2018, 03:39:58 am
My game (https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html) works fine on an i7 4th gen, but slowly on an i5 2nd gen... this shows the limitations of using Canvas2D, blitting a few 2d images is slower than using WebGL. I can run some webgl games with no problems on that i5.

Need to try something different, maybe go all Native and forget Pas2js for now.

Any news with your games?
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Handoko on December 07, 2018, 04:14:31 am
My game (https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html) works fine on an i7 4th gen, but slowly on an i5 2nd gen...

The link only shows a blank white page if opened using Pale Moon. But it runs correctly if opened using Firefox.

The performance seems okay when running on my Core2 Quad cpu + NVidia 9600 GT. But I can hear my cpu fan was crying to spin at the maximum speed. This simple game is too cpu intensive, I guess it does not use graphics hardware for rendering. My Linux computer has NVidia driver installed properly.

Also I noticed, when jumping the sprite will become a ball. Is it a bug?
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: HeavyUser on December 07, 2018, 06:47:41 am
My game (https://lainz.github.io/AllegroPas2JS-Demo-Game/index.html) works fine on an i7 4th gen, but slowly on an i5 2nd gen...

The link only shows a blank white page if opened using Pale Moon. But it runs correctly if opened using Firefox.
no script?
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Handoko on December 07, 2018, 07:01:53 am
I've just checked my Pale Moon. No Script is not installed. It only has User Agent Switcher installed.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on December 07, 2018, 11:09:50 am
Any news with your games?
I think I'm in again, as I've fixed the compilation problems (I think it was a ".so hell").

I'm commiting the game sources in to the MinGRo SourceForge project as it will be the demonstration game.  Any problem whith it?
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on December 07, 2018, 01:23:02 pm
Yes is just canvas2d game, allegrojs is not webgl. I just tested it on chrome, edge, Firefox , safari.

No, it's not a bug is my buggy Sprite of jumping only  :D

Ñuño no problem at all.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: User137 on December 19, 2018, 08:21:33 pm
No submissions yet... The problem as i see it is lack of good game arts. I doubt any of us have the drawing skills necessary  ::)  Effects i can always draw but never a humanoid. Just have to search harder i guess.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on December 20, 2018, 12:26:22 am
Yes, not all are graphic designers or musicians as hobby. We can't find someone like the creator of Cave Story, but well it take to him 5 years not the contest time  :)

No problem at all, we can make a different contest if no one submits a game to this one. A more general game contest like the previous one, but with the rule of uploading to a git repo, else I think the code gets lost storing it on 'uploading sites'.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lucamar on December 20, 2018, 12:34:41 am
IIRC, there are webs out there choked full of *free* and nice tile graphics for platformers. What I don't remember is exactly where it is. :-[

ETA:

Just googled for "free game graphics": HasGraphics (http://hasgraphics.com) and OpenGameArt (https://opengameart.org) are just two of the gazillion sites out there. ;D
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on December 20, 2018, 12:46:16 am
Maybe you're thinking on https://opengameart.org

Edit: yes, that one.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lucamar on December 20, 2018, 12:47:52 am
Good gods, you gained on my "ETA" for 2 seconds! Yeah, that's one of 'em.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: VTwin on December 20, 2018, 01:38:38 am
Hmm... I have an old freeware game "Life Lab" published in:

Artificial Life: Explorer's Kit (1993)

https://www.amazon.com/Artificial-Life-Explorers-Software-Included/dp/0672303019

Windows 3.1 probably, and coded in C++. I doubt the software included in that book runs anymore. This contest might give me impetus to dust off that old code and rewrite it in a modern language. ;) Would that be eligible?

Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on December 20, 2018, 01:41:24 am
At this time with all the ammount of submissions even my slow canvas2D game can be elegible  :D

Now seriously yes, a port is ok too.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: VTwin on December 20, 2018, 02:07:21 am
At this time with all the ammount of submissions even my slow canvas2D game can be elegible  :D

Now seriously yes, a port is ok too.

Thanks, I'll poke at this old code and see if I can come up with something. Looks like a total rewrite would be required, not so much a port. :)
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on December 20, 2018, 12:35:18 pm
I have art skills (people said it) but I don't have time.  :'(
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on January 04, 2019, 10:02:53 pm
Less than 2 months left, there are no submissions and I doubt will be. The reason seems that there is no time to create a demo for the contest, because I think people here has the skills enough (even I built something with pas2js).

Well if there are submissions we can continue, else I think it has no sense on keeping this topic alive, maybe we can start another more general (and less time consuming) game contest or graphics contest, with more simple things to build.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on January 06, 2019, 11:10:43 pm
I'm working on something, but if there are no other participants it makes no sense.

No submissions yet... The problem as i see it is lack of good game arts. I doubt any of us have the drawing skills necessary  ::)  Effects i can always draw but never a humanoid. Just have to search harder i guess.

It's not big deal, you can draw on the paper which is more simple than draw in graphics editor and then digitalize it. No one wants art like Mona Lisa. Look how is my graphics crappy, but in game it works somehow :) (https://ldjam.com/events/ludum-dare/40/master-farmer)
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: User137 on January 06, 2019, 11:55:16 pm
Sure i'll likely try something. I tested Lazarus graphics capabilities a bit earlier with Winter demo: http://forum.lazarus.freepascal.org/index.php/topic,43673.0.html  ... and came to easy conclusion that it's not fit for gaming. I mean perhaps if i quarter the canvas size by using 2x scaling and/or using smaller window, but i can get better things done with nxPascal that i'm used to. Feel free to try optimize the demo.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on January 07, 2019, 02:15:23 am
I agree Lazarus is not the right tool to make games, is way much easier to use Unity or tools like that to make games, yesterday I made a simple like mario kart game with an .obj car I downloaded from internet and a map I made with Blender, the thing is that is all drag'n drop plus this few lines of code:

Code: Pascal  [Select]
  1. // Update is called once per frame
  2.         void Update () {
  3.                 if (Input.GetKey("up"))
  4.         {
  5.             transform.position += this.transform.forward * 10 * Time.deltaTime;
  6.         }
  7.                 if (Input.GetKey("left"))
  8.         {
  9.             transform.Rotate(0, -2, 0);
  10.         }
  11.                 if (Input.GetKey("right"))
  12.                 {
  13.                         transform.Rotate(0, 2, 0);
  14.                 }
  15.         }

Really that is all the sourcecode I wrote to move the player plus the camera attached to the player.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: User137 on January 07, 2019, 03:34:52 am
I agree Lazarus is not the right tool to make games, is way much easier to use Unity or tools like that to make games
Well, the "tool" i meantioned is for Lazarus. I meant specifically just CPU bound graphics have limitations which are mostly the same no matter what programming language. Actually even SDL library made games aren't that much faster until you use version that goes hardware accelerated. Unity is entirely different topic then...
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on January 07, 2019, 04:25:48 pm
Indeed some of these C libraries use CPU as well. Even the web library I used was using CPU, AllegroJS.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Paul_ on January 07, 2019, 05:34:37 pm
It's clear that using JS and API layers leads to problems with performance. You will not be limited in case dll's like SDL, SFML, Allegro. It generate some CPU load but it's not marginal.

What annoys me are problems with smooth movement related to game loop (articles like https://gafferongames.com/post/fix_your_timestep/) even for simple game. Which lead into engine complexity etd.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: Ñuño_Martínez on January 08, 2019, 12:26:48 pm
I'm pretty busy right now at job.  I'm working on my first professional game (Green Onionas - The I Ching Saga) that should be released next month, so the platformer is in a halt.  I planned to finish GO this month so I'll have a month for a platformer demo.  I think I can do it.

[edit]
BTW, my game engine has a quite stable alpha version (the third one!) released time ago (https://sourceforge.net/projects/mingro/files/1.alpha.2/).  May be you want to take a look and see if you can do something.  I can answer questions about it to help.
Title: Re: 2D Platformer Game Contest 2018/2019
Post by: lainz on February 02, 2019, 07:38:46 pm
Well, I'm ending the contest today. No entries just my Pas2JS demo, so there is no winner and hope we can make another contest that people can get in like in the previous year. Maybe someone else interested can make the contest. Game contest or graphics contest, any of these will be good for getting more good samples made with FPC.

Please share your games if anyone was building one in the games subforum.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: furious programming on February 02, 2019, 11:40:23 pm
I missed another competition to which I could submit my project — just a retro platform game... But it is not ready — there are no finished levels yet, so there is almost nothing to play. There are only a few levels for the tutorial, but these are not yet completed. I think it will take me a few weeks to complete it (level design is not easy).

In the meantime, you can watch a short videos of the main menu animation, the game at the test level and the animation used as a background in the staff screen:

- Deep Platformer – main menu.webm (https://4programmers.net/Forum/Download/22134)

- Deep Platformer – jumping test.webm (https://4programmers.net/Forum/Download/22139) (cheat mode is enabled, so flying is possible)
- Deep Platformer – looking around.webm (https://4programmers.net/Forum/Download/22131)
- Deep Platformer – camera synchronization.webm (https://4programmers.net/Forum/Download/22132)

- Deep Platformer – staff scene background.webm (https://4programmers.net/Forum/Download/22109)

Game is written in pure Free Pascal, without using any additional library (no hardware acceleration). This project is an oversized proof-of-concept, not a specific product (therefore it will be open sourced).
Title: Re: [Finished] 2D Platformer Game Contest
Post by: Ñuño_Martínez on February 10, 2019, 07:11:11 pm
There where some personal issues that prevents me to work on it. :'(

I'm still working on Allegro.pas and MinGRo (my game engine) as well as my first professional game.  I hope I can announce something in a month or two.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lainz on February 10, 2019, 09:52:51 pm
I understand  :)

Is hard to have time, and when you finally have time only want to rest a bit or do anything else =)

Please both Ñuño and Paul submit your games when you can, if it's made with Pascal is already good.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: Graeme on May 10, 2019, 05:25:49 pm
- The game must be 2D, not 3D, not "2.5D".

Just curious, is the following considered a 2.5D or 2D game?  In my opinion I would class it as 2D as it doesn't have the perspective view like SimCity 2000 does. It's also not a side-scroller game (like Super Mario Bros). But I just wanted to make sure.


Title: Re: [Finished] 2D Platformer Game Contest
Post by: furious programming on May 10, 2019, 05:44:43 pm
2.5D (https://en.wikipedia.org/wiki/2.5D) is a technique that defines the artificial depth obtained using visual tricks.

Some games are built on a 2D-compatible engine, then the depth effect is obtained by using multiple layers, parallax scrolling and other tricks or isometric projection. Others use full 3D, but instead of using three-dimensional models and maps, flat sprites and layers are used.

Therefore, games created on a 2D engine that somehow imitate the depth should be allowed. There is no logical reason to exclude them from the competition.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lucamar on May 10, 2019, 07:24:09 pm
Just curious, is the following considered a 2.5D or 2D game?

Looks just like 2D with fancy graphics. Cute. :D
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lainz on May 11, 2019, 03:25:44 pm
2.5D (https://en.wikipedia.org/wiki/2.5D) is a technique that defines the artificial depth obtained using visual tricks.

Some games are built on a 2D-compatible engine, then the depth effect is obtained by using multiple layers, parallax scrolling and other tricks or isometric projection. Others use full 3D, but instead of using three-dimensional models and maps, flat sprites and layers are used.

Therefore, games created on a 2D engine that somehow imitate the depth should be allowed. There is no logical reason to exclude them from the competition.

Yes that will be a good idea. But since I can't manage too well a contest, maybe anyone wants to open a new contest so we can join and participate.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lainz on May 11, 2019, 03:27:19 pm
Just curious, is the following considered a 2.5D or 2D game?

Looks just like 2D with fancy graphics. Cute. :D

Something like Sonic 3D Blast, google it if you don't know what I'm talking about, but the sega genesis one.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lucamar on May 11, 2019, 05:25:20 pm
Just curious, is the following considered a 2.5D or 2D game?

Looks just like 2D with fancy graphics. Cute. :D

Something like Sonic 3D Blast, google it if you don't know what I'm talking about, but the sega genesis one.

Nah, IIRC Sonic 3D Blast is, at a minimum, 2,5D. The one we're talking about looks like just plain 2D, where the character only moves in a plane: left, right, up, down.
Title: Re: [Finished] 2D Platformer Game Contest
Post by: lainz on May 11, 2019, 07:26:03 pm
Just curious, is the following considered a 2.5D or 2D game?

Looks just like 2D with fancy graphics. Cute. :D

Something like Sonic 3D Blast, google it if you don't know what I'm talking about, but the sega genesis one.

Nah, IIRC Sonic 3D Blast is, at a minimum, 2,5D. The one we're talking about looks like just plain 2D, where the character only moves in a plane: left, right, up, down.

I Know. Even doesn't look like a platformer. Just looks like old SNES Zelda. RPG.