BASIC

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - dreamerman

Pages: [1] 2 3 ... 17
1
Ah, hm, not sure if I saw that library earlier, but no working download for it, and it doesn't appear in more complex tutorial/code, not sure about it's status, does it work with latest GLB?
Something like this would be great, for example to put pathfinding module on separate thread. Will need to look into this later.

Thing about big game engines, or rather final games (as i don't know how many of those tricks are implemented directly in engine) they have many optimizations, and more over, specially now on consoles they are using some tricks, dynamic resolution is basic stuff now, but other most used tricks in mobile gaming (Switch/iPhone games) are skipping frame animations for distant objects, drawing them as sprites not as real 3d objects, enabling shadows only for closer objects and so on..

My advise would be to make some prototype with basic LOD for objects, specially in space based games when some objects are in great distance there is no need to render for example planet as 10k polygon sphere.. It would be really nice to see something like this here on forum ;-)

ps. thanks Moru, will check this, still GLBasic 5 sounds little old :D

2
Off Topic / Re: Article
« on: 2019-Apr-20 »
Even if someone speaks English it's nice to see that game support your own language and that way localization for foreign markets (specially Asia->China/Japan/Korea and at least western Europe languages) can have some significant impact on sales. But yeah, sometimes localization can be painful   :sick:

3
Off Topic / Re: New Mac....ish story
« on: 2019-Apr-20 »
Ah I forgot about topic :> Talking about MacOS/iOS requirements I meant that new apps for will those systems will need to be 64bit and use Metal for graphics (not OpenGL) - or maybe they changed this already, completely I've no idea what's current status on that.
Generally my initial idea was to have 3 systems on desktop pc - Windows + both SteamOS and MacOS for testing GLB projects, for now I didn't install MacOS yet due those (above mentioned) requirements, maybe some day :]

It's interesting thing about those issues with Nvidia drivers in MacOS :D Glad that I'm rather AMD gpu user - just better performance/$$ in my budget, so this shouldn't be a problem. Also I'm curious if Apple will use new AMD cpu's in near future.. Oh this year Computer and E3 will be HOT :)


Kitty Hello: that's great second life for macMini and it's surely better than android based media players. But most important You don't threw it into garbage and pay extra $$ for good media player.

4
This is rather question what are boundaries for loaded objects/in-engine entities like object/polygon count and so on. As GLBasic overhead shouldn't be high as in some other tools, a true limiting factor will be gpu, yet as GLB uses old OpenGL we don't have those benefits from newer API's, but still this should be enough. Simplest solution would be same as erico already mentioned, make small project put many objects to it and You will see results. But remember that modern AAA games and tools like Unity/Unreal engine are using many optimizations to reach 30/60fps target. So depending on what You want to achieve there may be need to implement some basic optimizations like LOD for objects...

Erico thats another good question, as GLBasic is single-threaded (maybe something may be changed thanks to new compiler?) so probably this will be limiting factor. But it also depends how AI will be written, check for example 10 entities per frame, their current task, status, find new path and so on... it would be nice to have such playground, even in 2d, and another way to show power of GLB :-)

5
Competitions / Re: Hello World - Contest
« on: 2019-Apr-06 »
ah.. can't decide, all entries have something interesting.. btw. WPShadow You forgot to include yourself in poll :D

6
Yesterday I got email about this bundle, and I must say thats another great deal from Humble Bundle and those artists that participate. Really nice sprites, animations, and hopefully also SFX packs are also on same lvl.
btw. it's not first such bundle from them, in October they had 'Humble RPG Game Dev Bundle' and in February there was 'Humble Fantasy GameDev Bundle'...

7
Off Topic / Re: Article
« on: 2019-Apr-03 »
Good article. That time when users testing your game are surprised that they can't use keyboard to play it :D or that You took different design way opposite to other similar games.. One thing that You didn't approach is localization / game translation issues, but maybe You will deal with that during development of Your next project :P

8
Off Topic / Re: New Mac....ish story
« on: 2019-Apr-03 »
I was also looking at hackintosh (MacOS on pc) stuff, but finally didn't test it, only installed SteamOS for app testing. From Apple products I'd pick mini Mac's they are ideal as desktop/under TV box for most office/home tasks (where You don't need powerful gpu), but that premium price just kills it. Most sad is that pc manufacturers didn't really go into small PC topic, they also try to push them with premium price point..
For me main reason to use MacOS on pc would be to test/publish apps on Apple store, yet now I don't know how it will look with current requirements 64bit/Metal...

That's a little offtopic but in past few years there were only little improvements in Intel cpus (for real daily workloads) in clock per clock comparison. So older generations of Core processors like i5 are really capable for normal working and gaming. AMD made small revolution with Ryzen's  - jump in IPC, and core count. I'm really curious about their lineup of upcoming 7nm products.

Laptops are also specific, older business class models are made much better in terms of components/materials that those new for 'normal' users..

9
Yeah, I wasn't sure but I though that Genius Greedy Mouse had some kind of 'achievements'.. I know that game should defend itself by quality, but now even small games have achievements, and some users just skip games without them with filters or just thinking that game isn't finished or due other reasons.
That's really nice to hear that such integration (into GLB source code) should be now easier to implement. As ability to call Steam API in such simple way (at least those basic things like stats, achievements, maybe leaderboards) would be awesome and that could be another great feature to list on Steam product page.

10
GLBasic - en / Anyone played with Steam API?
« on: 2019-Apr-03 »
I'm curious if anyone tried to make use of Steam API, for achievements, leaderboards or whatever.
As during fast looking at GLBasic made games on Steam I didn't see any project that support those features. Most notable would be support for achievements.

Some basic stuff can be done with INLINE, using DECLARE to call steam_api.dll functions.
main.gbas
Code: GLBasic [Select]
DEBUG "False: " + FALSE + ", True: " + TRUE + "\n"
DEBUG "Steam init: " + SAPI_SteamAPI_init() + "\n"
SAPI_SteamAPI_Shutdown()
steam_min.gbas
Code: GLBasic [Select]
INLINE
        }
                extern "C" {
                        #include <cstdio>
                       
                       
                }
        namespace __GLBASIC__ {
       
                typedef bool _Bool;
                typedef unsigned char uint8;
                typedef signed char int8;
                typedef short int16;
                typedef unsigned short uint16;
                typedef int int32;
               
                const char* STEAMUSER_INTERFACE_VERSION = "SteamUser019";
       
                typedef int32 HSteamPipe;
                typedef int32 HSteamUser;
                typedef int32 ISteamUser;
               

        DECLARE(SteamAPI_Init, "steam_api.dll", (), bool);
                DECLARE(SteamAPI_Shutdown, "steam_api.dll", (), void);
                DECLARE(SteamClient, "steam_api.dll", (), intptr_t);

        DECLARE(SteamAPI_ISteamClient_CreateSteamPipe, "steam_api.dll", (intptr_t), HSteamPipe);
        DECLARE(SteamAPI_ISteamClient_BReleaseSteamPipe, "steam_api.dll", (intptr_t, HSteamPipe), bool);
        DECLARE(SteamAPI_ISteamClient_ConnectToGlobalUser, "steam_api.dll", (intptr_t, HSteamPipe), HSteamUser);
                DECLARE(SteamAPI_ISteamClient_GetISteamUser, "steam_api.dll", (intptr_t, HSteamUser, HSteamPipe, const char *), intptr_t);

                DECLARE(SteamAPI_ISteamUser_GetPlayerSteamLevel, "steam_api.dll", (intptr_t), int);

ENDINLINE


FUNCTION SAPI_SteamAPI_init%:
        LOCAL ret%, user_lvl%
        INLINE
                ret = SteamAPI_Init();
                intptr_t sclient;
        sclient = SteamClient();
        HSteamPipe hsteampipe;
                HSteamUser hsteamuser;
                hsteampipe = SteamAPI_ISteamClient_CreateSteamPipe(sclient);
                hsteamuser = SteamAPI_ISteamClient_ConnectToGlobalUser(sclient, hsteampipe);
               
                intptr_t isteamuser;
                isteamuser = SteamAPI_ISteamClient_GetISteamUser(sclient, hsteamuser, hsteampipe, STEAMUSER_INTERFACE_VERSION);;

                user_lvl = SteamAPI_ISteamUser_GetPlayerSteamLevel(isteamuser);
                SteamAPI_ISteamClient_BReleaseSteamPipe(sclient, hsteampipe);
               
        ENDINLINE
        DEBUG "your lvl: " + user_lvl% + "\n"
        RETURN ret%
ENDFUNCTION

FUNCTION SAPI_SteamAPI_Shutdown%:
        INLINE
                SteamAPI_Shutdown();
        ENDINLINE
ENDFUNCTION
Put 'steam_api.dll' to project exe folder, and create 'steam_appid.txt' containing your app_id to make this work. And result is that app will print in Debug Your (currently logged in) Steam Level (that from crafting game badges)..

Only issue with this, I have no idea how to make callback's from those functions (yet from what I saw, some other language ports just ignore this problem), many of them works asynchronously, and after completed they invoke/call some callback function, like this, you request for user stats, when Steam internal function get current stats, it callback to some function that normally is in project source. Can this be done with EXPORT, or are some other tricks to do this.
Including whole Steam API with 'steam_api_flat.h' header also can be some solution but proper including/linking is currently out of my scope :D Help of some C++ expert is needed here :P

11
GLBasic - en / Re: IDE and auto-complete?
« on: 2019-Mar-29 »
Use Ctrl + Space.. or try my alternative editor, link in signature. ;)

12
Competitions / Re: Hello World - Contest
« on: 2019-Mar-29 »
hm.. nice ideas, read from DATA, webpage, encoded string, RND numbers, what more can be done? Curious what You will do Schranz0r to beat them ;)

13
GLBasic - en / Re: Smooth scroll
« on: 2019-Mar-29 »
hm.. I think that it depends on game, for what resolution it's designed, how other movement is done, what special effects/filters are used on final buffer, one workaround is to keep floats as 'real' layer position/translation, and have another integer based value for drawing, and as spacefractal mentioned keep scaling/zoom to integers. Generally usage of integer per-pixel translation for layers is ok, if it helps avoid some problems.

14
GLBasic - en / Re: Fullscreen mode
« on: 2019-Mar-29 »
hm.. I didn't noticed such issues with virtual screens, with SmoothShading False, and each sprite in atlas separated with 1px border it looks ok. In my puzzle pack I'm scaling whole gui either from lower res or by scaling each button individually, and on game screens the game area itself is rendered normally (on backbuffer) with each object scaled properly to resolution/zoom. Depending on the game, may be suitable to add some additional stylized borders to preserve aspect ratio.

15
GLBasic - en / Re: Vulkan?
« on: 2019-Mar-29 »
In near future I really doubt it, as this would require to rewrite whole graphic part of engine for new API. Beside supporting newer iOS there isn't really to much sense in this, as true performance gain You get in multitasking app with plenty of rendering, not small games that probably You will make here. One of strength (in some cases weakness) of GLBasic is that it's using older OpenGL thats why project made with it can run on older hardware or some low powered devices with nice speed, for example Vulkan isn't supported on earlier generations than Intel Skylake, and there is so many laptop users with older gpu like HD 4000.
On other hand as second render / compile target along with OpenGL it could be interesting, and would allow to future-proof working on iOS and so on...

Pages: [1] 2 3 ... 17