1,013 karma · joined June 15, 2013
That's not really the case because Godot can load scenes at runtime. The scene format itself (.tscn files) is text based[1] (which is also nice for version control) and could be edited by hand, then loaded into the game at runtime. Though since the Godot editor is open source and totally free it would probably be better just to ship that with the game. It's also really easy to extend so custom game centric plugins that modify the editor itself are also easy to write.
1: Here is a sample scene file, just to give a sense of the format:
$ cat enemies/bandit/BanditSpread.tscn
[gd_scene load_steps=2 format=2]
[ext_resource path="res://enemies/bandit/BanditBase.tscn" type="PackedScene" id=1]
[node name="BasicBandit" instance=ExtResource( 1 )]
fire_period = 0.85
[node name="VK-001" parent="Sprite" index="6"]
visible = true
[node name="LG-Anger" parent="Sprite" index="8"]
modulate = Color( 1, 3.1875, 6, 1 )
[node name="ProjectileWeapon" parent="Hardpoints" index="0"]
projectile_spread_degrees = 60.0
projectile_variance_degrees = 0.0
num_projectiles_min = 6
num_projectiles_max = 6Just wondering if anyone has used a decent pure jvm immediate mode gui library before or have suggestions on immediate mode libraries in general to try out?
For what I am thinking of trying it out with, my needs aren't too high so I might just write something simple with libGDX/lwjgl3.
Expanding a bit this would be great in an IDE, Often I have wanted to simply select a bunch of files and edit them at once (maybe with a special temporary comment between them) as a single file then save the changes back to the individual files. Would be nice if that was a right click context menu item or bindable command.
In C(++) land I could see it being extremely useful for h/c(pp) juggling if the IDE automagically did the combining.
Finally being able to write the comments that separate the files as I type would be really nice when prototyping out new code you want all together before you split it up.
Also perhaps if its common enough certain meta files that describe link other files together could be left as shortcuts in the repo. When you open those the files (or portions of files) they reference are opened for editing.
e.g. something very simple would probably work like the first line found that matches something like:
[Ignore_Non_Words]Summary[IgnorePunctuation&Spaces](Capture)Sounds a lot like the bullwhip effect, https://en.wikipedia.org/wiki/Bullwhip_effect
I don't know if I quite understand this. Is this a web-assembly specific thing, or just the standard C / C++ are "unsafe by default" languages which can cause memory corruption etc because e.g. of off by one errors in pointer arithmetic and so on.
A few other reasons:
The rest of the platform for review and analysis doesn’t have such stringent performance requirements and it would be nice to reuse code.
There also may be some good libraries that are jvm only that your program relies on.
Packing up a fat jar can be a lot easier, less complex and more reliable than building a binary.
Your dev team has a lot Java expertise.
Getting Java to not allocate is not as hard as it seems if you set out to do it from the start. And even if not it’s not impossible because the tooling is so good. You just have to know the right tricks and it can be easier to incrementally learn those tricks for a dev team than learn C++ and it’s ecosystem.
Are you guys currently using SBT? If so, is incremental compilation not working for some reason (or are you not aware of it?).
In terms of time, it would really depend on the size of the project and what is currently in place. It could be a couple of hours to a few days.
BTW my email is in my hn profile you want to discuss more privately.
We used what I would call the package object predef pattern, which basically involved, rolling your own predef to have certain functions / extension classess / objects always in scope through package objects added to each sub-project. And the build would cross-compile both jvm scala and scalajs. It would not take more than a second or two unless one of those predef files were touched (which would fire off effectively a full rebuild).
There are a lot of tricks though to not require 1TB.
And allocation in general is a bad idea even if you don't collect because it scatters stuff all over memory and messes up cache locality. You really, really don't want to allocate in a performance sensitive jvm application if you can avoid it. It's the opposite of a lot of what I was told and taught (e.g. never do object pooling), but empirically, in my experience, allocations are the biggest slowdown. You can get an application a lot faster just by opening up the memory allocation tab in a jmc flightrecording and refactoring the biggest allocators, usually there is a lot of easy to optimize low hanging fruit that will give good performance improvements, even better than focusing on hot spots in code (in my personal experience).
By far the biggest allocator in trading is going to be marketdata and calculations on it. For reading marketdata from the exchange it's best to leave raw data in memory and access it with a ByteBuffer / sun.misc.unsafe. Under this pattern classes have 1 value, the memory address to pass into sun.misc.unsafe, then everything from there on is done with offsets onto that address. For calculations it's better to write things as static functions, or use object pooling.
In the course of optimizing a trading engine I wrote lots and lots of code to get allocations down to zero. It's definitely doable, but best done from the start, I refactored an existing trading engine to do that, it was not very fun.
I haven't had the time to try it out yet ... maybe a good weekend project. I've been using Ubuntu for over a decade now so it might take some time to switch over.
If we do that it would nice to have some experience ready to go on the Industrial farming side.
Also it takes protons to haul the wheat to market, to harvest it, til the soil and plant it. Not to mention all the externalized costs of large scale outdoor agriculture.
Also on mars and the moon beckon, having a closed loop there would likely dwarf anything we can grow on a field here because of the energy costs of moving tons of food into space.
So I have to make my own browser extensions just for one purpose, to set my own custom url for the newtab page. This is also a problem in firefox. It's quite unfortunate that browsers have moved so far from being user-agents, or at least somewhat attentive to the needs of more sophisticated users that instead of getting more robust tooling for user style sheets, custom javascript, apis to block or modify requests we are either forced into sketchy extensions that replicate the basic functionality or can't even do that because it's outright blocked.
Heck firefox has what seem to be perpetually unfixable bugs with bookmarklets not working on CSP[1] sites (for example github) which contradicts the spec and which never seem to be prioritized for being fixed.
1: https://stackoverflow.com/questions/19822716/javascript-book...
If that’s your hypothesis it sounds like there is supporting evidence, as not all sectors have shared in the recent post crash recovery. Eg a lot of retail still trading near lows.
Because hearing things like `sudo apt install chromium` actually aliases to using snap is disconcerting to say the least if true.
I wonder if a similar analog is sheet music. Ten different musicians could follow the sheet and produce 10 different sounding results.