Home arrow Saucy Ball - C#, DirectX simulation
WI's IT Creations: XT Typing Tutor
choose a wise path !
Overview - Saucy Ball

Saucy Ball - use cases

screenshot

What is this ?
This is an open-source project that uses the latest Microsoft technologies (C# 2.0 and Managed DirectX). In order to build it, we've used some software engineering tricks like: use cases, UML diagrams, design patterns... so you may want to check it out :).

We are aware the 3D engine we've implemented is not the best. We've done our best to separate the business logic from the view engine, so it's not hard to cover the behavioral part of the program with a visual one. If you want to contribute, don't hesitate to contact us.

Description
The program simulates the way a ball slides down on a 3D board. The board can be inclined by using the mouse. At the beginning, the ball drops down on a certain position. The user has to inlcline the board so that the ball gets on a certain region (final position), avoiding obstacles in it's way and touching the bonus items.

Domain
"Sauchy Ball" is an entertainment game that simulates phisical phenomena and makes use of 3D technologies.

Shareholders and Interests
The user: to have fun.

Actors and Objectives
The user: to incline the board using the mouse so that the ball reaches the final position.

Use cases
  • The user wants to play a certain level.
  • - context and objective
    The user has launched the program and wants to play a level.
    - steps
    • From the Main Menu, the user chooses the PLAY option
    • From the next frame, the user chooses the level he wants to play.
    • A board with little walls, obstacles and other objects on it and a ball appear on the screen.
    • The time starts its countdown.
    • The user bounds the board, using the mouse, in order to move the ball.
      • If the ball hits a little wall, it bounces according to the phisical laws.
      • If the ball slides over a "Save position"-like surface, that position will be the place from where the ball will start again if the user loses a life.
      • If the ball hits a "Thorns"-like obstacle, the user loses a life, the current ball disappears and reappears at the last "Saved position".
      • If the ball touches a "Reward"-like object, a good thing happens to the user. (e.g. The ball touches a little heart and the user gains an extra life OR The ball touches a little diamond and the user gains 100 points OR The ball touches a little hour glass and the user gains 10 extra seconds)
      • If the ball gets on the "Final position", a "Congratulations"-like message is shown and the Main Menu appears.
    - extensions
    • If the user manages to lose a life before the ball moves over a "Save position"-like surface, then the inital start point will be the place from where the game will continue.
    • If the user loses all his lives or the time expires, a "Loser"-like message is shown and the Main Menu appears.
    • The user can quit the game at any time. If he quits, a "Game aborded"-like message is shown and the Main Menu appears.
    • If the user manages to finish the level (gets to the final position, not exceeding the time limit and with at least the last life left) and if his score is big enough, the user will be able to enter his name in order to get a place in the high score list.
Last Updated ( Sunday, 22 January 2006 )



© 2006-2007 by Eugen-Ioan Goriac.
All rights reserved.