SyntaxBoom

Languages & Coding => Other Languages => Topic started by: Unseen Ghost on Jul 03, 2025, 04:48 PM

Title: PureBasic programming
Post by: Unseen Ghost on Jul 03, 2025, 04:48 PM
Hi everyone,

I have been working on a European Football game called European Football Simulator written completely in PureBasic. I will be using Sqlite3 for the database of everything.
Attached are a couple of images of some results of testing 3D objects in PureBasic. Image on the right I loaded an untextured player I created in MakeHuman and scaled it down to fit the scene better. Image on the left is the football stadium I want to use in the game. I have a couple of dots I need to put in the pitch though. one is the penalty shot spot and the other is the center dot in the middle of the pitch. I got the pre-made stadium on turbosquid website.
Here is the test code:
#MOVEMENT_SPEED = 0.1

Global MouseXRotation.f,MouseYRotation.f,KeyX.f,KeyZ.f

InitEngine3D()
InitSprite()
InitMouse()
InitKeyboard()

OpenWindow(0, 0, 0, 1280, 780, "European Football Simulator", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 1280, 780, 0, 0, #PB_Screen_WaitSynchronization)
Add3DArchive("C:\Users\Brian\Documents\PUREBASIC PROJECTS\3D Programs\3Dfield\Media", #PB_3DArchive_FileSystem)

Parse3DScripts()
CreateLight(0,RGB(55, 55, 55), 0, 400, -10, #PB_Light_Directional)
LoadTexture(0, "Stadium_blue.png")
LoadTexture(1, "Stadium_field.png")

bluemat=CreateMaterial(#PB_Any,TextureID(0))
fieldmat=CreateMaterial(#PB_Any,TextureID(1))
defmat = CreateMaterial(#PB_Any,0)

LoadMesh(0, "StadiumNew_obj.mesh")
LoadMesh(1, "Test1_dae.mesh")


CreateEntity(0, MeshID(0), #PB_Material_None)
CreateEntity(1, MeshID(1), #PB_Material_None)
ScaleEntity(1, -0.03, -0.03, -0.03)
ScaleEntity(0, 4, 3, 3)

For x = 0 To 30
  Select x
    Case 1
      tmat = fieldmat
    Case 4
      tmat = defmat
    Case 5
      tmat = defmat
    Case 9
      tmat = defmat
    Case 10
      tmat = defmat
    Case 11
      tmat = defmat
    Case 12
      tmat = defmat
    Default
      tmat = bluemat
  EndSelect
  SetEntityMaterial(0,MaterialID(tmat),x)
Next x

;RotateEntity(0, 6, 45, 0, #PB_Absolute)
RotateEntity(1, 180, 0, 0, #PB_Absolute)
MoveEntity(1, 0, 0.137, -36, #PB_World)

CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 20, 40, #PB_Absolute | #PB_Local) ; absolute + local positive Z coordinate moves camera backwards
CameraRange(0,0.1, 1000)
CameraLookAt(0, 0, 0, 0)
Repeat
  Repeat : event=WindowEvent() : If event = #PB_Event_CloseWindow : End : EndIf :Until Not event
  If ExamineMouse()
    MouseYRotation = -MouseDeltaX() / 10
    MouseXRotation = -MouseDeltaY() / 10
  EndIf
  RotateCamera(0, MouseXRotation, MouseYRotation, 0, #PB_Relative)
  ;Update Key Presses and position the Camera accordingly
  If ExamineKeyboard()
    If KeyboardPushed(#PB_Key_Left) : KeyX = -#MOVEMENT_SPEED : EndIf
    If KeyboardPushed(#PB_Key_Right) : KeyX = #MOVEMENT_SPEED : EndIf
    If KeyboardPushed(#PB_Key_Up) : KeyZ = -#MOVEMENT_SPEED : EndIf
    If KeyboardPushed(#PB_Key_Down) : KeyZ = #MOVEMENT_SPEED : EndIf
    If KeyboardPushed(#PB_Key_Escape) : ReleaseMouse(#True) : EndIf
    MoveCamera(0, KeyX, 0, KeyZ)
    KeyX = 0
    KeyZ = 0
  EndIf
  RenderWorld()
  FlipBuffers()
  Delay(1)
ForEver
Title: Re: PureBasic programming
Post by: Baggey on Jul 03, 2025, 05:15 PM
is it going to have the women's teams in it  ::)
Title: Re: PureBasic programming
Post by: Dabzy on Jul 03, 2025, 08:34 PM
Looks well! :)

I still remember New Star Soccer, that was a big success for the Monkey Language and a lovely little job at that... It really deserved all the success in the world!

Quote from: Baggey on Jul 03, 2025, 05:15 PMis it going to have the women's teams in it

If it doesnt have Alisha Lehmann, I'll be major disappointed. Not to be a creep or out (Ahem), but she rocks mind!

Dabz
 
Title: Re: PureBasic programming
Post by: Baggey on Jul 04, 2025, 03:03 AM
Quote from: Dabzy on Jul 03, 2025, 08:34 PMLooks well! :)

I still remember New Star Soccer, that was a big success for the Monkey Language and a lovely little job at that... It really deserved all the success in the world!

Quote from: Baggey on Jul 03, 2025, 05:15 PMis it going to have the women's teams in it

If it doesnt have Alisha Lehmann, I'll be major disappointed. Not to be a creep or out (Ahem), but she rocks mind!

Dabz
 

For me its Merle Frohms im a big fan.
Title: Re: PureBasic programming
Post by: MikeHart on Jul 04, 2025, 04:28 AM
That is a cool start for sure. Keep us updated please.
Title: Re: PureBasic programming
Post by: Unseen Ghost on Jul 04, 2025, 04:44 AM
Quote from: Baggey on Jul 03, 2025, 05:15 PMis it going to have the women's teams in it  ::)

This version will not have women in it. At some point later down the road I can always make a women's version
Title: Re: PureBasic programming
Post by: Unseen Ghost on Jul 04, 2025, 04:45 AM
Quote from: Dabzy on Jul 03, 2025, 08:34 PMLooks well! :)

I still remember New Star Soccer, that was a big success for the Monkey Language and a lovely little job at that... It really deserved all the success in the world!

Quote from: Baggey on Jul 03, 2025, 05:15 PMis it going to have the women's teams in it

If it doesnt have Alisha Lehmann, I'll be major disappointed. Not to be a creep or out (Ahem), but she rocks mind!

Dabz
 

I'll have to look into the New Star Soccer game some time. I never tried it
Title: Re: PureBasic programming
Post by: Unseen Ghost on Jul 04, 2025, 04:47 AM
Quote from: MikeHart on Jul 04, 2025, 04:28 AMThat is a cool start for sure. Keep us updated please.

I will definitely keep you updated here
Title: Re: PureBasic programming
Post by: pfaber11 on Oct 11, 2025, 07:45 PM
I was wondering how many have moved to PureBasic from AGK as AGK has been put into feature freeze. They do pretty much the same thing although PureBasic maintains all of the basic language of the eighties and nineties AGK studio has a scaled down version of Basic but can still get the job done due to it's many advanced commands. I think AGK Basic is the best language I have tried it's very small and it is easier to learn compared to PureBasic, and I would say easier and nicer than Python especially if you know a bit of Basic to start with. I do like PureBasic as well and play with it often to keep it fresh.     
Title: Re: PureBasic programming
Post by: Baggey on Oct 11, 2025, 08:31 PM
Id be wondering how many have moved to BlitzmaxNG  ;)