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 ... 22
1
GLBasic - en / Re: Compiling to html5?
« on: 2020-May-23 »
Those *.bat files in platform/HTML5 are either not used for build or are for building GLB lib itself or something if I understand correctly, proper build file is 'compile_html5.bat' that's generated during compilation in 'temp\glbasic', this can be edited to set proper path for emscripten and that will work.
But there are other issues, first is that 'OUTLINING_LIMIT' setting is deprecated and not used in current emscripten, second thing, prebuilt / included GLB/HTML5 libraries were made with older version of emscripten, if You will try to use them on latest public version an error 'machine type must be wasm32' will appear, and compilation will stop.
Still there are those warning about multi brackets (()) and using == comparison instead of ===, but those can be ignored with some compiler switches.
It would be great if those critical errors could be fixed so HTML5 would be available again.

2
2D-snippets / Re: Text Shadow CSS importer
« on: 2020-May-19 »
Interesting project, effects looks nice and this can be handy, specially blur and shadow functions.
Those c++ inline in OpenGL part are much faster than standard GLB? Some possible optimization is to avoid DimPush and just declare arrays with final size.

3
Consider do You really need pixel based collision checking? In my opinion in most cases it's waste of resources, for games with old school graphic it's ok but if you will use it on large sprites it just will be to much overhead.
Best would be just shape based collision checking - rotated rectangles, or even polygon based if needed because it will be fast. And any such algorithm can be easily adapted to GLB.
Still if pixel based is Your choice consider using 'mask' spites - if it's 'onescreen level' game type, have offscreen surface, draw car mask to it with proper alpha/color setup, then just check specified region if some pixels differ from main mask color - so this will be only one sprite2mem per frame for all collisions.

4
In SaveBmp alpha is checked so GrabSprite also should make use of it, but I'm not sure as never used it on larger scale. Some workaround can be using custom grabsprite routine with Sprite2Mem.

5
Announcements / Re: Red Wizard Island
« on: 2020-May-17 »
Good luck with the release! :-)
Some thoughts to consider, as it's better to do this on release, later it's just harder to attract some users. Features must to have for this game: controller/gamepad support if it's not present and Steam Cloud for saves (easy to do, just specify what files need to be copied in Steamworks) - as those features aren't listed on game store page. If Your game doesn't have many text based buttons/ui also multi-language support could be good option, and at last also Steam Achievements would fit it nicely.

6
GLBasic - en / Re: NETWEBGET and HTTPS
« on: 2020-May-14 »
I doubt it, or rather I would say not in nearest future. My previous answer is still accurate, with one big change. If You need it only on Windows/Steam You can use Steam-API for that as it has https GET/POST request, if You need it for leaderboards then Steam also can be used, btw. You can add achievements to Red Wizard Island with this: https://www.glbasic.com/forum/index.php?topic=11268.0

edit: I had some problems with GET requests due newer PHP version, needed to reverse to PHP 5.3, maybe something with my php code, not sure..

7
Fixed bug in my region based pathfinding, some small changes in few functions, so main functions are stable.
Current benchmarks:
Code: (time in miliseconds) [Select]
AcrosstheCape 32room_000 maze512-1-0
start-goal pairs 294 pairs 213 pairs 241 pairs
FINDPATH 90310 7067 55384
Advanced_FindPath 86456 44920 28732
FloodFill 6364 3199 10365
A* BH 4119 1251 20267
JPS-4Way 1255 314 3013
JPS-SD 450 127 703
Regions 448 316 1586

As for now I was looking for best choice for partial changing maze style map, something between rooms/maze - like in dungeons / roqulike based games. So I made some changes in JPS function - using 1D array and focused on target kind of maps - it's called JPS-SD.

There are some interesting concepts, but generally, higher/more expensive pre-calculation = better final solving speed. Yet such pre-calculation sometimes make it harder / more expensive when used on dynamic or part-dynamic maps - one path may be currently blocked by obstacles - for example closed doors and so on.. In general for not-changeable maps with JPS You can use pre-calculated jump length so no need to check all tiles during jumping, BinaryTree code could be also little altered specially for region based pathfinding. Maybe in GLB some better code can be written, but to have even better results pure C++ should be used with pointers and other sorting algorithms like combination of buckets and fast lists. Still this should be sufficient for most use cases.
If any one is interested in additional info You can check links included in source, and one really interesting implementation is this: https://mikolalysenko.github.io/l1-path-finder/www/  JS code, but it's really fast, yet it isn't easy to read. It's using 'landmarks', some kind of similar to regions but more advanced.

@SnooPI
Feel free to change anything, and I'm curious to see any additional pathfinding algorithms :-) All other implementations, tricks and optimizations are welcome.

8
In-game it looks ok, I see jump/turn buttons/text properly.

9
No issus with sound/music, after minimizing app is restored/maximized without problems even after couple minutes. Generally no problems, just in PowerUp Elevation lower menu text is cropped and not displayed properly. Device info - screen resolution 1080x2340 px, Android 9, no physical Home button. Btw. nice little game, good luck with it :-)

10
Beta Tests / Re: 3D Demo
« on: 2020-May-11 »
One more thing about animation - skeleton based is faster/better than per vertex and simply allows to do more things. But generally I'm not in '3d mode' from a long time, yet it's good to see possible alternatives or libs that could bring additional features to GLB.
Demo looks nice, runs smooth, but I had some issue running it - two or three first runs were crashes with some error (din't make any dumps/error logs), after that demo runs properly. Don't know why but it style reminds me Half-Life.. ;)

11
Only IDE is forced to run from Steam, You can still use other code editor and even run GPC/compiler from command line. Not sure if older official IDE v15 can run v16 compiler sets, didn't try to do this.
Still Your Steam problem is strange, as it's isn't updated so often and those updates are rather small and install fast, maybe AntiVirus is blocking them - scan each file before access and so on..

12
Very interesting.. This may be huge for several reasons. As RayLib is cross platform, based on OpenGL and support WebGL and has 2d, 3d, music, net, compression, win related functions and so on. It all depends on how much it's mature or rather tested on real devices like mobiles and how much effort is put to keep it compatible with recent Android updates. I'm curious about that, due all current Android problems and absence of other platforms like Linux in GLB. Another big advantage over other such solutions is no dependencies for other libraries, no crazy problems with compilation.

For me important thing is that in contrast to many other 'game dev libraries' here You have access to more basic drawing routines, and some equivalent to GLB StartPoly / PolyVector can be written, so let's say some handmade spriteBatch functions - as this allows for multi layer animated tile map and so on. On other hand it goes on current GLBasic status with compilation for HTML5-WebGL (that could be used on iOS/MacOS), and all Android problems.

btw. using RL_ as prefix may be most readable and clean solution for GLB - adding some object interface can cause issues with other things.

13
I will join Your question. What beside Android Studio is currently needed to compile for Android - like specific JDK/Java version or some other tools (as for other tools that I checked recently they for example advised to use older Python versions and so on) are needed? Or I missing some tutorial that's available here on forum and it's up-to date..

14
GLBasic - en / Re: Compiling to html5?
« on: 2020-May-04 »
Which files I need to edit/configure to compile for html5 now, or any tool needs to be in specific path or something? I've installed latest versions of Git, Emscripten, Python (in some custom path to avail possible ProgramFiles and similar issues) they can be launched from system cmd and so on, but whole time I get some errors, either one or another tool isn't supposedly in proper path.. Does this target is configured to use current distributions of needed tools, as for example for emscripten it looks on some bat/exe in main emsdk directory but tools are in corresponding sub directories. ofc. I've tried to edit some *bat's in platform path to force proper working directories but neither of them has impact on result.
Beside that HTML5-WebGl target is working, or more precisely does it have some restrictions, as in previous versions of GLB it wasn't capable of compiling project that use RenderToTexture / PolyVectors stuff.


15
Word about that JPS, code looks ok, but it all goes to pre-calculation and proper use of jump flags, for maze maps it will be good but for large maps with many open spaces region/HPA would be still better. In this update I've added better visual representation of real case path finding - map view like in old 2d rts games with moving objects that represents units, using my A* routines (by default it's DarkColony map + 1000 units). This can give some idea what are possibilities, and remember that this is simplest implementation - not optimized, specially drawing stuff. Also path finding can be further optimized with features specific for game, mostly it goes to JPS and other map pre calculation techniques. Proper 'found paths' manager should be also written, so it would cache or store paths for futher use if possible and so on.

Beside that project includes benchmark-ing function with start-target pairs - *scen files, details described in source.
btw. I compared results from GLB with my original source in FreeBasic and they are quite similar so even such implementation isn't useless ;]

Probably further changes that I will make in source will be specific to my project, so I'm not sure if any major update will be posted.
ps. press 'Tab' to switch draw mode.. results from screenshot are with BinaryHeap A*, region based is faster...

Pages: [1] 2 3 ... 22