Jump to content
  • Advertisement

Challenge 1 - 3D Chess - Part 1

Rutin

1983 views

It's been awhile since my initial blog post back on February 24th 2019 about this challenge, and sadly I've been unable to work much on the project since. I did however finish the basic prototype version in March using C++ and UE4, then I did the newer graphics in April, and I've been sitting on this for a few weeks to publish.... but here it is! For those just seeing this for the first time these are challenges I'm setting without any time limit  but I must program, make all the graphical and audio assets myself from scratch. Enjoy Part 1!

(Rendered in Blender - game shots are all in UE4)

image.png.6bdb4d193f3b2cb2cb2e559b139f7b30.png

The first stage for me was to make a very bare bones prototype, and get all the functional features set up such as movement, capturing, square highlighting, and the basic GUI.

1.thumb.png.5cd6c2f2f399c32f507279e65f0011b9.png

2.thumb.png.0d631e89e8b96d5f4b7008bfa92a3978.png

At this stage the only things I needed to code in are the 'check' and 'checkmate' checkers, as well as game over and winner screens. This hasn't been done yet, but will be done in part 2!

The next step was to make the basic scene pieces for the game. I deiced to keep everything as low poly as possible, and I would make up for it in textures.

I started with the table first:

image.png.8ec8b8590dcfc6f450429f2cf1569b74.png

Then the chessboard which is very basic:

image.png.2fd88cb6aa4a62090a927e53db3a4479.png

Then the walls:

image.png.26d302db4991af38c58df21722ab9446.png

And for the floor tiles I took a square did an extrude with scaling then used an array to fill it:

image.png.108ba7acdcff1c4e01303e1bc9dee158.png

Then all the chess pieces:

image.png.898f03751cf992a0f04e48ca48dc3fd0.png

Now I was ready to start on texturing! All of these textures were done procedurally. Some of them I added in parameters for randomization for certain parts. You'll notice this with the floor tiles.

The wall material:

4.PNG.52845b968f74d52af546b9146a9f8ab5.PNG

Then the floor material:

3.PNG.ef88281dc663694fe2f0de4050421b9b.PNG

The chessboard wood material (for the squares I utilized my UV cuts and did an overlap):

5.PNG.e86e1c8b0f42b78e66504c08ddcb1a7b.PNG

The table wood material:

6.PNG.d727311382d1a607d2bb23b1efe4d8c4.PNG

The GUI is still very basic and there are some "wrapping" problems I need to fix. After putting this all together and using basic materials for the chess pieces I came to this from the basic prototype seen above.

(Images are at 50% scale)

image.png.db34e78641de53cc88ae5d645c6d1d37.png

image.png.6819a12150db0846ab49ca70e999f8af.png

image.png.171deae58cc74500ead289cc43024ff2.png

image.png.a3e5dab10318320d990316e7505da8e5.png

image.png.81e06c1a5a9e0070c50845e612b343a8.png

image.png.af43dbc33c5efd50cdbcfb3af62de224.png

[Video Demo - best watched in 1080p] - I still need to fix the moves list wrapping.

 

At this stage I have the following left to finish:

- Check and Checkmate code

- Game Over / Winner screen

- Fix moves list wrapping

- Redo GUI look

- Music

- SFX

- (Possible Basic AI based on 'value' moving) *Only if I have time as I want to move onto the next challenge.

For part 2 I will be pulling out my midi controller and hopefully make a decent basic tune, and some sound effects for chess movement, capture, and check / checkmate, and game over. I will also finish up the remaining coding the GUI changes!

 



8 Comments


Recommended Comments

Looks fantastic Rutin much more refined than mine! :D

For me the AI was a big time sink, it was a little tricky to get working and the balancing took ages, and mine is was still rubbish. I did miss having c++ available too. I get the impression a lot of people use third party chess engines which provide the moves / board in a standard fashion to communicate between the chess engine and the display part, maybe you can integrate one?

Share this comment


Link to comment
MarkK.

Posted (edited)

Very attractive. The one I play is that Chess Titans you got packaged with Win7. I like to start out at level 1 settings and every game I win, I bump the level up one. I don't play much but I'm level 5 in 12 games. Good number of years I've had this machine. This challenge I intend to do as well, but it will have to wait. This one is also special to me, so the time must be right. Bucket list items are in protected mode now. :) 

When you make that background music score, make it mellow. I would like to upgrade my chess game. :D 

Starting to get those taps on the back door, offering riches and fame. Replied, get in line. I'm still considering yesterdays offer. They ask, join my discord. <shakes head> umm, yeah...watched that for a while few years back before we moved to discord. No...you want a shot, make your case right here, right now.  else, next please.
Edited by GoliathForge

Share this comment


Link to comment
9 hours ago, lawnjelly said:

Looks fantastic Rutin much more refined than mine! :D

For me the AI was a big time sink, it was a little tricky to get working and the balancing took ages, and mine is was still rubbish. I did miss having c++ available too. I get the impression a lot of people use third party chess engines which provide the moves / board in a standard fashion to communicate between the chess engine and the display part, maybe you can integrate one?

Yea, I'm still on the fence about doing any AI yet, but if I do it will be just a simple value system with some standard openings, but the time required is a bit much I think... I'm also looking to try this Non Shooting - Shooter challenge. :D 

For all the chess movements and checks I simply just made another class that manages all the checks and possible movements. You just have to feed in a global board that has the needed information for the pieces, and the selected row and col for that piece with an ID and the rest is handled. So I could take this code and port it to any other Chess project and it would work. :)

By the way, great job on your game as well. :) 

 

3 hours ago, GoliathForge said:

Very attractive. The one I play is that Chess Titans you got packaged with Win7. I like to start out at level 1 settings and every game I win, I bump the level up one. I don't play much but I'm level 5 in 12 games. Good number of years I've had this machine. This challenge I intend to do as well, but it will have to wait. This one is also special to me, so the time must be right. Bucket list items are in protected mode now. :) 

When you make that background music score, make it mellow. I would like to upgrade my chess game. :D 

I've always enjoyed chess games. :) I played a lot on Chess.com awhile back too for that online competitive play, and even had the app on my phone and played on the go. I still remember Chess Titans on my Windows 7 Home machine. :D Good fun!

I might have some time later today to play around with my midi controllers, hopefully I can make something... but to be honest I haven't touched music in years so my expectations are not too high... and rightfully so! :D 

Looking forward to seeing your chess game when you get a chance to start. :) 

 

Thanks for checking out my blog post @lawnjelly & @GoliathForge

Share this comment


Link to comment

I'm even more inspired now, sharp.  Seeing as this is a challenge that has no time-limit I might just begin working on something... hmmm 

Share this comment


Link to comment
4 minutes ago, Awoken said:

I'm even more inspired now, sharp.  Seeing as this is a challenge that has no time-limit I might just begin working on something... hmmm 

I find these more manageable. I have been much more busier than usual so I don't think timed challenges will work well for me even if they add 'additional' motivation due to deadlines. If I have enough time to do the current GameDev one, I'll do a bare bones version to meet the requirements, but it will also be part of my timeless challenge so I can complete it.

I managed to finish my music score a few days back, so once I finish up my final touches I'll post the final blog post. :) 

Would you be using three.js for your game?

Share this comment


Link to comment
9 minutes ago, Rutin said:

I'll post the final blog post

Looking forward to hearing what you come up with.

10 minutes ago, Rutin said:

Would you be using three.js for your game?

That's a good question.  As I was thinking about it I thought I might want to try something different.  I've never played around with AI, I'm kinda curious.  I really like the idea of making my own chess pieces.  Maybe I'll start there. :) 

Share this comment


Link to comment

Really nice, you've got a lot of polish into it in a short amount of time, e.g. the highlighting of possible moves.

Can't wait to see what you do next with it 😀

Share this comment


Link to comment
On 4/25/2019 at 9:58 AM, Brain said:

Really nice, you've got a lot of polish into it in a short amount of time, e.g. the highlighting of possible moves.

Can't wait to see what you do next with it 😀

Thanks! :) 

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!