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.

Show posts Menu

Messages - dreamerman

3D-snippets / Re: SGEngine
One day I'll definitely need to use this in some project.. yet I'm still in 2d era games heh :D
btw. where there any updates to Irrlich in last years or it isn't in 'active development' for some time?
Sorry, I didn't notice your posts.
That AV thing is mostly caused by heuristic module in BitDefender or it scanned your app and saw references to steam_api.dll so it blocked that. I would advise to add GLB compiler and possible project *exe to the white list.
And answering to your question, yes this is the best way to add Steam achievement to GLB games at this moment. Leaderboards/rankings also work, yet they require a little more work to implement.
To start, enable achievements for your game in the Steamworksnd admin page (not store page), add some achievements (names, descriptions, graphic) to steam list, and publish update (still only steamworks page, not store page). Now you are ready to add code in your game, just like in first post, init 'stats_manager_object' object, add achievements info, and use them with updateUserStat or unlockAchievement. If you will have any questions or problem don't hesitate to ask, preferably by PM as lately I visit forum not to often :/
I wish You all Merry Christmas spent with your family without worrying about everyday problems and Happy New Year, may the coming year be simply better than previous, and have a great New Year's Eve party.

Best Wishes ;)
Most likely you will need to wait until KittyHello or Spacefractal will fix this along with that volume issue that you mentioned in other topic. As temporary workaround you could use something like LMB hold delay, so if user holds LMB for like 200ms it has different behavior than normal click that sets 0/1.
In general you can found full log file, launch editor and go to Help->Logfile, and I highly advise to check this, always some small thing can go unnoticed.
And from v10.2 to current v16 there were many changes, new platforms like Android, HTML5, some other are discontinued iOS, WebOS, core under-the-hood like GCC toolchain was updated, language optimizations, ton of bugfixes, some new features like new commands (FLOOR, CEIL, IIF, SETLOOPSUB ...). 2D specific thing is changes how Alpha commands now work, full info about that in manual.
GLB is still powerhouse for 2d graphics.
Nice graphical design, I like the effect of numbers appearing row by row. Even that concept is simple it can be challenging.
Only one suggestion - after solving puzzle the pop-up info should stay a bit longer - at least for me it disappears to fast. Generally good job, and nice to see more GLB games ;)
For small game it's a solid entry, if you would like to make it something more or put it on Steam there are a plenty of features that could be added - maybe undo, counter for '1' in each row/column, un-active blocks, regions that aren't counted to global '1' summary, tiles/blocks that have negative value, or are changing the rules in particular row/column, all that would allow to create much larger levels with different feeling.
About Symbian version, first attempt was in Symbian WRT (HTML, JS), shortly updated with QT Quick (QML, JS, C++ inline for OS things like minimize/resume), with addition of Inneractive network for in-app ads. Generally I had positive feelings specially from QML, but it was little to late in Nokia Store life cycle, soon Nokia switched to Windows Phone (that also wasn't bad OS).
Main reason to prioritize Steam version is that it gives chance to make any $ - wider audience, users that are willing to pay for games, and it's main platform for PC games, is good for contests, and small original concepts that are not final games - to raise interest.
Steam/itch itself doesn't imposes way of coding or something, both tool sets are easy to use for updating game builds and so on. Most important that docs are easily available so you can check how steamworks build process works :-)

Huge thanks for testing game with real Steam Deck ;) Good to hear that it's working properly without serious issues, for music I'm using this SDL2 code.

That level UI selection issue in Twisted Line, yeap - good hint, will need to look into other similar 'selection' inconveniences, so playing with gamepad will feel better. Thing with selecting only last/recent end of line most likely was designed to simplify writing 'undo move' function, and you are right, both ends should be 'selectable', that also will be fixed, need some testing if fast/easy fix will be sufficient or requires something more. I will look into help screens, maybe create some additional, specially as you can cross lines with different colors.
As GLB code is converted to C++ it is quite fast, only minor overhead is added, so all general optimization advice applies here to.
Use integers% rather than floats#, don't do redundant calculations, use arrays with static size - don't do DimPush DimDelete or use more sophisticated code to detect when array should be resized, use Alias when excessive using array element in loops, if can use 1-dimensional arrays instead 2/3d, SIN/COS can be replaced with pre-calculated values/faster versions. hm, that most that I can remember. And as said GLB is fast enough to calculate complex algorithms in realtime like hundreds of A* pathfinding, AABB collisions, random map generations, and so on, all depends on implementation and as other said it's hard to tell something without seeing the code, even small bug/design choice can sometime give unpredictable result.
That pipe game has some story behind it, was my first puzzle game for Symbian S60 platform years ago, and managed to get to top3 puzzle games for touch phones in Nokia Store. That was so long time ago :) With GLB you can make it much more interesting with additional gameplay changes.
About your question, version is older and won't get updated with new content, Steam version will get additional games, and has Steamworks integration - achievements, cloud saves, upcoming leaderboards for highscore. Generally such 2d puzzle games without eye-catching visuals aren't popular so even on they are burried below ton of prototypes/alpha versions of more appealing games.
There should be no problem, if it requires to use some specific OpenGL extension or API - that could be done in Inline.
In core GLB is fast enough to render separate images for left & right eye, so I'm looking forward to any info about this.
Music in current form is a troublemaker, it's sufficient for small demo or prototype, but not advised way to play music in proper game.
Music subsystem doesn't cache files, so PlayMusic loads file each time, that will cause stutters - it will vary depending on computer, but it's never good thing. It should be reworked to allow similar usage as Sound subsystem - multiple music buffers/streams - but with proper music files, load all music in game loading stage, then just play selected stream. Special effects for music files like 3d or something aren't needed.
There is a simple workaround for this for example using SDL2, i posted an example somewhere on forum, so that should work on SteamDeck.
Reworking music subsystem to any other lib (bass, fmod, soloud etc) would be nice, breaking compatibility for older GLB versions may be issue for someone, but focusing on modern platforms, and proper functionality for games should be more important.

Changing all music to sound file types - *wav isn't best solution for all games, if you have more music tracks or they are longer the output on file size will be to high, not even that, loading time will be longer than it should be for such small game, for me it's mitigating sense of using optimized tool like GLB.
Greedy Mouse still loads fast, but does it have 1 music track or more?
Steam OS is using Proton for translating/emulating windows apps, I know that even AAA games are working great with it but native binary is just straight better, and there always can be some possible issues or restrictions with Proton.
To be able to properly (or safely) use SteamAPI (like virtual keyboard) or SteamDeck specific controls Linux build will be most likely required.
Next thing is that other companies may use SteamOS for their handheld devices (Ayn, AyaNeo etc), but not all will be so powerfully, and beside that, native game will be more optimized and won't drain battery so hard as emulated one.
And beside SteamOS there are other Linux distributions, and not everyone want's to configure additional tools like Proton to play some particular game, so normal build option for them would be very welcome.
Yeap coming back from a longer break can be hard, so don't rush and work it slowly to get back to proper state of mind.
My advise is also document each day progress in some way - few sentences in notepad, and more important proper TODO log, with even small task that needs to be done, bugs to fix, new ideas etc. - with their current state. This way is much easier to come back faster after some break.
I always have issues with proper documenting the code, as 'nah I will remember about that' always come to my mind, and later you can guess how it ends :D
I completely forgot about Python requirement, but wasn't it included with older (v14 / v15) instllation of html5 target, hm not sure about that. Any specific Python version is required, like 2.x or newer 3.x?
Good job for testing this, few new question comes to my mind, for example what about simple OpenGL inline like glTranslate etc, will something like that work in WebGL?
It would be great to see additional platforms as such DLC, Linux should be first.
Sadly there is not so much people that likes such small 2d puzzles, people prefer something more artistic driven - like 'The Witness', or it's just rather not popular at moment.

Thanks, to be honest that main menu should be animated/interactive in a way that would show how each game is looking, but this would be just to much work for something like this. But if I will make some 'Action Pack' that would be preferred way to make main menu.
Yes all games are in one exe/project, as those are small games that's not an issue, of course some games have dedicated variables, but most things are shared like map/board structure.
main loop is something like this:
Code (glbasic) Select

do UI stuff (handles inputs, events, drawing both UI and game canvas)
if stage = game_1_
do game_1_logic (AI, tiles animations)
elseif stage = game_2_
do game_2_logic

similar for user input, proper click/key handling function is called depending on game.

Progress with current maze mini-game.
Porting maze generation code to GLB finished, core board generation is done, but most functions like mouse/touch/key events, undo, needs coding/tweaks. 3D maze generation is working nice, not sure about texturing scheme I should use for it, will play with controls for this game mode, now it looks like this: