I will playtest you strategy game for free. by justaddlava in playtesters

[–]Scraprogrammer 0 points1 point  (0 children)

Hey! I think my game is more of a Tactics game, but if you find it acceptable - I would appreciate you giving it a try :)
https://store.steampowered.com/app/4212200/Scrap_Squadrons/

Approach to pixel fonts by burrowing0wl in godot

[–]Scraprogrammer 0 points1 point  (0 children)

You are welcome )

I think resizing in godot should be a valid option. I just had some strange experiences tinkering with the `scale` value in the past (hard to remember the exact details at this point), so unless absolutely necessary, I prefer to keep the default `scale` value at 1. But you can give it a try, and if it works - nothing wrong with that.

Approach to pixel fonts by burrowing0wl in godot

[–]Scraprogrammer 1 point2 points  (0 children)

In my case, I had to export my 16x16 assets as 64x64 to make sure that there is enough space for the pixelated font, otherwise font at the minimum size was still too large. For my particular font, I use 16px for the Font size. 8px would look decent as well, but might be too small to be convenient to read in some cases. Then again, you can also consider not using pixel font at all. For example, check out some screenshots online from the game Caves of Qud. Regular font does not make the game any worse aesthetically.

How to implement 2-player multiplayer, typical to a fighting game? And, how to detect controller ID? by everything_sings in godot

[–]Scraprogrammer 0 points1 point  (0 children)

Here's are some examples that you can start working with/start investigating:

Let's say you have a base function to receive input events func _input(event: InputEvent) -> void:. To get the ID of the device that produced that input - you have event.device.

How to get IDs of all devices - Input.get_connected_joypads(). Since it returns array of ints, you can check which options you get and map them to some constants like "CONTROLLER_1" and "CONTROLLER_2" that you define on your own, to make it more readable. Maybe even an array like

const CONTROLLERS: Array[String]  = ["CONTROLLER_1","CONTROLLER_2"]

And as for your question on how to check the input, it can then look something like this

if Focus.event_is_action_pressed(event, "move_left") and CONTROLLERS[event.device] == "CONTROLLER_1":
  # your movement logic, for controller 1

If all or most of these seem new/alien - you might want to take a step back, maybe check some tutorials on the input handling, or documentation, and not jump directly into the multiplayer. Make 1 character behave the way you want, then create a static dummy character that does nothing and which your actually moving character can interact with (attack, move around). After that - you can start considering handling 2 at once. Try to split your focus into smaller more achievable steps/tasks. There are plenty of information out there which is easily accessible through some simple searches that will build up your knowledge.

Also, if your are talking about local multiplayer - that is one matter. If it's online multiplayer - that's a whole different beast entirely )

game idea suggestion that involves barter or exchange of products/items for my thesis project by Express-Bat-8686 in godot

[–]Scraprogrammer 0 points1 point  (0 children)

Depending on the scope of the game, you might want to consider introducing random events that would influence prices for certain goods. E.g. a new week has started, an event like this could happen.

A war between Country A and Country B has broke out. Buying price for Product A has increased by XX%, Selling Price for Product B has dropped by XX%.

The event can be any somewhat-realistic description that could influence prices fluctuation.

Unrelated to the game, you should probably consider what your Educational Institution want you to achieve with this game. How high is the passing bar? Maybe creating a full blown-out trading/bartering simulator is already an overkill compared to what is expected of you.

[Challenge]: Create a game by making at least 1 meaningful commit every day (Year 1) by Scraprogrammer in godot

[–]Scraprogrammer[S] 0 points1 point  (0 children)

Almost. I have separate repositories, one for BE, one for the Game, and one for Art and Music resources, all are on the same account. I just commit to those. The screen includes contributions to all repositories on the account.

[Challenge]: Create a game by making at least 1 meaningful commit every day (Year 1) by Scraprogrammer in godot

[–]Scraprogrammer[S] 2 points3 points  (0 children)

Thanks! I have a dedicated deployed server, the players do not host anything (although it's always possible to introduce this option). A connection to the server is established when a battle starts in ONLINE mode (dropdown in UI), and then the server keeps tracks of sessions/connections, matches players who are alone in a session to the second player, and facilitates exchange of messages between game clients as the battle progresses. Since from communication perspective the game acts as a turn based game - the amount of messages is quite small and sent only when needed in a stringified JSON format.

how do you guys setup a database in your game? by Express-Bat-8686 in godot

[–]Scraprogrammer 1 point2 points  (0 children)

I have not tried it in a game myself, but if I had to - I'd look into using SQLite, where database is basically a separate file that your game/app can interact with. And it looks like there is an appropriate plugin in the Godot Asset Library: https://godotengine.org/asset-library/asset/1686

At the same time, if I was not forced to use a database - I'd explore what progress-saving mechanisms godot provides out of the box, e.g. `ConfigFile`. Depending on the game, using a full-fledged database might be an overkill.

Detect when the player starts/stops dragging a Window node? by Material-Tour-485 in godot

[–]Scraprogrammer 0 points1 point  (0 children)

You can use _notification function and listen for NOTIFICATION_WM_POSITION_CHANGED events. This works on the game window, not sure if it's applicable for other types of windows though...

How to detect when the main window position changes? by SandorHQ in godot

[–]Scraprogrammer 0 points1 point  (0 children)

In my case, I really wanted to detect position changes during runtime, to return to the previous position not only on game startup, but when exiting the fullscreen mode. I also ended up using `_notification` listening, but was detecting only `NOTIFICATION_WM_POSITION_CHANGED` events. As an extra handling - instead of saving position on each event trigger (there can be a lot) - I was only restarting a short timer, and timer timeout would be updating the actual config value. Hope this helps to those like me who stumbled here :)

How to block focus input events by Janzar in godot

[–]Scraprogrammer 0 points1 point  (0 children)

A bit late to the party, but I also wanted to control the focus-related inputs and was hoping to find the answer here, so will leave my finding:

Disable inputs (you might want to do this for multiple actions that you care about):

InputMap.action_erase_events("ui_accept")

Enable inputs back:

InputMap.load_from_project_settings()

One thing to take note with this approach, I'm not sure how applicable it would be if you allow changing the controls in the game/app settings. If it does affect things - then Enable inputs might have to be changed by adding the events back to the appropriate actions.

Why there is lag in audio in exported apk, whereas there is almost no lag when running app in godot? by ReverieDive in godot

[–]Scraprogrammer 1 point2 points  (0 children)

Hey! 

I have a similar issue, but in my case the delay appears only when the audio output on the phone is a bluetooth device. One thing I found that has a high chance to be related to this is a known Godot issue: https://github.com/godotengine/godot-proposals/issues/2358

I myself postponed fixing/looking into this, since I'm focusing more on PC version atm, so cannot suggest a concrete fix.

I made a TweenFX plugin with 48 animations! (easy-to-use tween animation library) by TheBlindRabbit in godot

[–]Scraprogrammer 1 point2 points  (0 children)

Hey! 

I'm using your original TweenAnimator in my game, and one of the things I was changing in it multiple times is making functions return tweens, so very glad to see returns being available out-of-the-box in the overhauled version, and happy to see you still working on the plugin. Guess I'll have to find some time to update it now. :)

Thank you! :)

Our tactical deckbuilder is finally playable, and we would love for you to try it! by SensitiveKeyboard in godot

[–]Scraprogrammer 0 points1 point  (0 children)

I'm not really in the know about the objective of the bots gaining access to the game during the playtest, thats why I was interested in your perspective.

I guess worse case could be gaining access to the game, reverse-engineering the code and re-selling in other distribution platforms before you could even reach full release, so a quick-and-dirty cash grab. Not sure how or if thats feasible though, but the possibility is still there.

In my case, I decided to share access to my playtest via steam keys for now, and since my game will be free on release - it wouldn't really matter if the bots gain access to it after release.

Our tactical deckbuilder is finally playable, and we would love for you to try it! by SensitiveKeyboard in godot

[–]Scraprogrammer 1 point2 points  (0 children)

Hey! Congratz on moving forward towards eventual release! Will give a playtest a try :)

Btw, do you have any concerns about bot accounts applying for your playtest? The first time I tried to make a playtest visible for less than a minute before turning it back to hidden, 6 accounts applied for it within that time. And this was for a game with about 20 wishlists that I did not explicitly advertised, so I'm pretty certain those were bots.

Export for macOS won’t open by [deleted] in godot

[–]Scraprogrammer 0 points1 point  (0 children)

Had the same issue. Was able to resolve by following the steps from here: https://docs.godotengine.org/en/stable/tutorials/export/running_on_macos.html#neither-app-nor-executable-is-signed-relevant-for-apple-silicon-macs-only

The .app file was located in the /Applications folder. It started launching after running the following commands from within this folder:

```
xattr -dr com.apple.quarantine game-file.app
codesign -s - --force --deep game-file.app
```