Search Results
Searched for posts by fejoa in all forums

Showing results 1 - 10 out of 1011 total
Modify your search
Posted by fejoa, Dec 20, 2023 at 11:47 pm
For those with write access to Attnam/ivan, results from CodeQL analysis can be viewed here: https://github.com/Attnam/ivan/security/code-scanning

Annoyingly GH has no facility for making those results public, but there are 707 issues total, of which 18 are critical, 23 high, 0 medium, 0 low, 17 error, 127 warning, 522 notes.
Posted by fejoa, Aug 29, 2023 at 3:31 am
And necro members!
Posted by fejoa, Apr 8, 2023 at 6:55 am
Heh, glad it's working as intended and spawning new fans.

I kind of left the web assembly port of the community version as a programming exercise for a future dev. If any of your students want to get their hands dirty, they could use this diff as a starting point:

https://github.com/Attnam/ivan-050-wasm/compare/383ffef341f4...

This is like the minimum changes needed to make the latest version run in the browser. But there are a bunch of additional changes to the source that would need to be ported over. The reason I ported IVAN 0.50 is because there were fewer dependencies, so it was much more straightforward.

Now the community version has a midi library, sounds, png, some other weird graphical features, and a lot more, so I don't know how easy that will fit together in wasm or whether there are any showstoppers.
For the same token I may be fooling myself and it might be really easy. I just wish I had more time for this kind of thing, it's really fun.
Posted by fejoa, Apr 8, 2023 at 6:36 am
Yeah this would be nice to have a Linux binary. Just thinking, someone identified themselves as a maintainer of the ivan Arch Linux package before:

https://github.com/Attnam/ivan/issues/442#issuecomment-40357...

There's a link in there to that package:

https://aur.archlinux.org/packages/ivan

Looks like they ran into a build issue on gcc, so that's why they not running 0.59?
There's probably a straightforward fix for that.

I guess a lot of folk are running Debian-based Linux flavours, so we could work on a package for that?
Posted by fejoa, Mar 31, 2023 at 5:51 am
This post is going to be a tiny bit spoily, but I thought I'd challenge GitHub Copilot's knowledge of IVAN a little bit. Since IVAN is GPL2, Copilot is not supposed to spit out IVAN's source word for word, but we can still make it produce something familiar looking...

The IVAN sources have a lot of unique code references which correspond to many in-game gags and peculiarities. Take Banana::zap() for instance:

https://github.com/Attnam/ivan/blob/5d28c1aa2988e8f8ffa20501...

Jumping into VSCode, I slapped in a bit of Banana::zap() and with a bit of coaxing got it to complete a little bit of authentic GPLed code:



Ok, so we backed Copilot into a bit of a corner there. It seems "disfunctional" is the only word that fits there right? Well that's because it is, since the correct spelling is "dysfunctional". Hah!

Next, let's see if it will spit out more IVAN code:



We have got a nice big chunk of fresh braiiinz Copilot code. It's not quite the rest of the banana::Zap() function, but it sure has some very IVANesque code in there, which I'm sure those familiar with the source's idiosyncrasies will agree.

Looking again, I know IVAN's bodypart system is detailed, but I'm not entirely convinced you can do neck damage. Is Copilot starting to hallucinate? Or is it something more sinister? Is it really a kind of self-sabotaging anti-GPL straight jacket? I don't think we will find out here, but we might find out over time.

With Copilot you can pick other suggestions, so we'll see what else gets suggested by this LLM:



Heh, this one got a genuine laugh from me. First Copilot wants to throw the goddam banana. ("Hey! I'm zappin' here!")
Next, if there are insufficient charges, Copilot wants to inform the player their banana has run out of juice!! Oh my, that had me giggling like a schoolgirl I swear.

Come on Copilot, give me more!



The LLM insists on throwing the banana, not bothering to test whether it hits its intended target it promptly wishes to dispose of the banana by calling SendToHell() -- in other words freeing the memory occupied by the banana. SendToHell() is highly idiomatic to the IVAN codebase, not to mention the banana::Zap() function itself. Using IVAN's code can potentially be a high acuity litmus test to check whether GPLed code comes out of an LLM such as Copilot. Not that any of this nonsense would compile. To be fair, when l learned Copilot was trained on IVAN's source I was like "are you sure you want to do that Bill?", and the results speak in large part for themselves. But all up, it's definitely entertaining at least. Neck damage... Maybe Copilot is onto something?
Posted by fejoa, Feb 7, 2023 at 5:18 am
Hey that's excellent, thanks for tracking that bug down. Yeah feel free to put up an issue on GH, or better yet, just make a PR and we can merge it.
Posted by fejoa, Dec 27, 2022 at 7:56 pm
Say, thanks for the compliments about the music. The real Maestro is Adrian Gin - he composed all the midi tracks in the Attnam/ivan repository.
He wrote the midi player engine in C, so it is a largely standalone library, just with some extra integration into IVAN. I think that library is small enough to load onto some small embedded systems to make a basic synthesizer for example. Quite a feat of engineering.
I can PM you his contact details if you want to get in touch with him. He quite likes talking to strangers

Dwarf Vision looks excellent! I wonder if the DF-on-Steam devs would like to integrate your work into the game?
In the meantime we would like to finish the IVAN mood system, which looks like it could be along similar lines to your ideas and experience. There must be some docs lying around somewhere...
Posted by fejoa, Nov 29, 2022 at 5:42 pm
I'd say focus on that monk. Crafting is entirely optional, as non-player characters don't use that part of the engine. I guess it's a beta feature which hasn't been stabilized yet.
Posted by fejoa, Sep 7, 2022 at 5:27 am
capristo wrote
Must be if it prompted you to make your first post since you joined 11 years ago



But 2011 feels like only yesterday…

Posted by fejoa, Aug 20, 2022 at 7:25 am
I’m amenable to this. It will be IVAN 0.60, not that the release number makes any sense, but be ready with the beer!