News: errata corrige can be found here
In this project are stored a series of F# samples that show how to build simulations.
We can find a bouncing ball, a rocket simulation, an asteroid field and even a space chase between the police and some pirates, which in the latest samples are rendered in with XNA (and Unity in a future release).
The code in this site is the accompanying code for the book "Friendly F#, fun with game programming and XNA".
The book aims at teaching the F# language through a series of samples that are fully centered on physics simulations and game development. Each one of the first 5 chapters describes a problem, shows and discusses its solution in F# and then discusses in depth
the constructs used. From this point of view the book is relatively unique, in that it completely focuses on a problem-solution approach where everything is explained because of how well it works in solving the problem, and not just "because". The
5 problems are:
- a bouncing ball
- the Saturn V rocket
- an asteroid field
- a large asteroid field optimized with quad trees
- a police starship that must fight off a pirate ship attacking a cargo freighter
In the last two chapters we will see how to build first a 2D and then a 3D renderer for two of the samples we have seen. These renderers are made in XNA, of which we show the basics in terms of the SpriteBatch, the Model class, input management and audio.
The book is recommended for programmers who are already familiar with an imperative programming language; a little bit of knowledge of object-orientation may help in the latest chapters, but it is by no means required. The book may also be read by complete
beginners to programming, but in that case the reader should expect to have to
the book and not just read it; studying the materials of the book though is not particularly unexpected, given their origin: both authors teach Computer Science with F# and games at Ca' Foscari University of Venice, and thanks to this we have
already battle tested many of the examples and the general approach used in the book.
The book is distributed through various e-book stores (for the moment Amazon and Smashwords, but the other are coming!), and the links to the actual book can be found through:
The book may also be bought directly at:
Let me add that we have written this book mostly for fun, and as such the book has two important aspects: it is short and cheap.
We hope you find the book as entertaining to read as it was for us to write.
We are also eagerly looking for feedback on how to make the book better; are there any more sample or chapter you would have liked to see in the book? We will use this feedback for the next revision of the book!
We have just added a large set of slides to be used in an F# course. The slides can be used
the book, and are the same slides that we have used for a few years in various courses in Venice.
Head over to Downloads
and grab this goodie :)