Thursday, June 19, 2025

It's alive!

*Update* I need to look into hiding the key. I started worrying, it is visible on the page source. Once I'm confident the game will be back up.

Play here:

https://dusk.comet-richter.ts.net/client.html

Or Click the link to the right "Play Dusk with Cheerpj (it's working!)"

There's a bug causing client to freeze after 1-5 minutes while walking around. The error has to do with "remove entity from buffer".

Sunday, June 8, 2025

How to host your own Dusk Server with Cheerpj and Tailscale.

*Update 6-19* It's working! I've updated these instructions. I'll try and keep my server up for you to play. So go ahead and playtest. There are still errors to fix, probably for Cheerpj but native too. The world is still under construction. I plan on finishing it up this year at least by winter. I believe I set this up properly and I'm safe from hackers. This is awesome! Tailscale hides your IP address from me too so your safe but that prevents the "bannedIP" feature from working. 

I thought I'd do a write up on how to setup your own server.

1. Download https://github.com/ZabinX/DuskRPG go to (code) click "Download ZIP".

2. Install Tailscale https://tailscale.com/ Go into "machines" and click "..." change the machine name to something like "dusk". Then go into "DNS" tab and use the random name generator to get a better Tailnet name. Generate a authentication key like this. Go to "settings" tab, then "keys", then "generate auth key...", then click button for "use this key to authenticate more than one device", and then finally "generate key". Put the key in "client.html" in the /DuskCheerpj/wwwClient directory.

3. Edit the "prefs" file inside /DuskCheerpj/conf. Change 'dusk.comet-richter.ts.net" to "yourmachine.yourTailnet.ts.net". 

4. Install Java 8 (I'm using 17 and it works) and start the server like this. Command prompt: 

cd C:\Users\drago\Documents\DuskCheerpj

java -jar Duskserver.jar

5. Put the client on a http server: Command prompt: 

cd C:\Users\drago\Documents\DuskCheerpj\wwwClient

http-server -p 8080

6. Now funnel the client to the internet and serve the Dusk server port to your Tailnet. Administrator command prompt: 

tailscale funnel --bg 8080 

tailscale serve --tcp=2222 tcp://localhost:7474

7. Go to your new website and click "client.html" to start the game. Connect to server using your Tailnet IPv4 address and port 2222.

That's it! Pretty easy. Here's couple pics from my Android phone. I will have to fix the GUI layout for mobile a little but that's easy. I tried playing on the phone and couldn't barely walk. This can be fixed with some arrow buttons.





Wednesday, May 28, 2025

Dusk and Cheerpj test?

I got the server and client working with Cheerpj and Tailscale enough to create a player and almost load the map but it disconnects from error loading player. So not working yet but is pretty cool to see that much happening on my android phone.

I don't know if Cheerpj can handle the Dusk script.java which generates these ".dsko" compiled files. That could be causing these errors. Here's link to the java for running DuskServerCheerpj. 

https://github.com/ZabinX/DuskRPG/tree/master/DuskFiles/DuskServerSource

https://github.com/ZabinX/DuskRPG/blob/master/DuskFiles/DuskServerSource/Script.java 

**Update** It's in read only mode. The fix is "library mode" which will copy the files into the virtual IndexedDB directory, which is read/write. This takes some JavaScript combined with Java libraries.

Friday, May 16, 2025

Dusk + Cheerpj = revived?

Hey again, :)

I've almost finished the demo world! Pixel art is all sourced from OpenGameArt, craftpix.net, and Jetrel gets huge thanks for his tree. I felt motivated to work on Dusk again when I saw this new tech to convert Java to JavaScript called Cheerpj. Dusk can possibly be revived! I think the performance may be fine.

I need help with this Cheerpj conversion. I'll post in their discord and maybe somebody can help or give advice what I need to do. 

I believe both client and server need to run through Cheerpj but I'm not 100% sure how to proceed. I'm like a 2/10 in Java, 0/10 in JavaScript, and 9/10 in coding DuskScript. Here's the links to my Cheerpj tests.


Here's source code.

Please forgive my nearly 200MB Dusk collection. There are a couple old game worlds in there. I will clean it up and finish licensing art.

I think I need a little JavaScript help, make changes in Java to find the file locations and maybe even a native call to Java_Bridge_Websocket for the server? To avoid using TailScale. I'm guessing here, I read all the docs and there's not enough examples for me, but this is fancy new tech still in development. Here's a pic of Dusk client in browser using Cheerpj.



If you have noticed I redone the GUI with swing components. I managed to do this by digging through the wayback machine. I found the sources https://web.archive.org/web/20010617163439/http://dusk.wesowin.org/ and merged them with the fork I had. This fixed some bugs, and I also merged some code from NotZed's fork to improve the walking animation. I've added buttons for potions, spells, and settings. I'm still improving the GUI and will probably change size to better fit into browser if Cheerpj can do it.

If you have Java installed u can play offline.
Run server with java -cp . DuskServer or java -jar Duskserver.jar
Double click the client in (www)
Click connect: 127.0.0.1 port 7474. Connect and create a player.

Take care, bye -Zach
















Sunday, April 30, 2017

My life and what's up with this?!?

Holy cow, it's been 6 months already since my last post on this blog!?! Time seems to be flying by faster the older I get. I turned 30 on march 14 and I still feel like I'm 20 but with a lot of wisdom experience points built up.

I may have done a little pixel art throughout the winter and no dusk scripting for my demo game unfortunately. Sorry dusk isn't online but I need to wrap up a bunch of unfinished quests to make it playable. I know there's fans of the old game who'd like to see it online again. Running the game locally takes some computer savvy and it isn't nearly as fun offline.  What makes dusk fun is forming your own clan with friends you make in-game and the clans compete over ownership of the castles because being part of a clan that owns a castle has it's benefits.

So basically what I am thinking about is a story mode part of the game like the SNES JRPG games with puzzles, quests, and a storyline where your the hero that saves the world, right? That's always fun in JRPG's but in dusk the story mode you have to do solo. That way the game will be interesting if there's nobody else online.

I'd like to have both the beginning story mode part of the game and one castle's worth of gameplay scripted/polished up before I ask my buddy Andy Weaver to throw it online. It's been awhile since I talked to him but I think he's still willing to host.

Anyways, I have the beginning story mode quests mostly scripted but nothing of the first castle scripted. I haven't done much with this hobby in the last couple years as life gets very busy. I have so many hobbies so little time...

If anyone that reads this is interested in getting to know me better I've started uploading videos to my youtube channel showing some things I do for fun.

Monday, November 14, 2016

Yep I'm still alive.  Working 40 hours a week washing dishes at Panera Bread doesn't leave much extra time for hobbies.  I haven't done any pixel art or Dusk scripting in like forever.

I also picked up another hobby (metal detecting) recently as a way to enjoy the outdoors.

Curious what I've found with it?  Well, I post my best finds on the whites electronics forum so here's a couple links to where I've posted so far.  http://forums.whiteselectronics.com/showthread.php?76431-New-treasure-hunter-finds-his-first-gold-ring

and a couple days ago I found this one http://forums.whiteselectronics.com/showthread.php?76605-Recent-treasures-and-Gold-ring-with-Diamonds!!-0-o

I may start filming my finds live and post on youtube some live digs.

Soon the ground will be frozen and I'll be indoors a lot more and I hope to play with this hobby more at that time.

Saturday, June 4, 2016

Demo of the WIP art assets

Yesterday I spent a few hours mapping with some of the art I've been slowly tinkering on.

I've been lazy working on my Dusk demo game.  Instead I've been poking a little here and there doing pixel art and looking for cool music on the Internet.

This pixel art is mainly still WIP but I think I have some stuff finished so I'll start making that available on OGA when I get around to it.

I also made a WIP topic on OGA so the good old boys there can see what I'm up to.


Tuesday, April 26, 2016

My music playlist

I joined Soundcloud and made a few songs available there that I managed to find on youtube.  Songs from one of my favorite movies growing up (still is) called Weekend at Bernie's and Weekend at Bernie's II.  I was born in Florida on a island and those movies are filmed in a similar islander environment so it brings me back to my childhood.  I shouldn't have any troubles uploading those songs because they were available on youtube first, right?  They are so rare to find it's a shame to let them RIP.  I want to share the love!

If I ever decide to try my hand at mixing music (with LMMS) I'll be sure to post it there.

I've been organizing a playlist here for my own convenience but to also share with my buddies.  If you don't like the same music as me, well then the hell with ya!  Just kidding.  The world is full of variety- that's why it's so beautiful and exciting.  I like all kinds of music.  That's just a small taste of what I listen to and is not limited to just that.  I'll keep adding to the list when I stumble upon something particularly cool.

*update 5-16-16* I found one of my favorite FF VII songs that is not on soundcloud (someone has a remix there) but I want to share the origional so here it is.  Under rotten pizza

Monday, March 28, 2016

Working on a pixel tree


I'm drawing my first pixel tree from scratch.  The other trees I've worked on before are derivatives of an existing tree.  I've got the outline of the trunk and foliage done.  Now comes the hard part of pixeling the details.  I'll keep posting my progress here so you can watch how I put it together and how it evolves into a completed piece.

*Update april 5th*  I got yesterday and today off work.  Spent yesterday pixelating this tree.  *Phew* it was alot of work!  Today I have to go for a bike ride and get out of the house.
I just got internet at the house a couple days ago so I haven't done any work on my Dusk game yet.

*Update april 6th*

Screenshot of Tiled on my Ubuntu 15.10 where's the damn Top Tool Bar???
Figured it out and feel a little embarrassed I over looked it because I asked for help on Tiled's IRC channel and wushin at https://www.themanaworld.org/ was nice enough to help me out.  New technology takes some time getting used to and I just installed the latest version of Linux Ubuntu a couple days ago.  They made the top tool bar invisible from the program's window and you only see it if you have the mouse hovering on the top of the screen.  Doh!  Silly me for over
looking these new features.

Tuesday, March 8, 2016

I'm still alive!

I've been gone for a couple years.  Life got in the way.  Unfortunate things happen.  I haven't gave up on this quest.  Never will until I feel I've accomplished what I set out to do.  I'll be updating this blog when I can but for now I should enjoy the nice day outside.

Monday, January 20, 2014

BFW water animation converted for 32x32 tilesets

Here's a quick post because I feel I've been neglecting my blog here and I am anxious to show a bit of what I've been working on.

This is BFW's (Battle for Wesnoth) water animation which was made (by Rhyging5) for a hexagonal tile-set that has a high over-world type view.  By recolorizing it using DB's32 the waves are more obvious which helps make it match the genre of games that use 32x32 tilesets.  All I did was re-colourized it and made it tile-able for 32x32.

I think this looks AWESOME!!!  You can see the water animating through the alpha bank nicely even though I threw that alpha blended bank together quickly. 

Check out the link in my last post if you want to see all of the massive amounts of re-colors I've been doing.

Okay I've gotta run and try to save my dad's life!  Peace-Zabin

Friday, January 3, 2014

Dusk's applet fixed by Andy Weaver! & I've been addicted to DawnBringer's 32 colour palette!!

Merry Christmas and happy new year everybody!  I'm a little late saying that as I don't have internet access where I live, yet.  Unfortunately I was rather poor during the holidays and couldn't even pay my phone bill to call up the family.  So if any of my family is reading this here, I love you and miss being near you.  I just got paid so I'll call you guys soon!

Dusk applet fixed by Andy Weaver!

I helped my buddy get a motel room for the night because he was without his wallet and his ID.  So I decided to take advantage of the $2.99 motel internet service to merge the second contribution to my Dusk files on GitHub by Andy Weaver.

Andy Weaver fixed the problem which caused a large percentage of computers to fail loading the images from the applet online (showing -1 images loaded).  He fixed this and made a pull request over 2 weeks ago and I finally got around to merging it in.  The reason for the delay is because of my lack of access to the internet and my recent addiction to re-colourizing all of the art assests I've collected using DawnBringer's 32 colour palette.  More on that below.

It's awesome Andy fixed that problem because now every computer with Java installed (regardless of version) will be able to play the Dusk applet online with no problems.  If you encounter a problem with the Dusk applet not working at Andy's site here , I'd appreciate the bug report (you can also get to his site to play Dusk online by clicking on the "play Zabin's Dusk demo hosted by WeaveMN" button to the right -------->).  If you do log into Dusk online from Andy's site I should let you know that he hasn't cloned my latest script files on GitHub yet as he's waiting to do the convert when I have (wrapped up)/completed a decent first release.

In other words DUSK IS REVIVED!  Thanks to Andy Weaver and me :D  I should be busy wrapping up a decent amount of gameplay for everybody to run around and explore in Dusk BUT I've been busy working on pixel art instead!

I'm addicted to DB32 colour palette! :P 


All this art is still WIP!  I figured I'd update you on what I'm currently working on.  It's a pipe dream of mine that Dusk will be improved upon (code-wise) and be able to use this art in the future.  NotZed's work on DuskZ has motivated me to get better at making pixel art/animations.  Even though his fork of the Dusk server may be a dead-end project.  I just can't help but bring together this art just in-case his Dusk fork does reach a playable state.  I'm doing this for the dream of using it in Dusk, but also because I love open-source and would love to see some open-source games that look like this.  With the limited colour palette I'd say it looks a bit like Seiken Densetsu.

I've never limited myself to a colour palette before.   So just for the hell of it I figured I'd test out a limited colour palette to see the benefits of the limitation.  I became aware of DB's32 colour palette thanks to Surt on OpenGameArt.  I've got to admit that sticking with a set palette definitely help's to make the assets match globally.  Especially since I've been keeping the foliage and wood colours consistent.  I've tried my best to strictly stick to only the 32 colour palette but occasionally I'd get stuck and can't find a proper colour and had to add a few of my own colours to the palette.  I've added 8 colours so far- so it's a total of 40 currently and I think that it won't expand past that.  The colours I've added I think is a good extension to the palette that even DawnBringer may say is a good extension to the palette.

About 2 months ago I attempted to make all these assets to better match each-other by doing a automatic contrast bump on the assets.  Which is frowned upon in pixel art and messes it up.  When I compare that stuff to this new re-colourized stuff using these 40 colours, I'm trilled to see that it all matches and looks professionally done.

So I've basically taken my favourite art from OpenGameArt and made it all work together by re-colourizing using a limited palette.  I've been busy with this for the last 2 weeks and I'm getting close to saying that I've organized enough assets to do the outdoor terrain for a "Seiken Densetsu" or "Secret of Mana" type game.

If you want to look at the tilesets and see how far 40 colours could go check out my Dusk files on GitHub and look at the DBcolours folder.