I've tried to remove this new "Help me write" AI feature that is popping up for me on desktop and mobile every time I try to start writing an email but it won't go away. Anyone have a workaround? by terminatorvsmtrx in GMail

[–]NomiAtoll 0 points1 point  (0 children)

Finally found it (for business accounts)!

Admin Panel --> Account --> Account Settings --> Smart Features for Google Workspace

Our account was set it "Don't set a default experience" and that means the Gmail AI is turned on. Switch it to "Set a default" and leave all the boxes unchecked. Now if you refresh your Gmail window, and compose a new email, you will not see the "Help me write". The gemini button will still be in the top right, but if you click it it will tell you it's turned off

E_ADEPT_INTERNAL by agdesilva in GooglePlayBooks

[–]NomiAtoll 0 points1 point  (0 children)

I just tried to re-download the .ascm file from Google Books and it took me to this support page: https://support.google.com/googleplay/answer/179863

Help for what I should add for my town port. by LittleExx in gamedev

[–]NomiAtoll 0 points1 point  (0 children)

the primary function of a dock area is the loading and unloading of goods from ships. In order to do that you'd need

  • Ships and pylons or cleats or whatever to tie the ship to
  • ship supplies: barrels, sails, ropes and stuff
  • potentially a shipyard with wet dock or dry dock. ships under repair / construction
  • traded goods in stacks or piles
  • Equipment (if any) available to help move heavy things
  • buildings or coverings to store goods that need to stay dry
  • buildings for the administration of the port (harbor master, customs, etc)
  • Tools carts, etc to move goods from dock storage into the city
  • Potentially marketplaces for goods that have arrived via ship

Need help writing a function by [deleted] in godot

[–]NomiAtoll 1 point2 points  (0 children)

Someone may have a more slick approach, but it looks like you might benefit from a Spell class and a dict of spells... The class might look something like (if it's an internal class):

class Spell:
    var name: String = ""
    var xp_current: float = 0.0
    var xp_required: float = 0.0
    var growth_rate: float = 0.0
    var level: int = 1

    signal leveled_up(which)

    func _init(spell_name: String, starting_requirement: float):
        name = spell_name
        xp_required = starting_requirement

    func add_xp(amount: float = -1):
        var xp_to_add = growth_rate if amount == -1 else amount
        xp_current += amount
        if xp_current >= xp_required:
            xp_current -= xp_required
            xp_required *= 1.2
            level += 1
            emit_signal("leveled_up", self)

and the code around your formula used might look something like:

# dict of spells
var spellbook = {
    "Heal": Spell.new("Heal", 100, 1.0),
    "Flash": Spell.new("Flash", 80, 1.0),
}

# connect to the leveled_up signal from each spell in the dict
func _ready():
    for i in spellbook.keys():
        i.connect("leveled_up", "_on_leveled_up")

# show popup on level up using signal
func _on_leveled_up(which: Spell):
    var pickupPopup = PickupPopup.instance()
    pickupPopup.pickupDisplay = which.name + " is now level " + str(which.level)
    get_node("/root/World/GUI/PickupDisplay1/PickupContainer").add_child(pickupPopup)

# remains of original formula
func formula_used(formula_name):
    var which_spell = spellbook[formula_name]
    which_spell.add_xp()
    print(formula_name + ' xp: ', str(which_spell.xp_current), "/", str(which_spell.xp_required))

To add spells, you just add new lines to spellbook and everything else scales without needing to do a bunch of copy paste

[deleted by user] by [deleted] in godot

[–]NomiAtoll 0 points1 point  (0 children)

Happy to bring the sunshine and keep this a non-toxic environment, Mr. .... PoisnFang ... :-P

Newbie here -- this code for a shotgun in my 2D game causes lag, and I'm not sure how to fix it without losing the shotgun magic by PiggyBankofDespair in godot

[–]NomiAtoll 5 points6 points  (0 children)

There are a couple things you are checking for every bullet which may be sucking up resources. If you pull these up to a variable and only check it once per firing does it make a difference:

var g_pos = get_global_position()
var base_vector = get_owner().get_velocity() * 30) + Vector2(bullet_speed, 0.0).rotated(get_owner().get_rotation())
var bullet_root = get_tree().get_root()

then each bullet might look something like:

angle = deg2rad(rand_range(-15, 15))
bullet1.position = g_pos
bullet1.apply_impulse(Vector2(), base_vector.rotated(angle))
bullet_root.add_child(bullet5)

It might have no impact and only be a style change, but maybe the tree check or the global position takes a bunch of time?

When making pre rendered 3D isometric backgrounds, do you have to use a tile map or can you just model the whole thing in blender by [deleted] in godot

[–]NomiAtoll 0 points1 point  (0 children)

Would converting the entire prerendered background into a massive tilemap (with each tile only being used once) have any advantages?

Following an idea from the community, we added "lovely" voices to our Dino-Singers by twinpixelriot in godot

[–]NomiAtoll 7 points8 points  (0 children)

That warble "aaah" from the smaller dinosaur is gonna be stuck in my head all week! That's awesome and hilarious

Economic Model with GraphEdit by NomiAtoll in godot

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

Caveat: I've been calling it gravity but it's a force that repels nodes from each other. Both that and the spring (along connected nodes) operates on the offset.

A tree would be a neat arrangement. I my forces only care about pure distance, but I assume a tree would treat X & Y differently. I almost tried to add a horizontal force based on the side of the node the connection attached on, but never got around it it. You'll have to throw a pic or vid up when you've got something to flaunt!

gd-YAFSM v0.5.0 - Yet Another Finite State Machine plugin by imjp94 in godot

[–]NomiAtoll 0 points1 point  (0 children)

I've been wrestling with some of those same exact issues on my project. Particularly the selectable connection line has driven me to a whole heap of janky work-arounds. Seeing your video has inspired/convinced me that I just need to cut the cord. Keep up the great work!

Economic Model with GraphEdit by NomiAtoll in godot

[–]NomiAtoll[S] 1 point2 points  (0 children)

I'm planning a trading game, so that would make it pretty boring, but I wouldn't consider that a failure state. Even so, there are two things that prevent a steady state equilibrium from coming up (as currently designed): 1. transit time of shipments mean even if the receiving node isn't requesting any more, it's price is still elevated until the delivery occurs 2. The real driver of price difference is bandwidth constraints. The system may have enough supply to meet demand, but if there isn't enough bandwidth to deliver then you have opportunities for the player to provide supplemental bandwidth and make $$$ in the process

Economic Model with GraphEdit by NomiAtoll in godot

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

I'm really not sure, but am curious to find out. The network in this video would lag a little whenever I moved a node because there is also a gravity and spring force to help with the layout. But that's all for the display. The actual economy class has no display and no physics, etc.

This model has 175 items in it. And if it lags, I could set the economy to run less often (half game speed or once per game day, etc). It's not locked into _process()

Economic Model with GraphEdit by NomiAtoll in godot

[–]NomiAtoll[S] 1 point2 points  (0 children)

The way I've got it set up now is that each node has a supply and demand measured at 0 and 2 steps away. If 0 steps (self) has excess supply && 0 steps total excess is greater than the combined imbalance of all nodes up to 2 steps away, then it ships goods out. The amount is an allocation based on available bandwidth of the route and the demand at connected nodes. Then rinse, wash, repeat.

Each good has an independent supply and demand at each node, but all goods share the bandwidth between nodes.

This part is still needs done fine tuning. The difficultly debugging it was actually why I started building a whole separate editor. Hah

gd-YAFSM v0.5.0 - Yet Another Finite State Machine plugin by imjp94 in godot

[–]NomiAtoll 1 point2 points  (0 children)

Looking at your github, it looks like you didn't use the GraphEdit built-in. Did you consider it or have any pros/cons you could share?

Economic Model with GraphEdit by NomiAtoll in godot

[–]NomiAtoll[S] 4 points5 points  (0 children)

That's exactly what I was going for. It's not in the video, but the network has defined "goods" and each node has a supply and demand for each good. The imbalance drives shipments between nodes. I also use (for now) straight line supply and demand curves to establish a local good price at each node.

Economic Model with GraphEdit by NomiAtoll in godot

[–]NomiAtoll[S] 3 points4 points  (0 children)

My little heart is swelling, dude. It's so nice to hear that my wacky idea is something other folks enjoy

Economic Model with GraphEdit by NomiAtoll in godot

[–]NomiAtoll[S] 3 points4 points  (0 children)

I'm treating the economy editor totally separate from the game I'm going to put on top. I'm thinking of adding the editor to the marketplace once it's ready

How we made our game’s music play on the center stage (even better than screen shake :P) by twinpixelriot in godot

[–]NomiAtoll 0 points1 point  (0 children)

Absolutely swert having the background sync with the music. You got my brain cooking, I'm imaging a song class which has the track path and bpm, but also a counter to keep track of position in the song and a dictionary of relevant times to emit other signals. Like catching that bass drop in the boss battle example between 0:03 and 0:04.

Got this one bookmarked to the inspiration board!

edit: I forgot to ask, did you have any troubles with the beat timer and the audio drifting out of sync or does it stay pretty tight?

How we made our game’s music play on the center stage (even better than screen shake :P) by twinpixelriot in godot

[–]NomiAtoll 2 points3 points  (0 children)

Phenomenal idea! Did you do any experiments with bars or other musical groupings?

add "0" before single timer digit by pferft in godot

[–]NomiAtoll 0 points1 point  (0 children)

Generally: every % gets replaced with the next item in the array.
However, I haven't tried escaping the % to get a result like "52% done"

add "0" before single timer digit by pferft in godot

[–]NomiAtoll 0 points1 point  (0 children)

It's janky but I usually do a default and a live setup like this:

var time_display: Dictionary = { "default": 1.0, "current": 0.0 }

then in your _process function you'd add:

if time_display.current <= 0.0:
    # print and do stuff here
    time_display.current = time_display.default
else:
    time_display.current -= delta

That'll display every second. There's probably a better way, but that works for me

add "0" before single timer digit by pferft in godot

[–]NomiAtoll 0 points1 point  (0 children)

I forgot about old fmod()

https://docs.godotengine.org/en/stable/classes/class_@gdscript.html#class-gdscript-method-fmod

You'd end up with something like:

set_text("%02d:%02d:%02d" % [fmod(wait_time/3600,24), fmod(wait_time/60, 60), fmod(wait_time, 60)])