Skip Navigation
Labrung: Language Learning App
  • If anyone is decently fluent in a popular language, the help with metadata would be greatly appreciated!

    Might drop a bounty for art and assets in my revolt server. Although, the current icons bring the funny funny.

  • Constructed Languages @lemmy.ml MarshReaper @lemmy.world
    Labrung: Language Learning App

    I hope this practice tool will help.

    cross-posted from: https://lemmy.world/post/19732693

    > Hello. > > Gamified Language Learning Tool in Godot 4.x > > ! > ! ! > > I was working on this several months ago, but decided to completely restart and try again two weeks ago. Had a lot of business to take care of so could only do a few sessions of work. > > Primary reason as to why I scrapped the first project was because I could not figure out a proper "green theming" and colors for the various Android screens. What it looks like on my computer can be totally different. I had the same issue with Fruity Game. > > Basically, this is an open source Duolingo styled language learning app. > > You can create courses/lessons for any language you want. This includes constructed or unofficially recognized languages. > > The metadata repository comes from just the very basic idea of F-Droid. > > Here are some examples of metadata: > > "course": {"Form basic sentences": {"lessons": [{"challenges": [...]}]}, "Order in a cafe": {...}, "Speak about family": {...} > > {"comment": "", "challenges": [{"type": "choice", "inquiry": "¿Tú bebes agua?", "options": [...], "correct": [...]}]]} > > The README goes more in depth on how everything is structured. > > Forgive me for lack of comments within the code. I wanted to get a quick prototype out to show a friend. I will make everything more readable soon enough. > > The name probably makes no sense, but I could not find anything else. > > NOTE: The app currently tries to detect your system language to only download courses from that, but there is only "en_US" available. > > Web and Desktop versions are planned! > > As a conlang enjoyer: > - not a fan of Anki > - polyglot is java > - conlang workshop is in development > > CODE REPOSITORY: https://codeberg.org/MarshReaper/Labrung > METADATA REPOSITORY: https://codeberg.org/MarshReaper/Labrung_CourseMetadata

    0
    Labrung: Language Learning App

    Hello.

    Gamified Language Learning Tool in Godot 4.x

    ! ! !

    I was working on this several months ago, but decided to completely restart and try again two weeks ago. Had a lot of business to take care of so could only do a few sessions of work.

    Primary reason as to why I scrapped the first project was because I could not figure out a proper "green theming" and colors for the various Android screens. What it looks like on my computer can be totally different. I had the same issue with Fruity Game.

    Basically, this is an open source Duolingo styled language learning app.

    You can create courses/lessons for any language you want. This includes constructed or unofficially recognized languages.

    The metadata repository comes from just the very basic idea of F-Droid.

    Here are some examples of metadata:

    "course": {"Form basic sentences": {"lessons": [{"challenges": [...]}]}, "Order in a cafe": {...}, "Speak about family": {...}

    {"comment": "", "challenges": [{"type": "choice", "inquiry": "¿Tú bebes agua?", "options": [...], "correct": [...]}]]}

    The README goes more in depth on how everything is structured.

    Forgive me for lack of comments within the code. I wanted to get a quick prototype out to show a friend. I will make everything more readable soon enough.

    The name probably makes no sense, but I could not find anything else.

    NOTE: The app currently tries to detect your system language to only download courses from that, but there is only "en_US" available.

    Web and Desktop versions are planned!

    As a conlang enjoyer:

    CODE REPOSITORY: https://codeberg.org/MarshReaper/Labrung METADATA REPOSITORY: https://codeberg.org/MarshReaper/Labrung_CourseMetadata

    3
    The Internet is becoming genuinely unusable without an ad blocker
  • Wonder if article sites are thinking about turning the text into an image and injecting advertisements in between sections. 😀 👍

  • Microsoft in damage-control mode, says it will prioritize security over AI
  • In today's news, Microsoft commits treason against the United States Government.

    !remindme 6 months

    I wonder what the outcome will be.

  • ClamAV Frontend in Godot
  • I am having thoughts that I wonder if others may agree with. What if with the use of this tool on most linux newbie systems, the background processes of clamav scanning causes slowdown on their computers causing doubt in their try of Linux?

  • ClamAV Frontend in Godot
  • "ClamAV is a free and open-source antivirus software and a cross-platform antivirus toolkit. Its primary purpose is to detect various kinds of malicious software, i.e. viruses, worms, trojans, rootkits, and many other forms of possible threats to your system."

    As ClamAV only offers a command line interface to its features, I elected to make a pretty UI to give less technical end users an easy way to manage this antivirus backend.

  • ClamAV Frontend in Godot
  • I am not too sure about Godot UI tools in relation to python GTK UI tools. Godot may provide an easier environment to create software applications. I hope we see more of this use! I also hope there are no issues with security or concerns I should be aware of.

  • ClamAV Frontend in Godot
  • I do not find it very useful to myself as we all know that "common sense is the best antivirus", but I was a bit upset how run down the front end applications for it have been.

  • ClamAV Frontend in Godot
  • It's the best I know 😆

  • ClamAV Frontend in Godot
  • When I searched for Windows Defender, that was the first image I saw 😅 I will probably do a makeover someday as I wrote the code in a way that makes UI changes easy.

  • ClamAV Frontend in Godot
  • Do not worry! There is no need to install the game engine at all or compile your own binary. I just write that on the release description because it's bad practice to run random files from the internet with escalated privileges.

    If it were to be distributed, all one would need is to install and open.

  • 1 month of Linux Mint and some thoughts.
  • I have been meaning to create a mspaint for Linux. I typically try to copy the layout and features almost exactly so people can enjoy free and open source versions of software they may miss.

    I'll get right on to it as soon as I can, but I have been having trouble with drawing programs in Godot.

  • ClamAV Frontend in Godot

    This might be good. Hope you enjoy what I made.

    cross-posted from: https://lemmy.world/post/16356895

    > I hope this software is useful to those who feel they need it. > > Available on codeberg: https://codeberg.org/MarshReaper/GuardianSecurityCenter/releases/latest > > ! > > This is a client that makes use of the ClamAV packages available in most repositories. It is made to replace ClamTK and check that box for people wanting to use Linux. > > Some features are still in development, so not for production use just yet. But, you can run a quick scan and update signatures which is basic enough for most users. > > I saw a video DistroTube posted and it made me a bit confused. It was about the Kasperky being offered on Linux. If you have seen the comments you would understand. > > Anyways, this had me remember people I know ask me about anti viruses on Linux. I tried ClamTK, but it is very unintuitive and has a somewhat broken workflow. > > I hopped on Godot and searched for an image of a popular antivirus software. I then made the software using the pretty layout that many people are used to. > > I learned some things about Godot and I hope others will too with this project. Enjoy! > > Also, if anyone could help me find the best way to distribute this software that would be great! (flatpak? repos? it requires administrative privileges)

    8
    People who have installed Linux on their parents computer, how did it go? Which distro do you recommend? Any tips?
  • Linux Mint. She opens Firefox to check her emails and work panel. Only complaint is that it is my old giant laptop that I let her have. I will give her a different one soon.

  • ClamAV Frontend in Godot

    This might be good. Hope you enjoy what I made.

    cross-posted from: https://lemmy.world/post/16356895

    > I hope this software is useful to those who feel they need it. > > Available on codeberg: https://codeberg.org/MarshReaper/GuardianSecurityCenter/releases/latest > > ! > > This is a client that makes use of the ClamAV packages available in most repositories. It is made to replace ClamTK and check that box for people wanting to use Linux. > > Some features are still in development, so not for production use just yet. But, you can run a quick scan and update signatures which is basic enough for most users. > > I saw a video DistroTube posted and it made me a bit confused. It was about the Kasperky being offered on Linux. If you have seen the comments you would understand. > > Anyways, this had me remember people I know ask me about anti viruses on Linux. I tried ClamTK, but it is very unintuitive and has a somewhat broken workflow. > > I hopped on Godot and searched for an image of a popular antivirus software. I then made the software using the pretty layout that many people are used to. > > I learned some things about Godot and I hope others will too with this project. Enjoy! > > Also, if anyone could help me find the best way to distribute this software that would be great! (flatpak? repos? it requires administrative privileges)

    27
    ClamAV Frontend in Godot

    I hope this software is useful to those who feel they need it.

    Available on codeberg: https://codeberg.org/MarshReaper/GuardianSecurityCenter/releases/latest

    !

    This is a client that makes use of the ClamAV packages available in most repositories. It is made to replace ClamTK and check that box for people wanting to use Linux.

    Some features are still in development, so not for production use just yet. But, you can run a quick scan and update signatures which is basic enough for most users.

    I saw a video DistroTube posted and it made me a bit confused. It was about the Kasperky being offered on Linux. If you have seen the comments you would understand.

    Anyways, this had me remember people I know ask me about anti viruses on Linux. I tried ClamTK, but it is very unintuitive and has a somewhat broken workflow.

    I hopped on Godot and searched for an image of a popular antivirus software. I then made the software using the pretty layout that many people are used to.

    I learned some things about Godot and I hope others will too with this project. Enjoy!

    Also, if anyone could help me find the best way to distribute this software that would be great! (flatpak? repos? it requires administrative privileges)

    17
    WebSocket not receiving anymore updates after initial connection
  • I wouldn't have gotten here without doing almost all of the previous steps. I even learned a lot about Godot and other libraries.

    To solve this issue, go to PROJECT SETTINGS -> NETWORK -> LIMITS -> Max In Buffer (KB) & Max Out Buffer (KB) to a generous 1024 AND (I think) set Max Buffer (Power of 2) to a whopping 256.

  • WebSocket not receiving anymore updates after initial connection
  • UPDATE

    I posted this before testing out an older version of godot and it seems to work just great! But as in the github issue, that is because of changes with how the protocols worked and what headers are sent!

    Here is the code for use in Godot 3.1.1:

    extends Node
    
    var _client = WebSocketClient.new()
    
    func _ready():
    	print("connecting...")
    	_client.connect("connection_closed", self, "ws_closed")
    	_client.connect("connection_error", self, "ws_connection_error")
    	_client.connect("connection_established", self, "ws_connection_established")
    	_client.connect("server_close_request", self, "ws_close_request")
    	_client.connect_to_url("wss://ws.revolt.chat/?version=1&format=json&token={token}")
    
    func ws_closed(clean):
    	if !clean:
    		print("websocket closed")
    	else:
    		print("websocket closed cleanly")
    
    func ws_connection_error():
    	print("websocket connection failed")
    
    func ws_connection_established(protocol):
    	print("we're connected using protocol: ", protocol)
    
    func ws_close_request(code, reason):
    	print("closed with code: ", code, " and reason: ", reason)
    
    func _process(delta):
    	if _client.get_connection_status() == WebSocketClient.CONNECTION_DISCONNECTED:
    		return
    	print(_client.get_peer(1).get_packet().get_string_from_utf8())
    	_client.poll()
    
  • WebSocket not receiving anymore updates after initial connection
    codeberg.org GodotRevolt/src/DESKTOP/scenes/Websocket.gd at main

    GodotRevolt - Revolt Client made in Godot

    GodotRevolt/src/DESKTOP/scenes/Websocket.gd at main

    Godot web socket client is not receiving anymore updates from Revolt web socket server (https://developers.revolt.chat/stack/bonfire/establishing) after first data is received

    first data is an Authentication success message: { "type": "Authenticated" }

    This success message comes when a successful token is received.

    Since there are no updates and you cannot send any data after initial connection (data_received never called again, so put_packet() not working apparently), the token will have to be in query parameters:

    wss://ws.revolt.chat/?version=1&format=json&token={token}

    in order to even receive that success message.

    An issue relating to web sockets was opened: https://github.com/godotengine/godot/issues/27560

    The user claims that one of the headers causes the connection to cease.

    The problem header is Connection: close, Upgrade

    ``` GET / HTTP/1.1 Pragma: no-cache Cache-Control: no-cache Host: echo.websocket.org Upgrade: websocket Connection: close, Upgrade Sec-WebSocket-Key: HKWU1xOVV6PP6HXjcIWMDQ== Sec-WebSocket-Version: 13

    HTTP/1.1 101 Web Socket Protocol Handshake Connection: Upgrade Date: Sun, 31 Mar 2019 19:09:01 GMT Sec-WebSocket-Accept: 0IHc3riAKJz52YmkLVcWrDHvaYs= Server: Kaazing Gateway Upgrade: websocket ```

    IMPORTANT!!

    What SHOULD happen and what happens on other clients like websocketking, piehost, or this one is receiving a READY update

    the big issue:

    connect_to_url() is the only thing that sends data or the connection closes or a protocol error

    It would be of great help if anyone could give any little piece of knowledge or suggestion on this. code

    2
    Terrain for Godot 3.x
  • UPDATES

    For this new chunking, each chunk gets a spatial for each of its terrain texture multimeshes. It is also functioning properly now. It simply counts up to the amount of necessary chunk_size points then starts a new chunk.

    A chunking system that is actually good | better chunks 2b091f189e

    Each texture now has its own multimesh | terrain is now textured + generate texturedata d03de637eb

    Quickly set the size of each terrain node/point | cleanup and point size 2bff7a7cde

  • Terrain for Godot 3.x
  • If you need help implementing this into your game, send me a message or email. I'll see what I can do without a guarantee.

  • Terrain for Godot 3.x

    My previous post on figuring out a terrain implementation is here: https://lemmy.world/post/8540418

    Terrain Project codeberg

    Player Controller used is also available codeberg

    I was quite upset for a long while that I could not figure out how to optimize my terrain systems. This I have now figured out.

    What I am working on is three different processed terrain components:

    • Topology Data (TPD) # 3D Positions of where each terrain point/node should be
    • Texture Data (TXD) # Which texture each terrain point uses
    • Special Data (SPD) # Special data for specific terrain points

    I have finished rendering a multimesh of the topology data and it runs smoothly on my rather old computer just as I need for all my games.

    The problem of mapping a collision system to the multimesh was something that I did not like attempting to solve on my previous tests from last year. I have found a solution. I misunderstood what was causing the lag and assumed collisionshapes could cause as much fps drop as meshinstances.

    !

    This system is built to load in separate parts.

    • Generate terrain if necessary
    • Chunk terrain data
    • Render multimesh
    • Instance collisionshapes for individual terrain points

    My next step is either of the following:

    • Connect vertex points for smooth terrain
    • Create python script (or godot software) for heightmap editing and creation
    • Figure out generation of single texture image to blanket over multimesh

    I do intend to make this terrain destructible. I decided some at least four months ago that I would only render the terrain if an update signal was pushed either from a multiplayer server or the client side.

    I will create a terrain editor for the engine sometime but that is not on the main plan. Height map conversion to TPD format will come first. Caves and underground are completely possible as well of course with the most recent commit.

    This development will give me a huge step forward in all of my projects as many of them require this sort of terrain system. Also I was too lazy to figure out that one terrain plugin I suppose.

    2
    Game derulepment
  • What game engine will you be working in? (nudge nudge 🤖)

  • [Q] Optimized Terrain

    Hello Everyone! I apologize if this post isn't as organized as it should be.

    Every now and then I try my hand at making a 3D terrain system for my game. It's typically a gdscript that reads coordinates in a json, dict, array, etc and then instances each point as a terrain node/tile (so I can dynamically change each tile). The primary issue I run into is lag with reading this data over and over causing lag and the many instances of nodes themselves potentially causing lag.

    I have successfully implemented a render distance before, which I believe fixed the instance count (IRC works good for max 5k objects). The issue that I believe stopped me was the lag from looping over an extremely long dictionary every second (or less). The looping was so when the player moved, it rendered a new group of tiles based on the player location.

    It took a long time to ask someone else for help with this because I didn't keep track of my small terrain test projects. I do not have any examples of what I've done before at the moment, so take this as someone asking for help on finding and setting up an easily managable 3D terrain system for Godot 3.5.x.

    0
    RISC-V hardware ready for daily driving?

    This is a simple request for information regarding the current viability of RISC-V hardware out in the market and others experience with performance and stability.

    I have done minimal online searching before posting here, but I would like to hear the present opinions of everyone. I am not a super computer guy, so I don't quite understand the current ability of Lichee Pi and VisionFive other than having capability for 8gb and above 1.0 GHz.

    Somewhat paranoid as to what my intel cpu is doing right now, so I have had RISC-V on my mind for a few years. I have never had the most advanced computers and the highest graphics in games I play would be SuperTuxKart or GMOD.

    I just got an i7 for a cheap bundle and it amazed me. On an Intel Architecture scale, what would be the highest comparison of latest hardware taking advantage of RISC-V without the suspicious backdoors and proprietary nonsense.

    I have seen ExplainingComputers run applications I use. From what I've seen, it just looks like any old laptop performance I'd pick up on ebay. Is this the time to switch? What are your predictions on consumer hardware for the next decade in relation to RISC-V?

    I use Godot 3.5.2 to develop games for x86_64, can I just open that with some compatibility system?

    Feel free to bash me for not finding a search result that was plain as day. It happens sometimes.

    22
    WTF???
  • I believe that all of these major players are being controlled at almost gunpoint into destroying their platforms and making horrible business decisions (facebook, twitter, youtube, etc).

  • Do they?
  • thought it said Electric EP

  • WTF???
  • Maybe after a few too wrong moves, he's trying to tank the company and make people think he's doing it on purpose so he could say that all this time he's been doing it on purpose. On purpose on purpose.

  • MarshReaper MarshReaper @lemmy.world

    https://marshreaper.codeberg.page

    Posts 9
    Comments 32