Simple multiplayer game programming advice wanted

Howard Stearns hstearns at wisc.edu
Tue Jul 5 22:13:54 UTC 2005


I love it! Specifically, I like:

* Learning by playing games.
* Learning by building applications.
==> Learning concept X by using X to build a game the depends on X,  
which in turns works with the player's knowledge of X.

I don't want to dissuade you from letting X = "TCP client/server  
concepts". However, I'd like to expose you to the idea that TCP  
client/server may not be the best available abstraction for building  
multiplayer network games. It might be similar to X = transistors, or x  
= assembly-language.  Useful to specialists operating at some level,  
and maybe even for grades 5-9. But maybe not.

Croquet is built (in Squeak) on the ideas that:
* A new model of program execution (called TeaTime) may be far more  
useful for collaborative distributed system (e.g., multiplayer network  
games) than TCP API's + conventional OOP.
* Direct manipulation of objects in the environment (e.g., in 3D), as  
they are being used, may be far more useful for collaborative  
distributed systems than IDE/source + runtime.
==> We would like students to be able to create their own, say, physics  
simulation within a collaborative multiplayer classroom, rather than  
simply individually running some simulation created by the teacher (or  
worse, by a professional programmer).

We are certainly not there yet. But I invite you to check out what we  
have so far, and join in.

http://croquetproject.org

Howard Stearns
Croquet Lead Developer, DoIT Academic Technology, University of  
Wisconsin-Madison


On Jul 5, 2005, at 1:15 AM, Dave Briccetti wrote:

> I teach a summer class for grades 5-9 called "Multiplayer Network Game  
> Programming."
>
> The idea is to teach simple TCP client/server concepts and ultimately  
> end up with a very simple client/server game such as tanks that they  
> can drive around and shoot at each other. I've taught this for several  
> years in Java, and this year I'd like to try doing something in  
> Squeak. I'd like to learn how to create something like this:
>
> Client windows show the player's avatar (a simple graphic) and that of  
> the other players.
> An icon suddenly appears on all the client windows. The first player  
> to move his avatar (via the joystick morph, perhaps) over to the icon  
> gets the icon. The icon represents a question that the player has to  
> answer ("What is a router?," for example). The question appears and  
> the player types or selects an answer. If the player gets the right  
> answer he earns points. If not, he drops the icon and somebody else  
> can get it. Scores for all players should show all the time (perhaps  
> under the avatar). When one player reaches some number of points, the  
> game stops.
>
> Does this seem like a reasonable project to do in Squeak? Is there  
> something to do remote procedure calls or otherwise communicate  
> between the clients and the server?
>
> Some notes from my classes:
> http://davebsoft.com/cfk/index.html
> http://dbschools.com/dbschools/servlet/main/action/SelectInfo? 
> selann566=A
>
> Thanks for any ideas.
>
> Dave Briccetti
> Lafayette, California (SF Bay Area)
>
>
>
>
>
>
>
>
> http://dbschools.com/dbschools/servlet/main/action/SelectInfo? 
> selann566=A
>
>
>




More information about the Squeak-dev mailing list