|
Post by aurel on May 5, 2020 16:17:14 GMT -6
|
|
|
Post by aurel on May 5, 2020 16:21:10 GMT -6
-
|
|
|
Post by Tomaaz on May 5, 2020 16:55:14 GMT -6
Thanx, Aurel. Now I know that Beef will erase C/C++, Java, Swift and other mainstream languages, but Pulsar2D will survive together with OxygenBasic and your interpreter. The future of programming has been already written (by Aurel) and it looks fantastic. :-)
|
|
|
Post by aurel on May 6, 2020 1:25:13 GMT -6
True that! Yoo
|
|
|
Post by kennn on May 6, 2020 2:00:40 GMT -6
And BASIC is still my favourite programming language.
Progress is going on, I only need to rewrite the input functions then a release will be soon on itch.io. It is good news!!!!!!!!!!!
|
|
|
Post by cybermonkey342 on May 6, 2020 4:23:11 GMT -6
Why are you posting on RCBasic forums if you are not interested in RCBasic? And who said I wasn'n interested in BASIC? I'm not interested in FreeBasic, but, as you should now, there are other BASICs around. Is Aurel not interested in BASIC? He's started topic about Beef - the language that, according to Aurel, will erase Pulsar2D. Who said I am not interested in RCBASIC? I didn't start the thread and I thought I might contribute my two cents. Anyway, I am sick and tired of that discussion, so here's my last statement: Pulsar2D is a framework (based on SDL2) to be used with FreeBASIC for people who want to develop retro-styled games. No more. No less. Of course one can use fancy game engines for this task, starting from Godot over Unity to Unreal. I have no intention to conquer the world with this framework. Primarily I do this for myself. I want to easily develop retro-styled games. And with fun. BASIC programming is fun. Java/C# whatsoever is no fun. Oh, did I mention that one can use the framework with C/C++? PulsarBASIC is for the fast prototyping. So one can port to FreeBASIC with ease. So use it or use it not - you have the freedom of choice.
|
|
|
Post by n00b on May 6, 2020 5:43:33 GMT -6
cybermonkey342 I am glad to see that pulsar2d is not dead. I haven't messed around with FreeBasic in a long time. If you look me up on the fb forum, I think my last post was over 10 years ago. But I might download it and try it out when pulsar2d is available. When are you planning on uploading a new release?
|
|
|
Post by kennn on May 6, 2020 6:39:08 GMT -6
PulsarBASIC is for the fast prototyping. Perhaps you can release the alpha version first. Some people may be interested in testing it here!
|
|
|
Post by cybermonkey342 on May 6, 2020 8:29:02 GMT -6
cybermonkey342 I am glad to see that pulsar2d is not dead. I haven't messed around with FreeBasic in a long time. If you look me up on the fb forum, I think my last post was over 10 years ago. But I might download it and try it out when pulsar2d is available. When are you planning on uploading a new release? There is no date, yet. But next two weeks I've got vacations and as we all know there is no place on earth I can go to - so I'll stay at home and will have plenty of time to program. I want to implement the new input routine and a kind of cheatsheet (similar to that of raylib..). After that the interpreter will be released as well. Oh, I forgot to add an example, how Pulsar2D looks in C:
/* test1.c */
#include <stdio.h> #include "pulsar2d.h"
int main(int argc, char **argv) { p2dwindow w=0; p2dsprite* player; p2dsprite* background; p2dimage* image; int key=0; int x=200; int y=200; int i=0, j=0; w=openwindow ("Test",-1,-1,800,600); setframetimer (100); setactivewindow (w); image = loadimage ("sprite.bmp"); player = createsprite (image); freeimage (image); image = loadimage ("grass.bmp"); background = createsprite (image); freeimage (image); textsize (2); do { key=getkey(); clearwindow(); for (i=0; i<=windowheight();i+=32) { for (j=0; j<=windowwidth();j+=32) { drawsprite (background,j,i,1,1,0,0,0); } } if (keystate (SDL_SCANCODE_RIGHT)) { x+=1; }; if (keystate (SDL_SCANCODE_LEFT)) { x-=1; }; if (keystate (SDL_SCANCODE_DOWN)) { y+=1; }; if (keystate (SDL_SCANCODE_UP)) { y-=1; }; color (255,255,255,255); drawtext ("Use cursor keys to move knight",0,0); drawsprite (player,x,y,1,1,0,0,0); sync(); } while (key != SDL_SCANCODE_ESCAPE); closewindow (w); freesprite (player); freesprite (background); closeapplication(); return 0; }
Ok, and (almost) the same in PulsarBASIC:
' shows how to load an image and turn that into a sprite
import "scancodes.bas"
win = openwindow ("Simple Sprite Example",-1,-1,800,600) setactivewindow (win)
setframetimer (120)
image = loadimage ("sprite.bmp")
knight.image = createsprite (image) freeimage (image)
image = loadimage ("grass.bmp") grass = createsprite (image) freeimage (image)
knight.x=windowwidth/2 knight.y=windowheight/2
def drawthebackground() for i = 0 to windowwidth step spritewidth (grass) for j = 0 to windowheight step spriteheight (grass) drawsprite (grass,i,j,1,1,0,false,false) next next enddef angle = 0
do key=getkey clearwindow drawthebackground() angle=angle+1 if angle>=360 then angle=0
if keystate (SCANCODE_RIGHT) = true then knight.x=knight.x+1 endif if keystate (SCANCODE_LEFT) =true then knight.x=knight.x-1 endif if keystate (SCANCODE_UP) =true then knight.y=knight.y-1 endif if keystate (SCANCODE_DOWN) =true then knight.y=knight.y+1 endif color (255,255,0,255)
drawsprite (knight.image,knight.x,knight.y,1,1,0,false,false) drawtext ("Movable (normal) sprite",knight.x,knight.y+36) drawsprite (knight.image,100,100,2,2,angle,false,false) drawtext ("Rotating scaled sprite",100,170) drawsprite (knight.image,400,100,1,1,360-angle,false,false) drawtext ("Rotating sprite",400,136) drawsprite (knight.image,400,400,3,3,0,false,false) drawtext ("Scaled sprite",400,505) drawspritepart (knight.image,100,400,4,4,20,24,1,1,0,false,false) drawtext ("Sprite part",100,430)
drawtext ("Sprite Example. Press cursor keys to move knight. Press ESC to quit.",0,0)
sync until key = SCANCODE_ESCAPE freesprite (knight.image) freesprite (grass) closewindow (win)
closeapplication
And the last one now in FreeBASIC:
' shows how to load an image and turn that into a sprite
#include once "pulsar2d.bi"
using p2d
TYPE player x as integer y as integer image as p2d.sprite END TYPE
dim win as p2d.window dim image as p2d.image dim grass as p2d.sprite dim key as integer dim knight as player
win = openwindow ("Simple Sprite Example",-1,-1,800,600) setactivewindow (win) setframetimer (100)
image = loadimage ("media/sprite.bmp") knight.image = createsprite (image) freeimage (image)
image = loadimage ("media/grass.bmp") grass = createsprite (image) freeimage (image)
knight.x=windowwidth/2 knight.y=windowheight/2 textsize (2)
do key=p2d.getkey() clearwindow()
if keystate (SDL_SCANCODE_RIGHT) then knight.x=knight.x+1 end if if keystate (SDL_SCANCODE_LEFT) then knight.x=knight.x-1 end if if keystate (SDL_SCANCODE_UP) then knight.y=knight.y-1 end if if keystate (SDL_SCANCODE_DOWN) then knight.y=knight.y+1 end if
for i as integer = 0 to windowwidth() step spritewidth (grass) for j as integer = 0 to windowheight() step spriteheight (grass) drawsprite (grass,i,j,1,1,0,false,false) next next
drawsprite (knight.image,knight.x,knight.y,1,1,0,false,false)
color (255,255,255,255) drawtext ("Cursor keys to move knight, ESC to quit",0,0)
sync() loop until key = SDL_SCANCODE_ESCAPE freesprite (knight.image) freesprite (grass) closewindow (win) closeapplication()
|
|
|
Post by Tomaaz on May 6, 2020 9:28:54 GMT -6
Cybermonkey, thanx for answering a rhetorical question. You shouldn't have. :-) I'm not surprised you're already tired with this discussion. I remember that you keep getting tired very easily. Especially with the projects you start. I don't want to fight with you. I just want others to know that Pulsar2D is not a new project. Neither it's Cybermonkey's last one. It's several years old. And, like EGSL, CMLua, AllegroBasic was never finished. No documentation, no proper support, broken Pascal and Lua versions for Linux (that's why you're dropping them?). Now it's back for another "five minutes". Then the developer will get tired again, start a new project (AllegroLua?) and finally disappear for a couple of years/ever.
|
|
|
Post by cybermonkey342 on May 6, 2020 10:21:46 GMT -6
Thanks for your evaluation Tomaaz. But no one ever asked, so better keep the wisdom to yourself. Anyway, this guy will be ignored by me from now on - don't feed the trolls.
|
|
|
Post by Tomaaz on May 6, 2020 11:20:25 GMT -6
From now on? You ignored so many of my questions about documentation and progress of EGSL/Pulsar2D in the past that I can't see how it is going to make a difference now, when I'm not interested anymore. I didn't start this topic. I didn't respond to your posts on NaaLaa forum. I wish you well, but people here should know that it's not necesarily true that "Pulsar2D is not dead...!!!!!!!!!!!!!!!!".
|
|
|
Post by kennn on May 7, 2020 9:39:50 GMT -6
Tomaaz, From now on? You ignored so many of my questions about documentation and progress of EGSL/Pulsar2D in the past that I can't see how it is going to make a difference now, I don't know too much about cybermonkey342's old projects. Perhaps cybermonkey342 was not experienced enough in engine development in the past. Why not give cybermonkey342 another chance? cybermonkey342,Thanks for your evaluation Tomaaz....... .....Anyway, this guy will be ignored by me from now on - don't feed the trolls. Hey....don't say that. Maybe Tomaaz's opinions can inspire you. The opinions may also become a strong impetus for excellent software finished by you.
|
|
|
Post by aurel on May 8, 2020 3:36:28 GMT -6
-
|
|
|
Post by aurel on May 8, 2020 3:38:38 GMT -6
|
|