Author Topic: First contact  (Read 7293 times)

Offline XanthorXIII

  • Mr. Polyvector
  • ***
  • Posts: 197
    • View Profile
Re: First contact
« Reply #15 on: 2011-May-26 »
I'd like to see the code on the Speed Tester if possible ;)
Owlcat has wise

MrTAToad

  • Guest
Re: First contact
« Reply #16 on: 2011-May-26 »
« Last Edit: 2011-May-26 by MrTAToad »

Offline Gary

  • Dr. Type
  • ****
  • Posts: 313
    • View Profile
Re: First contact
« Reply #17 on: 2011-May-26 »
My mac Mini is returning between 18 and 25 fps for the speed tester

Offline dreamerman

  • Global Moderator
  • Dr. Type
  • *******
  • Posts: 366
    • View Profile
    • my personal website
Re: First contact
« Reply #18 on: 2011-May-26 »
I also recently bought glbasic. But I have different feelings, I am fully satisfied with the purchase. Before buying I checked the demo version, so easily I could compare it to other languages.
The first issue, a help file has some lacks, but it contains enough to work on most things, an additional description of the manual is available also on this www: http://glbasic.un-map.com/
you can always use forum, because it is the best source of getting help.
For each tool, where a group of developers is small, occurs similar problem - but better is if they fix bugs and add new functionality than create very extensive help files, at least this is my opinion.

As for the speed of displaying graphics. glBasic is based on OpenGL - some older / integrated graphics cards are much slower than in DirectX (but I think that you have fast GFX), the second issue are default not much optimized rendering routines (sprites) and it is the true bottleneck - not the CPU (more on that later). Most important things are the rules for optimized rendering - apply to any language and tool, don't change currently used texture to frequently, and don't use unnecessary functions many times. More sophisticated tools like XNA have probably built-in support for this what is called 'sprite atlas / sheet', and because of this, in some situations, you do not need to write optimized rendering functions by yourself, but in pure C++ and DirectX/Ogl you have to tweak these aspects. So here glBasic does not deviate from them, simple functions DrawSprite etc. should be regarded as a quick way to test something, but you should use more optimized methods, such as for example:
Code: (glbasic) [Select]
Startpoly tex_id%, 2
loop throug visible map part
draw tile
polynewstrip
end loop
endpoly

of course in this case this loop need to be fast in other way there will be some slowdowns..
For these reasons glBasic may seem slower than, let say, XNA, but it is not, you just have to code the optimized rendering procedures.

As for mentioned performance, 'SpriteSpeedTester' probably uses built-in sprite commands so its slow, the results:
Pentium E2180, Radeon 2600XT -> 55-105fps
Pentium 4 ~ 2Ghz, crazy old Geforce 2 MX400 -> 3-6fps: D
One Thing That this GF2 is slower in OpenGL, but more important That this code is unoptimized, with some simple game with a little optimized code (some drawsprite/anim and other, it could be faster) I get ~30fps in 1024x769 with 32bits, to compare with same game written in VB6 (also some optimizations, some rendering via 3d) with DirectX 8.1 I get ~45fps..

As you already noticed glGasic is really easy to learn and you only need a bit of time to tune rendering routines for a specific game.
Check my source code editor for GLBasic - link Update: 20.04.2020

Offline XanthorXIII

  • Mr. Polyvector
  • ***
  • Posts: 197
    • View Profile
Re: First contact
« Reply #19 on: 2011-May-26 »
I'll admit it, I'm a complete noob when it comes to programming games. I've done some business tools but that's about it really. My problem was with the game loop cycle. For me it was like, how do you capture all these pieces of data at once. How do you get Input, to move this item here at the same time that this enemy is flying at you etc.... I had seen the cycle, but thought it looked too slow.
Then I got into XNA programming with C# which laid out the Cycle and playing around with that I got a Pong Clone done up for my Beginning C# Class Final Program turn in which I got 200/200 points for it. It also included the class sound ;)
With those results, I was motivated to do better so I kept on reading and learning.
Fast Forward to Summer of 2010. I was looking to start doing iPhone programming and I didn't exactly want to learn Objective-C even though I can do C/C++ Programming. The syntax for it is the worst. I found GLBasic. I thought, Basic, why the heck would I want to program in Basic Syntax. So I grabbed the demo and started to look at the documentation. Seemed simple enough so I said what the heck, why not. Grabbed the full copy and here I am writing what I will consider to be my first true game and it's working out really great! I believe I'm currently at about 55% done and started the project back in March, but the main component of the game is working, I just need to work out the rest of the game.
GLBasic has been a great tool to work with and the community here has been really awesome.

Owlcat has wise

MrTAToad

  • Guest
Re: First contact
« Reply #20 on: 2011-May-26 »
Quote
My mac Mini is returning between 18 and 25 fps for the speed tester
Not too bad there then