Chess09b: Playing over network (the server part)
After we have covered the client part of networking, let’s have a look at the server. It’s Python, it’s Google App Engine, it’s XML-RPC and it is very straight forward.
Read more…
Chess09: Playing over network
So far we were only able to play the game locally on a single computer. In this tutorial we add some networking features so that we can play against remote players. It might be easier than you think. The programming language is again Java. Let’s get started.
Read more…
Chess08: Implementing an AI (artificial intelligence) player
Chess08: Implementing an AI (artificial intelligence) player
Today we implement a computer player using some basic artificial intelligence concepts. We look at how to generate valid moves, how to evaluate the current game state and how to search for the best move by looking a few moves ahead. The programming language is again Java.
Read more…
Chess07: New game flow handling and AI preparation
In this article we will have a deeper look at the game flow logic and do some preparations for the next article, which will introduce a computer controlled player using artificial intelligence. The programming language is again Java.
Read more…
Chess06: Highlighting valid target locations
In this article we will have a look at how we can use the previously implemented MoveValidator to highlight valid target locations when the user starts dragging game pieces. We will also add some functionality to highlight the last executed move. The programming language is again Java.
Read more…
Chess05: Enforcing game rules
In this article we will take a closer look at enforcing game rules. Because we seperated the view logic from the game logic in one of the earlier articles, implementing rule enforcement is easier as you might think at this stage.
Read more…
Chess04: Implementing an alternative user interface
In this article we will create a console based user interface for our chess game by reusing the previously created game logic classes. The article has mainly been created to highlight one of the advantages of having the view logic seperated from the game logic. The programming language is again Java.
Read more…
Chess03: Separating view and logic
In this article we will separate the internal game logic from the user interface logic. Along the way we will have a look at the advantages and disadvantages of this approach. The programming language is again Java.
Read more…
Chess02: Introducing game state
In this article we will introduce the concept of a game state variable. Depending on the game state (either ‘white’ or ‘black’) the user will only be able to drag pieces corresponding to the current game state. In addition we will do some refactoring and add a button to the application to allow switching between game states. The programming language is again Java.
Read more…
Chess01: Dragging game pieces
We will start the series by implementing a little chess game. The idea is to display all the pieces and let the user drag these pieces around using his mouse. In future articles we will continue to extend this basic example by introducing more and more complex functionalities. The first article however will focus on the very basic Gui functionalities. The programming language for this series is Java.
Read more…