Neo TeAm Forum

NEO Coding Competitions => NEO Spring Coding Compo 2008 => NEO Compo 2008 => The past Neo Coding Compos => the GBA/NDS game zone - March.2008 => Topic started by: CYBER_Aeon on March 20, 2008, 02:59:54 PM

Title: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 20, 2008, 02:59:54 PM
Nickname: CYBER_Aeon
Project name : ChessNET
From : United States
Division : NDS Game
Original enter : YES
Support Motion : NO
In last NEO Compo this project have won in the top 10 : NO
Project description:

The first homebrew chess game for the DS to feature online play! (And, surprisingly enough, more than one player. >.>) 

CHESSNET REQUIRES FAT SUPPORT TO PLAY ONLINE OR SAVE LOCAL GAMES.

MAKE SURE TO CONFIGURE WFC DATA TO GET ONLINE PLAY WORKING.


Due to an extreme shortage of development time - (40 hours of work and college finals) - Release 1 was forced to cut a lot of corners. Some of the less important menus are missing (About, Options) and the Online menus look pretty terrible. HOWEVER, Everything should be working!

ChessNET writes all of it's game data to _ChessNET.sav on your cards root. On it's first connection to the server (if you decide to play online) it will request and store a unique ID for your DS. If you delete _ChessNET.sav, you will essentially lose your account. Make sure to keep a copy if you plan on trashing the file.

ChessNET is designed in play-by-mail style. So instead of real-time online games, there's a long time for players to make their moves. Days, even. This allows for players to make well formulated and studied moves. In addition, you don't have to wait on the one game. ChessNET supports up to 128 online games at once. (Since none of the data is recorded to the DS, but instead to an online server)

For local play, two players may share a DS to play a hotseat game of chess. Multiple game slots allow for up to 10 games to be saved at once, and the DS will automatically save after every move - In case of power loss or other trouble. 

You may play using the D-pad and buttons or by using the stylus. I've found from play testing that if your opponent has his or her own stylus handy, it's a nice way to play - You just have to slide the DS back and forth.

Future features will include an interactive move history (Using the R/L shoulder buttons or stylus buttons to easily navigate the replay), online messaging and buddy lists, account handles (instead of the hidious account codes) and much more. Please let me know what features you would like to see in future versions too. If this project retains enough attention, I'll continue to work on it and create a full-fledged online chess game for the Nintendo DS.

I'm already logged in, and every user that fires it up on their card and signs online will increase the player base. So come join me for a game of chess. 
8)

Be patient when playing online. Once you request a game with another user, a game will be created automatically. For now, the game requester is always the second player. So once you request a game, wait a while and check back, to see if moves have been made. Games awaiting moves will be displayed in green text on the game screen. In the future there will likely be support for email alerts from the server. (Which could easily be setup as cellphone text alerts too)
 ::sm-21.gif::

[ MIRROR |  http://www.armoredtactics.com/projects/chessnet/ChessNET_R1.zip (http://www.armoredtactics.com/projects/chessnet/ChessNET_R1.zip) ]

~ Brian

(http://www.armoredtactics.com/projects/chessnet/MainMenu.png)

(http://www.armoredtactics.com/projects/chessnet/GameMenu.png)

(http://www.armoredtactics.com/projects/chessnet/Game1.png)

(http://www.armoredtactics.com/projects/chessnet/Game2.png)
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: Cid2Mizard on March 20, 2008, 06:12:29 PM
Good i like a chess game  8)
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: omg on March 20, 2008, 07:27:45 PM
I like too!
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 21, 2008, 06:51:21 AM
For those of you trying it out online (I've noticed two new people have joined the server so far) make sure to check back later to get the full experience. I'm making sure to watch my games list and make moves, so if anybody wants to try it out feel free to request a match against me. I'm checking up on my list every few hours. I'm ID 1205995289 on the list.

I'm also slapping together a prototype for the email notification of turn. PM me with your email address or text message address (<ten digit number>@<service provider>.net usually) if you'd like to try it out and i'll see if I can get it matched to the right account somehow.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: WCRcabbage on March 21, 2008, 10:19:27 AM
Whoa. Very nice looking menu. Even if this is "only" chess, you pulled it off great. Can't wait to play some people online. :3
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: Galactic Lord Xenu on March 21, 2008, 10:46:36 AM
FINALLY!

 :D I cannot stress how much I've been waiting for something like this!  You're doing everything right so far!  Allow for user names, user profiles, and it could be among the best homebrew on the DS easily.  I love chess and was dismayed that the only other chess homebrew on the DS was against the AI.

The saving to a server idea is a great idea.  I don't know how much praise I can heap on this project without sounding insane.  The last project I was really excited about died, unfortunately, it was a a google map project that unfortunately never got all the kinks worked out of it :(  Gaia's Treasures I believe it was called.

Seriously, when you have the time, go all the way on this.  The fact that you already got the bare necessities working is great.   ~sm-43.gif~

 ~sm-42.gif~ ~sm-42.gif~ ~sm-42.gif~

Now, for some real feedback:

The blue "highlighting" to indicate which menu is selected is way to light.  It's hard for me to distinguish between the gray and the blue.  Tone the blue up a little bit so it's more apparent which menu option is selected.

Edit:  I'm in Game 17 with you.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 21, 2008, 12:10:13 PM
Thanks for the comments! Sounds like I picked a good project to work on.  8)

If enough people are interested in it, I don't see any reason I can't keep expanding on this project. Especially since I already got most of the annoying work out of the way by getting the DS to perform HTTP posts to a webserver and retrieve binary data back cleanly. By using the server I can store an insane amount of data and hand it back to the DS in more manageable chunks. Plus it reduces the possibility of cheating, between that and the encrypted data exchange.

I do have some big ideas for this project. I'd love to see a full online mode. I'm even thinking about implementing an AI through the web interface. Instead of trying to cram a full chess AI into the DS, I could setup a game bot that pushes games to a computer AI for processing.

I'd like to get some spriters to chip in artwork for the game too, create a few boards and sprite sets. My friends and I have been discussing adding 'themes' to it, so you can pick your own set of chess pieces and backgrounds for the game. In the future, that might even mean downloadable themes from the game server. With a FAT filesystem and a solid internet connection, the possibilities are endless.

I wish someone would get libLobby and DSWIFI to play nice together in PALib too, so I could make an ADHOC mode.
 ::sm-02::

@Galactic Lord Xenu: Yeah, the highlighting on the menu doesn't have nearly enough contrast. I'll have to fix that.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: Galactic Lord Xenu on March 21, 2008, 12:40:48 PM
It seems you forgot to implement castling!  Where the king hides behind the rook:

http://en.wikipedia.org/wiki/Castling

In case you were wondering what I was doing in our game, it was to test that out :P
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 21, 2008, 12:47:52 PM
It seems you forgot to implement castling!  Where the king hides behind the rook:

http://en.wikipedia.org/wiki/Castling

****, I was hoping nobody would notice. Lol. Yeah, it was one of the corners I had to cut to get this set up in time. Sorry about that. In case your wondering, En Passant isn't implemented yet either.
:-\
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: Galactic Lord Xenu on March 21, 2008, 12:52:02 PM
****, I was hoping nobody would notice. Lol. Yeah, it was one of the corners I had to cut to get this set up in time. Sorry about that. In case your wondering, En Passant isn't implemented yet either.
:-\

:P that's always the first thing I test in chess homebrew or such

when I was little I'd always castle and the young punks would tell me I couldn't do it and stuff.  God I hated my childhood
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 21, 2008, 12:56:28 PM
:P that's always the first thing I test in chess homebrew or such

when I was little I'd always castle and the young punks would tell me I couldn't do it and stuff.  God I hated my childhood

Heh. Well, Sorry about that. I promise it's one of the first things to get working for when I release the second version.
 ::sm-09.gif::
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: thebawp on March 22, 2008, 06:38:06 AM
Nice looking project so far, however, I cannot join online.  You say to make sure to configure the WFC data, however, is this meant to be done ingame? I have my Wifi connection settings saved and working for Animal Crossing (official cart), and when trying to connect in ChessDS it shows my connection as being green with 4 bars.  However, it just gives me a 'Could not connect to server' message and boots me to the main screen after about a minute or so. 

I'm using a Supercard SD to play, and it's formatted to FAT, so should work. 

Thanks!
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 22, 2008, 02:42:55 PM
Hmm. You need to have it setup outside of the game, so yeah - just like you have it. The connection indicator currently only means that the game has a connection to the access point. It doesn't indicate signal strength yet. (Thanks a lot, DSWifi. >.>)

Could not connect to server means the game failed to fetch the greeting sequence, which is the first actual data request. So it can connect to the access point but can't talk to my server. Hmm. Well, i've been testing the server on and off all day, and it's working just fine. Must be a problem with the connection. Maybe a firewall issue? Hmm. The DS is making HTTP requests. Not sure what to tell you.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: thebawp on March 22, 2008, 05:37:35 PM
I'm accessing  via an access point, so I don't think it should be an issue with a firewall.  I'm in the UK, but that shouldn't make a difference, should it? 

It's a shame, because this looks like a really nice project, and I love chess! 
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 23, 2008, 02:08:48 AM
It shouldn't make a difference, no. As long as the access point has web access. Only other thing I could think of is some access points redirect the first connection to a 'login' type web page. (The access points at my college do this. It's really annoying) That would cause the error too.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 24, 2008, 02:46:33 PM
For those of you following ChessNET, I just want to let you guys know that i'll try to stick with development on this project. I'm already working on a second release that should be out in a few weeks. There's a lot of problems to cleanup.

Proposed Changes for Release 2:
UserID and Password System
Instead of the hideous user ID system, i'll be replacing it with a true login system. Usernames and passwords may be up to 16 characters long, and will be autosaved to the FAT system for easy access. This also allows non-FAT supporting devices to play online too - They just have to enter their login information each time. But it's better than nothing.

Implementing Remaining Rules
I'll have Castling and En Passant in for the next release, I hope. I don't see why not.

Various Network Errors
There's some sort of funky buffer error i'm hunting down that occurs on long game lists. There's a glitch that causes games to end on a simple 'check' (not checkmate), Etc. I have a lot of bugs to hunt down.

Improved Game List
So it'll be easier to navigate and frankly, look much better. Icons will be placed next to each game listing, which will allow the stylus on that screen. Instead of the page scroll, it'll be split into 'pages'. Left/Right on the D-Pad and icons at the bottom of the screen allow page navigation.

Game Loading Screen
Right now, when you select a game from the list, it fades to white, gets the game data, and fades the board in. But if the client hangs while getting the data, you're stuck at a white screen with no idea of what's going on. I need to create a screen to reflect the download status, so you know it's still working.

 ::sm-24.gif::

There's some more various touchup stuff, but that's the bulk of the changes for release 2, hopefully.
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on March 27, 2008, 02:32:27 PM
EARLY RELEASE

This is not Release 2. This is a patch for Release 1.
I'm not even going to count this as an official release. However, I know many of you are probably running into some corruption errors here and there, so I decided to patch the source from Release 1 and upload it. Those of you who play online are going to want this patch, pending the second release. The rest of the features are coming soon!

[ DOWNLOAD NOW! | http://www.armoredtactics.com/projects/chessnet/ChessNET_R1.zip (http://www.armoredtactics.com/projects/chessnet/ChessNET_R1.zip) ]

 ::sm-09.gif::

And for everybody following this project, I thought i'd offer a sneak peak at one of the features in Release 2. Whadda think?

(http://www.armoredtactics.com/projects/chessnet/login1.png) (http://www.armoredtactics.com/projects/chessnet/login2.png)

The new login management works flawlessly. Character masking on the passwords to help prevent password theft. Writes the username to the FAT system so you don't have to enter it every time too.

 :P
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: Galactic Lord Xenu on March 28, 2008, 11:16:08 AM
I can't wait for this... 
Title: Re: ChessNET - Online Chess Game (Release 1)
Post by: CYBER_Aeon on April 03, 2008, 05:44:32 AM
FINAL NOTICE

This is the last post i'll be making about updates here, because ChessNET has an offical home now. There's clearly enough interest in this project to continue work on it. So please, direct your attention to the new homepage below.

http://www.armoredtactics.com/chessnet/ (http://www.armoredtactics.com/chessnet/)