Recent

Poll

Vote: What's the best project of this year?

"ball" by raw
1 (3.7%)
"bgragraphics" by j-g (pocket watch)
2 (7.4%)
"duplo6" by bylaardt
7 (25.9%)
"glslideshow" by handoko
2 (7.4%)
"mariocronch" by ericktux
0 (0%)
"movingdots" by lainz
1 (3.7%)
"movingdotsgl" by lainz
0 (0%)
"relogio" by bylaardt
5 (18.5%)
"starsfieldshooter" by turrican
0 (0%)
"steampunkclock" by bylaardt
1 (3.7%)
"sudoku" by user137
5 (18.5%)
"furiouspaladin" by handoko
3 (11.1%)
"educrace" by lulu
0 (0%)

Total Members Voted: 26

Author Topic: Graphics Contest 2017, please vote now!  (Read 199607 times)

User137

  • Hero Member
  • *****
  • Posts: 1791
    • Nxpascal home
Re: Graphics Contest 2017, please vote now!
« Reply #420 on: September 24, 2017, 04:23:39 pm »
I made an issue in Github, if you have more ideas or recommendations for best practises
https://github.com/Zaflis/nxpascal/issues/7
I agree it doesn't make sense that particle engine is still using old way, but at the same time i might rid of all the others as well. To me it would make more sense and be simpler to use VBO (TRenderer) than just manually operated vertex arrays because the caching code is already there. But also i do want to get rid of Delphi support and start to use operator overloading in math code, and that would also mean dropping support for old FPC versions.

Obviously i will keep zip backup of the old sources, they just won't be updated with new features. Further on i'm aware there is a lack of tutorials or demos. Maybe that is right place to discuss those things: http://forum.lazarus.freepascal.org/index.php/topic,16149.0.html
I mean, what is the thing you miss the most?
« Last Edit: September 24, 2017, 04:27:40 pm by User137 »

Handoko

  • Hero Member
  • *****
  • Posts: 5122
  • My goal: build my own game engine using Lazarus
Re: Graphics Contest 2017, please vote now!
« Reply #421 on: September 27, 2017, 04:15:30 pm »
@Handoko: I've replied your e-mail.

Which one? The latest email I received from you was on 14th September 2017.

lainz

  • Hero Member
  • *****
  • Posts: 4449
    • https://lainz.github.io/
Re: Graphics Contest 2017, please vote now!
« Reply #422 on: October 01, 2017, 04:35:34 pm »
And we're in October!

3 months left to the next year contest!?  ::)

I think one user more experienced with OpenGL should be in charge for the next year Graphics Contest 2018, if we will focus on OpenGL of course.

I did the graphics contest the last three years, but I know nothing about OpenGL, in fact I know almost nothing about graphics (internal functions), but only how to use BGRABitmap.

So if someone is interested to take charge feel free.

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 1186
    • Burdjia
Re: Graphics Contest 2017, please vote now!
« Reply #423 on: October 04, 2017, 06:51:37 pm »
@Handoko: I've replied your e-mail.

Which one? The latest email I received from you was on 14th September 2017.
I should revise my mails.  Too busy.  %)
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

turrican

  • Full Member
  • ***
  • Posts: 133
  • Pascal is my life.
    • Homepage
Re: Graphics Contest 2017, please vote now!
« Reply #424 on: November 15, 2017, 02:39:35 pm »
Hi people I'm back! I was out... Much work and my little daughter keeps growing up! Sorry about my absence :(

My example is very far about finished (30 min of coding  :P)! and its a example for my framework (Game Framework) not a proyect at all (you can vote my framework not the example  ;)) but no problem thanks for test it, I will have more time from now and I can compete in the next contest.

For next contest... I would like to program a game (Can?  :-X)

My vote are 1 point to everyone (not my test :)) because time invested and quality of all projects (mario clone not!!!)

Thanks everyone!





« Last Edit: November 15, 2017, 02:46:18 pm by turrican »

lainz

  • Hero Member
  • *****
  • Posts: 4449
    • https://lainz.github.io/
Re: Graphics Contest 2017, please vote now!
« Reply #425 on: November 25, 2017, 12:37:34 am »
Waiting 2018 for the next graphics contest!  ::)

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 1186
    • Burdjia
Re: Graphics Contest 2017, please vote now!
« Reply #426 on: November 25, 2017, 11:53:08 am »
Me too.  I hope I can do something this time. :)
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

Handoko

  • Hero Member
  • *****
  • Posts: 5122
  • My goal: build my own game engine using Lazarus
Re: Graphics Contest 2017, please vote now!
« Reply #427 on: December 28, 2017, 02:15:56 pm »
Sorry for providing the source code of Furious Paladin too late. You can get the source at Allegro.pas repository:
https://sourceforge.net/p/allegro-pas/code/HEAD/tree/TRUNK/demos/

Nothing special about the code but one of the thing I think great is the trick to handle sword swinging:
When swinging your sword, enemies (in front of you) still can hurt you if the swinging haven't reach certain progress.

The trick is done by comparing the AnimProgress:

Code: Pascal  [Select][+][-]
  1. type
  2.   TActor = record
  3.     PosX, PosY:      Real;
  4.     MinX, MaxX:      Real;
  5.     Speed:           Real;
  6.     CurrentActivity: TActivity;
  7.     LastActivity:    TActivity;
  8.     AnimImage:       ^TImageList;
  9.     AnimProgress:    Byte;
  10.     AnimDelay:       Byte;
  11.   end;
  12.  
  13. // ....
  14.  
  15.   // Check player attacks
  16.   if ((Player.CurrentActivity = AttackL) or (Player.CurrentActivity = AttackR)) and
  17.     (Player.AnimProgress = 4) and (Player.AnimDelay = 1) then begin
  18.       al_play_sample(AudioSword, 1, 0, 1, ALLEGRO_PLAYMODE_ONCE, nil);
  19.       with Player do
  20.         for i := 0 to (Enemies.Count-1) do begin
  21.           Enemy := Enemies[i];
  22.           if (Player.CurrentActivity = AttackL) and
  23.             BothIntersect(PosX+15, PosX+40, Enemy^.PosX+30, Enemy^.PosX+65) then begin
  24.               if (Enemy^.CurrentActivity <> KilledR) then Inc(EnemyKilled);
  25.               Enemy^.CurrentActivity := KilledR;
  26.           end;
  27.           if (Player.CurrentActivity = AttackR) and
  28.             BothIntersect(PosX+55, PosX+80, Enemy^.PosX+33, Enemy^.PosX+68) then begin
  29.               if (Enemy^.CurrentActivity <> KilledL) then Inc(EnemyKilled);
  30.               Enemy^.CurrentActivity := KilledL;
  31.           end;
  32.         end;
  33.     end;
%) wow the code above looks so compliated.

I will write a complete step-by-step tutorial explaining how this Furious Paladin's code works. But maybe some months later, I'm a bit busy at the end of this year.
« Last Edit: February 22, 2018, 09:09:08 am by Handoko »

lainz

  • Hero Member
  • *****
  • Posts: 4449
    • https://lainz.github.io/
Re: Graphics Contest 2017, please vote now!
« Reply #428 on: December 28, 2017, 03:25:06 pm »
Thanks for sending us the game! I've added that to the list of the games of the graphics contest 2017 in the games sub forum.

 

TinyPortal © 2005-2018