Posts by beko

    bremen_cog_21-1536x864.jpg


    Some weeks ago I started making a cog ship for Rising World based on NZ-43 (14C) and while I was happy with the basic result it helped me mostly to get an understanding how such ships were made.


    I never cared much about ships before and had absolutely no idea about this topic at all. During my research to close that gap, which consisted mostly of reading into Flevobericht, 331 (ISBN 9036910862) and following the awesome actual model builds by @silverman834 at https://modelshipworld.com/top…cale-120-c-1410-finished/ did I decide to reapply the lessons learned and go for the famous so called “Bremen Cog” ship.


    This is a very specific ship type that was widely used from the 12th century on for trade via the sea. It was between 15 to 25 meters long, had one square sail and was crewed by approximate 12 people that worked in shifts. Unlike other sailing ships it was very reliant on wind direction but it’s flat bottom permitted it to be beached without taking damage so it could be unloaded everywhere e.g. during low tide. The aftercastle on it’s stern deck makes for a very distinct impression and can be recognized from many period depictions of ships. Several full sized replica have been built to this date.


    bremen_cog_20-1024x576.jpg


    The “Bremen Cog” is the best preserved example of this ship type. It’s wreck from ~1380 was discovered in the Weser in 1962. It took almost 40 years until it could be presented to the public. It’s my understanding that the conservation techniques applied had to be developed first. It’s on display in the German Maritime Museum and the cog apparently played a huge role in the founding of the museum itself: https://www.dsm.museum/en/exhibition/exhibitions/bremen-cog


    The museum is located in 27568 Bremerhaven / Germany (and closed during the wintertime). No idea when I’ll get the chance to visit this but the museum does also foster a YouTube channel and one of the most recent videos up on their channel is a drone flight around and through the Bremen Cog made by Dennis Vogt so make sure to check this out: https://www.youtube.com/watch?v=KjYigiyF014


    So why did I take this effort on me to recreate this famous ship type once more in a game? Curiosity and hyper focus I guess. I can tell you it was cumbersome because the game does not support bend objects so everything is basically a block. It does also not feature tools for e.g. Bézier curves or something. I spent quite some hours trying to get the hull and proportions right and while the superstructures are kinda opinionated I’m really happy with the end result. I also saved a lot on the ropes and while I know in theory how this should work and look it’s just _too much work_ to get this right in the game. So I only went with the most important running ropes. I hope any navigators reading this can forgive me 😉


    bremen_cog_19-1024x576.jpg

    The final result of the Bremen Cog under sails


    I also prepared a variant without a sail and maybe I’ll even create a version with a reefed sail and with another version of the bow someday. I don’t know yet for I feel very exhausted from this little side project for now.


    bremen_cog_17-1024x576.jpg

    The final result of the Bremen Cog without sails


    It’s also very sparse on final details because I can imagine that the blueprints for this ship will see a lot of reuse on various servers of the game so it should be really easy to individualise each placement with different colours or textures or cargo.


    Speaking of: The blueprints for Rising World (Unity) can be downloaded here Bremen_Cog_A-BekoPharm-CC-BY-SA-4.zip or my blog Bremen_Cog_A-BekoPharm-CC-BY-SA-4


    You’re free to share and adapt this work as indicated by the CC-BY-SA 4.0 license. Please do inform me if you make use of this simply because that would make me very happy. It’s not required though.


    Originally posted at: https://beko.famkos.net/2022/1…men-cog-for-rising-world/


    CC BY-SA This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.

    Think that basically concludes my cog ship journey. Learned so much while making this. I'll probably write something up and upload the blueprint|s.


    I'd also like to make a variant with reefed sails and another bow variant eventually but feeling kinda drained for now.

    Ihr könnt lange diskutieren was für euch ein Upload in das Forum bedeutet, aber ohne dass ihr da eine brauchbare Lizenz dran hängt habt ihr keine rechtliche Handhabe in irgend einer Form.


    Stellt euren Content unter Lizenzen!


    Falls ihr keine Idee habt wie das aussehen könnte nehmt eine CreativeCommons , die derlei umfassend regeln und genau für so etwas da sind.


    Und ja ich kann jeden einzelnen Standpunkt hier verstehen. Insbesondere den von KünstlerInnen, die oft gerade dies vergessen und übersehen: Eine Lizenz dazu nennen.


    Es genügt nicht das hier und da im Forum zu erwähnen. Es gehört direkt an den Download (oder den Text oder das Bild) - jedes einzelne mal. Man kann von niemanden erwarten erst jeden einzelnen eurer Posts zu studieren, ob ihr ggf. mal irgendwo erwähnt habt dass ihr "Credits" haben wollt.


    Namensnennung ist mit guter Kinderstube natürlich das Mindeste, aber ohne klare Regelung kann man das halt leider nicht einfach erwarten[1]. Viel Spaß da irgendwas mit einer Klage zu erreichen, insbesondere wenn eben keine gewerbliche Nutzung erkennbar ist. Kann man machen, wenn man sonst keine Hobbies hat.


    Die Regeln von red51 sind "nur" Hausrecht. Damit fliegst höchstens aus dem Forum aber das war es dann auch schon. Diese durchzusetzen ist der Job der Moderatoren.


    [1] Und da krachen Welten aufeinander. Andere Kulturen oder Sprachen und schon war es das mit eurer Vorstellung wie die Welt funktioniert.

    bremen_cog_01.jpgbremen_cog_2.jpg


    Trying another version with another technique. This time based loosely on the Bremen Cog.


    I really wished for some helper tool like a Bézier curve 🤔 It's _so hard_ to get a clean line with construction objects that can not bend.

    Working on a cog loosely based on NZ-43 (14C). It’s approximately 12m long 🙂


    First time I’m trying my luck with a vessel and not a building. The curving is difficult to realise in RisingWorld tho.


    rising_world_cog_20221211035321_1.jpg

    rising_world_cog_20221211035408_1.jpg

    rising_world_cog_20221201223213_1.jpg

    rising_world_cog_20221129211413_1.jpg


    It started life in the old Java version of the game because the new Unity version has no posters yet. I had to segment the plan of the cog (carved in a very bad resolution from a PDF) into several in-game posters that had to be aligned in-game again to get the proper measurements.


    After that I moved the blueprint of the frame over to the new version and started putting planks on it. A cumbersome process during which I learned a lot. I’ll probably make another and more improved hull based on the gathered know how.


    I also fell straight into another “not yet implemented” trap. RisingWorld has a flip command to mirror an object and I kinda assumed this would work with blueprints too. It does not. And I was really not looking forward to put plank on both sides of the frame.


    Luckily most of the leg work to read the binary blueprints was done by paulevs before who released https://github.com/paulevsGitch/BlueLib under the MIT license. It has been a while that I touched Java but I could come up with some code of my own that would flip the planks only (I used rounded cubes for the planks exclusively) making use of this lib and the very first try at it looked promising already.


    cog_planking_madness-1536x905.jpg


    Here is the source I came up with in case you wonder:



    I’m kinda happy with the result. This Lib also allows me to change the texture of the elements so I don’t have to worry how the used texture during the construction may look in the end.


    cog-hull-without-deck-planks-1536x905.jpg


    Now onwards to improve the curves. I really wish for a bend mode where the beginning would snap on to an existing object and the opposite plane could be moved around individually.


    This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.


    Originally posted at: https://beko.famkos.net/2022/12/11/making-a-cog/

    Oh gods, thanks you so much for this!


    I needed `flip` but that is not implemented for blueprints [yet?].


    It's a very specific usecase where I only needed to flip rounded elements (type 80) over one axes.


    Took me ~ 2h to get up gradle n stuff and start experimenting with the lib until I managed to do what I wanted 😁

    With RisingWorld (Unity) improving a lot lately we’re feature wise almost on par with the old Java version again. Due to my hobbies I’m playing on the medieval server https://medievalrealms.co.uk/ where I usually construct buildings based on specific periods according to my understanding of timber-framed constructions. Which may not be the best to rely on but hey, it’s a game after all.


    One of the features still missing is an ingame map. We do have the compass already though and with debug enabled we even get an exact position on the current map. And the new maps are huge! And since we’re building here in multiplayer it’s no wonder that this is a dire missed feature to get an idea where the others are and what they are building, because it’s not fun navigating with X,Y,Z alone to visit other players (and keep note of where the own spot is located).


    rising_world_unity-version-1536x864.jpg


    So I was intrigued to see that the player Bamse did what gamers tend to do when a feature is missing. They start some sort of helper app (or wiki or whatever). This resulted in a QGIS Cloud map project at https://qgiscloud.com/Bamse/MapMedievalRealms/ where players from the same server may add POIs and do the leg work of surveying the “new” world.


    qgis-map-of-rising-world-server-medieval-realms-1536x1152.png


    The only drawback (haha. sorry.) is: It’s a PITA to do the surveying because stopping every few meters to note down a bunch of coordinates takes hours! Someone had to do this though, because “my” isle – a piece of rock I randomly stumbled over after the latest server reset – was still missing! And while I clocked roughly ~700h on this game already I was not going to do that. I’m a programmer – which equals to lazy in my opinion. So I started scripting and after a few minutes came up with the following still crude solution:

    Code
    echo "" > move.log
    while true; do
    gnome-screenshot -w -f /tmp/snapshot.png && convert /tmp/snapshot.png -crop 165x30+905+975 /tmp/snapshot-cropped.tiff && tesseract /tmp/snapshot-cropped.tiff - -l eng --psm 13 quiet | awk 'match($0, /([[:digit:]]+[.][[:digit:]])+.([[:digit:]]+[.][[:digit:]]+).([[:digit:]]+[.][[:digit:]]+)/) { print substr($0, RSTART, RLENGTH)}' | awk '{ printf "%0.0f,%0.0f,%0.0f\n", $1, $2, $3}' >> move.log sleep 2
    done

    This surely can be improved a lot but… minimum viable product. We’re still talking about a game. Here is what it does:

    • Take a screenshot of the active window (Rising World while playing)
    • Save it to /tmp (that’s in my RAM disk)
    • Crop out the coordinates and convert it to tiff using `imagemagick`
    • Run `tesseract` for OCR detection
    • Pipe the result to awk and use a RegEx to identify three numbers
    • Reformat the 3 numbers (remove the precision) and dump it in as csv-like log
    • Sleep for 2 seconds and repeat until terminated

    And in case you wonder why I used gnome-screenshot: I’m on Wayland and the usual suspects written for X do simply not work. I did recompile gnome-screenshots tho to disable the annoying flashing though so it’s silent now.

    Why the awk program? Well, tesseract is good but the raw data looked something like this in the end and the RegEx cleans that up somewhat:

    So I put this to a test and jogged around “my” isle and here are the results:

    beko_island-indexed.png


    One(!) data point was misread during the ~15 minutes run. Not too shabby! That could easily be fixed manually and who knows… mebbe I’ll improve on the script to check for implausible spikes like that at some point.


    I demoed the script to other players on the same server and some already started investigating into solutions to adapt this script to Windows. Just don’t ask me how to do that – I really wouldn’t know 😛


    Updated 10th Dec 2022: A solution to do the same on Windows PC appeared on https://wiki.calarasi.net/en/p…valrealms/ocr-coordinates


    This content is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.


    Originally posted at: https://beko.famkos.net/2022/1…urveying-the-risingworld/