[HPX-dev] spec... soon
Status: Pre-Alpha
Brought to you by:
aquila
From: Ian S. <ia...@st...> - 2000-03-13 15:22:15
|
Hey fellow HPXers, Anyway I'm writing to say that Tsubasa has done a great job and have eagerly started working on his bit when I haven't even released the spec. Meanwhile I have a few items to discuss. First of all there are a lot of resources available on www.gamedev.net, and many of the articles there I have found very interesting and helpful. This site has information from music to programming to game concept design to philosophy of fun to whatever else you can think of that is related to games. Check it out. Secondly I am proposing the addition of Lenny (Leonard Chin, Biomed/Software Engineering from UNSW for those of us who don't know him) to our development team. If there are any objections please raise it. Now regarding the project plan: After reading an article entitled "How do I make games?" (http://www.gamedev.net/reference/design/features/makegames/) I have decided that we need to start simple and work our way up till we are familiar with the idea of game design, programming in C++, and working as a group, etc., before starting on the final product. I have decided to follow this order somewhat: (1) Write a 2D flat snake game in C++. (2) upgrade (1) into a 2D isometric snake game. (3) upgrade (1) into a 2D flat multiplayer snake game. (4) upgrade (2+3) into a 2D isometric multiplayer snake game. ... (increase complexity of game, such as the use of doodads, buildings, etc) ... ... (slowly tranform snake game into an RPG game) ... (n) upgrade (n-1) into a 2D isometric multiplayer RPG game. So the first step would be to make a simple, solo snake game which is flat 2D (ie. top view). A vague specification is as follows: 1 Requirements: 1.1 developers gets acquainted with different aspects of programming, including: C programming, graphics, and sound. 1.2 developers learn how to work as a group. 1.3 developers enjoy themselves. 1.4 creation of the core snake game engine which can be upgraded easily later 2 Design: The game involves drawing a game grid on the screen and then placing a snake on that board. On the request by user, the game is started and the snake begins to move forward. Using cursor keys, the user is able to control which direction the snake faces. When the snake hits the wall or itself, it dies, causing the player to lose a life. The number of life and current score is displayed on the screen. There will be items placed randomly on the game grid which are "eaten" when the snake enters the tile containing that item. These items will affect the game in a certain way such as increasing the game score, elongating the snake and/or increases game speed. When all lives are lost the game is over. Sounds are played when certain game events occur, such as player death or eating an item. There should be background music. The graphic for the game grid depends on the tileset used. Different tilesets can be defined, as well as different maps. The graphic sets for the snake and items can also be defined. Different sound sets for game events should be definable. I suggest defining the following objects with some methods (I'm thinking Java here, but C++ is OO right?), but this is by no means exhaustive or correct: object: Map methods: draw, load(mapfile), getWidth, getHeight, getTile(co-ords), getTileset object: Snake methods: draw, init, clear, move(direction), getSegment(segment), die object: Item methods: draw, create, clear, getX, getY, eat object: Tile methods: draw(co-ords) object: Segment methods: draw, getX, getY, die Haven't got it all figured out yet. Send suggestions, esp. how to divide this into modules which we can work on seperately. That's it from me. If this doesn't make sense at all it's coz I'm writing this till 2am in the morning. ====================================================== What you have to do now: - check out www.gamedev.net if you have time - reply regarding Lenny joining us - give me feedback on the above spec - read up on your C (if you want to be involved in programming) ====================================================== Aquila. |