AnarchyChessDevelopers

32 readers
1 users here now

A cousin community to AnarchyChess for developers to have day to day discussions for working on any Open Source implementation of AnarchyChess.

Memes and typical AnarchyChess posts and comments may be removed if they become disruptive.

founded 1 year ago
MODERATORS
1
 
 

Ive updated the code and documentation at https://github.com/PossibleEmuWrangler/AnarchyChess-DreamyDesktopPrototype after being able to successfully download the dreamchess source to a raspberry pi400, apply the AnarchyChess-DreamyDesktop code as a "patch" to dreamchess and then compile and run it using the package management program dpkg. Version 0.8.6

Ive updated the AnarchyChessReadme of that repository with command line instructions i used to build it on the Raspberry Pi.

That now brings the Prototype repository to a close. Im not likely to respond to any issues raised there.

I am midway through uploading the changes made to a real fork from dreamchess and made a branch and was about to merge the branch with uploads until i saw that upstream had made changes supporting UTF code which i was about to undo.

I'll spend some time rolling in code changes to a new branch and make another post here when AnarchyChess-DreamyDesktop v0.8.7 is available on the new repository. v0.8.7 is the same codebase as v0.8.6 aside from code reflecting changes in version numbers.

A slight spanner got thrown in the works with the open game im running on AnarchChess as a Bishop came back from a vacation and i had to code up a new starting position to the board.

I might focus on creating documentation next on how to incorporate more moves in PGN and their effects/outcomes/PGN notation so that different pieces might still be interoperable. It would be interesting to get dreamer working so that it could move a knook. but thats a long way off yet.

2
 
 

Earlier today I dusted off a Raspberry pi 400, gave it a fresh install of RaspiOS and then got DreamyDesktopPrototype running on it from a build.

The install instructions are a bit convoluted, but have extra steps to help fault find like doing an install of Dreamchess unmodified to see if anyone hitting a problem is one with the upstream code or something I've changed.

I reran it later and got it working so I now consider the project at version 0.8 where people can build and play a rough around the edges version.

0.9 is to have bugfixes and get some more play testing. Part of this is I'm looking to have a top comment decides game at the AnarchyChess community I've made announcements to before.

1.0 will hopefully have updated graphics for wallpapers and a 3D Knook. I tried to get a 3D editor for the CDN? Files but nothing I downloaded could open it successfully. Good news is the source that opens them is fully accessible and the files are in a text format. I trimmed the Rook file to remove some textures? And its now visually different to a rook but looks like its a ghost with some pieces missing.

Going big and facing a possible blue screen seg fault goes against most of my software eng background, but to keep some momentum up I'm sticking with go hard or go home for now and try and test rigorously quickly. Plus it'll be the first official games and I wanted to open invite and hope it's memorable. Hopefully not for wrong reasons. Should kickoff about 35 hours from now.

This also marks the end of using the prototype repository and a move to the new and hopefully longstanding repository where branches and meaningful commit messages are used. I convinced myself I can't send stuff upstream by mistake and if I do, it shouldn't be incoherent crap.

I liked the Cowboy seat of pants development, but it can't go on forever.

Tomorrow I'll start bringing in code changed to new repository and look to use it to make official releases/builds.

I will revisit the build instructions and make it streamlined and more command line oriented while still trying to be accessible to someone who never used a command line before but has sufficient admin access on target PC.

I'll change default piece set to figurine, increase size of K on Knook and remove the default engine text of dreamer and set default game type to Human vs Human.

I'll also see about putting some semantic versioning in the display credits text.

3
 
 

It wasnt the best using the dev machine to test the install, so i dusted off a Raspberry Pi 400 to install it on.

Here are my first draft notes. Its wordy, and slated to be rewritten to focus on a command line install, contains some duplication to test stuff like dreamchess running without any modifications on the install system, so people could use on a general debian/ubuntu system.

Ive updated the AnarchyChessNotes.txt in the repository.

Appendix A: Installation for Raspberry Pi 400 (Package install dreamchess, localbuild anarchychess exe from anarchychess-dreamydesktopprototype repository )- Last updated 31Jul2023

The aim of these steps is to get a repeatable steps for users to download the build and get it running on their computer.

RaspberryPi Imager v1.7.5 used, Raspberry Pi OS 32-bit Debian Bullseye Released 2023-05-03 used.

Assumed User has full access to system and created initial account which is used to do install. System updated to latest as part of initial install

  1. Open a command prompt up, create a directory to build in and cd into it mkdir DreamChessBuild cd DreamchessBuild

  2. Edit file to allow downloading of package sources sudo nano /etc/apt/sources.list

  3. remove "#" from first column on third line and save with CTRL-O Note: line to read "deb-src"... instead of "#deb-src"...

  4. exit nano with CTRL-X

  5. run apt program so it knows about source URIs sudo apt update

  6. download source using apt command (as regular user, not root so we dont need sudo) apt source dreamchess

  7. install dreamchess onto system using OS package manager. sudo apt install dreamchess

  8. test run dreamchess to confirm it runs on system natively dreamchess

  9. Start a new Human vs human game on original install New Game Players -> Human vs Human Start Game

  10. e4 e5 Ke2 Ke7 and Quit game Right click -> Quit Game. Quit to Title -> Ok

  11. Change configuration for Theme and remove engine Click Configuration. Change theme to "Figureine" Delete all text in Engine textbox Click Ok

11.Start a new game with figureine piece set Board loads using 2D pieces.

  1. e4 e5 Ke2 Ke7 and Quit game Right click -> Quit Game. Quit to Title -> Ok

  2. Quit Dreamchess Window closes and back to command prompt

  3. Get code from AnarchyChess-DreamyDesktopPrototype repository NOTE: This will eventually be changed to deal with packages and zips,

Open up chromium web browser and go to https://github.com/PossibleEmuWrangler/AnarchyChess-DreamyDesktopPrototype

The page should have a Green icon with "Code" and a down arrow.

Click on the down arrow and click on "Download ZIP"

AnarchyChess-DreamyDesktopPrototype-main.zip should now be in your Downloads file

  1. Move code to folder to build from Move ZIP file to DreamChessBuild directory created earlier (either by command line or file explorer)

  2. Unzip ZIP file from the command line, "unzip AnarchyChess-DreamyDesktopPrototype-main.zip" or "unzip An" for command line to complete the filename via TAB shortcut

17 Using the file explorer copy all files and subdirectories in AnarchyChess folder into dreamchess-0.3.0 folder, overwriting any existing files.

18 Change command prompt to dreamchess-0.3.0 subdirectory. cd dreamchess-0.3.0

  1. Build (without required dependencies installed) dpkg-buildpackage -b -uc -us

A print out of unmet dependencies is shown

19 Download dependencies required to build sudo apt install bison cmake debhelper-compat flex libglew-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev

  1. Build (without required dependencies installed) dpkg-buildpackage -b -uc -us

21 Install app, data and dbgsym via package manager sudo dpkg -i ../dreamchess_0.3.0-1_armhf.deb sudo dpkg -i ../dreamchess-data_0.3.0-1_all.deb sudo dpkg -i ../dreamchess-dbgsym_0.3.0-1_armhf.deb

22 Run Dreamchess dreamchess

(AnarchChess 0.3.0 Development) is printed on command line and GUI shows red spraypaint.

23 Update configuration Configuration -> Engine = ""

  1. Start New game of Human vs Human Board is shown with 2d characters

  2. Begin playtest game

O is Knooks character in Algebraic notation

  1. e4 d5
  2. exd5 c5
  3. dxc6 f6
  4. cxb7 f5
  5. bxa8=O f4
  6. Ob6 (Note: O is shown as boxy square, known bug)
4
 
 

I wanted to have something to show, so i think its at minimum viable product stage to run human vs human games.

Ive just finished uploading the code I've been working on to the prototype repository (https://github.com/PossibleEmuWrangler/AnarchyChess-DreamyDesktopPrototype)

It should contain all the code and images im working with now. I will be around and will try and help with issues.

I just got my github license (to drive) from a cereal box and think i can break stuff without realising it and maybe even push changes to the Dreamchess project without realising it, so i created the Prototype repository. Code is released under GPL3, same as Dreamchess.

I plan to create a new respository AnarchChess-DreamyDesktop as a fork from Dreamchess and create branches and commits with that for future updates.

The crashing on Knook capturing a Knook has been fixed.

Once you get it running, go into settings before starting a game. Games must be Human vs Human. Engine must be set to "". Use piece set of Classic Wooden (3d) or figurine (2d). Some debug info prints to stdout.

If you have any questions, please let me know here.

5
3
Community intention update (self.anarchychessdevelopers)
submitted 1 year ago* (last edited 1 year ago) by Possible_EmuWrangler to c/anarchychessdevelopers
 
 

My last post may give people the wrong impression of this community and I want to clear something up.

This community was created for discussion about development of any open source release of a chess game implementing extended rules

Therefore the build I'm working on shall be given the codeword "Dreamy Desktop" with complete name of "AnarchyChess -DreamyDesktop" to avoid any future ambiguity

6
 
 

TLDR; Knook likely coming to GitHub in a month. Play testing of yesterday's changes where I could promote to and move a Knook correctly were good. If you're keen to play, see about downloading Dreamchess source and compiling. Hit me up in comments if I haven't posted how to do this for Ubuntu 20.04 in a day.

So yesterday was a first coding session and I'm happy with the results.

The overall goal is to get a game where two humans can play against each other and promote a pawn to a Knook. More may be added later , but I'd rather get a completed Knook.game than one unfinished with six new things.

Im rolling with Ubunton20.4 and used it to download their copy of Dreamchess and built it.

Then I started editing code locally with the skill and determination of someone willing to put a nail in a fuse box.

First goal was to get the code to acknowledge a 7th piece may exist. Rook image files were duplicated and code changed so it didn't seg fault when loading a theme and piece set. Knook is now a Rook with a k tattoo.

I kept it simple and cloned Rook files for all sets but only changed figurine template. A 3d file hasn't been touched but should work later.

I don't want to ask anyone yet, but Dreamchess has cdn? Files which are text with numbers, a CAD problem for later.

Then I started walking a pawn to the backrank while keeping the moves legal and I hit the promotion dialog.

I added an extra piece but it reads graphics from a separate file so I said image=Horsey.jpg and text says click rightmost for Knook.

New Knook now shows up on board, but it checkmates the King when it isn't.

Ok.

Rerun and move king out so not on backrank. Success but Knook can move anywhere. Bug I might be able to live with.

Mess around with code more and looks like I can get it working as a real piece with checkmate and stalemate logic intact.

I thought it might be passing moves to it's internal engine steamer, so I snapped the link to it in the programs settings. Get an error message on starting the game , but ok.

Despite being pretty happy, I sleep like shit.

This morning I mess around in GitHub. I'm GitHub elo 350. Think I might be trying to merge AnarchyChess weirdo code into Dreamchess project. HLT. NOP. NOP.....

I decide that a new project AnarchyChessDesktopPrototype will be created from import and I can mess it up anyway I want. When that works acceptably, I'll go back.

Stuffs a bit messed up and all over the place that extra help from anyone likely wouldn't and I hope to have the prototype done in a week. If a typical IDE is a 3D printed masterpiece, I've got some playdo I'm hitting with a hammer. For now it's working and I'm happy how things are going. If I can get a car started by sticking a knife in the ignition and turning, it'll do. I'm flying by seat of pants.

I dont know about releasing binaries, I don't plan on making a website for it beyond GitHub page for now.

I will probably make a more formal project post later but jotting some stuff out now while still fresh in my mind.

7
 
 

Earlier today i cracked open an editor, started making changes and making some progress and am happy to report the appearance of the first Knooks. (a8 and h8)

Code has been changed to allow two more pieces, and successfully import the image files for them. The images will change.

The headline goal at the moment is to change the code to allow human vs human players to start a normal game, allow promotion to knook.

The source is tightly coupled to an engine to check for valid moves and will present a challenge, but i'll steam ahead.

At some point when ive done more to get it playable, ill probably ask for someone with more graphic design skills than me to create pieces. The game stores them as .dcm for 3d pieces and .png for 2d. I dont want to do it yet, in case i give up on this and waste someones time. I will probably see about spending Saturday arvos and nights developing it.

Other changes to the UI would probably happen.

I'll probably also ask for playtesters, but thats well off in the distance.

8
 
 

Im still relatively new to this and finding my bearings, so please cut me some slack for a bit.

This community was made for AnarchyChess developers, others are welcome though, especially if we make releases and get bugs etc.

The first order of business is What will the first AnarchyChess release look like ?

I propose have the functionality of a desktop game where two people sitting at the one computer shall be able to play a game against each other using a Knook (Knight and Rook combination piece).

For this i propose to create a fork of DreamChess which has 2D and 3D renderings and is available on macOS, Windows and Linux.

If we expand to use mobile devices, GCompris is an open source project that has a chess implementation.

I am open to suggestions though if there are platforms people are familiar with etc.

To do this, we might be working with a code base that has some rules hard baked in an have to break things. A long time ago i cracked open the code to dreamchess to make Kxe2 a legal first move and there was a bit of hotwiring.

Please ask any questions below.

9
 
 

The community was created as a place for developers on an Open Source project "Anarchy Chess" to discuss progress and issues for the project and other related activites.

At the moment it looks like a fork of the Desktop game "DreamChess" will be used as it is available for Linux, macOS and Windows.

What is your first goal ? If we get a build which allows two humans to play on the same computer with promotion to a Knook, i will call that a win.

What others ? Inclusion of other moves like Il Vaticano, Knight boost, Bishop going on holiday,

What licence is being used ? GPL-3.0

Can i contribute ? Yes. The github code repository is at : https://github.com/PossibleEmuWrangler/AnarchyChessDesktop

A project taskboard has been created here: https://github.com/users/PossibleEmuWrangler/projects/1