Patricia Atrian-Cruz  

Subject: "3D Hangman"


View Display

Word enter screen

 

CMPS 161 - Final Project Proposal

Movie 

Introduction

The goal of this project is to implement the popular word game Hangman between the computer and user input. The computer draws and set environment for the game, and user plays the game. The game is play as follows:

  1. User chooses one of the categories set by computer.
  2. Computer chooses a random word from its build in dictionary.
  3. Computer draws dash lines for every letter in the word.
  4. User guesses the word or phrase letter by letter or full length word.

Now that we know the strategy of the game, implementing this game into a 3D Hangman using OpenGL requires to be broken into 4 different parts: build word dictionary, build GUI environment settings, build/draw human gallows and build/keep scoring/animation.

 

Some background information helpful to develop project:

To develop this project I have done some research on the strategy of the game as discuss in the introduction of this project. I have also done some research on work related to the implementation of human figures using graphics such the Humanoid Animation (H-Anim) standard specifications of an abstract representation for modeling 3D human figures using geometric vertices for animation. [1] The implementation of creating the 3D human figure is the more complex part of this project.

Project description

I have broken this project intro 4 working parts:

 

Build Word dictionary:

To build word dictionary for the computer to select random words it would be implemented using ADT using a search tree to load words from system dictionary. Using a random generator and chosen category specified by user computer would randomly select word to guess.

 

 

Build GUI environment settings:

The GUI visual display of the game is major part of the program, for which is the 3D window display for the user. Building the GUI environment settings consist in rendering the 3D depth scene. This includes the GUI window which display menus for user options and display window of the game. User options consist of category submenu options for word selection, view port angles for the camera display using keyboard controls, menu options for light enable and control, texture mapping enable, shading mode, human figure movement controls and single letter-base input and string-base input.

 

Build/draw human gallows:

I would implement the humanoid model for this program using reference from the Standard Joints/Segment Diagram (courtesy of http://h-anim.org/h-anim1_1f.gif, see image on the right) [2] which describes the Skeletal model description of h-ani to design human figure with body parts and joints which control the joint connection of parts.

[I still need a bit more research on human joints in graphical terms which can help me implement animation to the body.]

I estimate the humanoid modeling would take most of the project time, considering that each body part will have to be created and loaded individually to implement the different human body joints.

 

Build/keep scoring/animation:

To build a score board and keeping score I would be implementing a word checker that compares user input to the selected computer work for a set number of giving guess. Score would be kept by recording the current completed game and writing to final score to file.

The plan is to have the humanoid model perform a looping semi walking animation from the gallows when the user scores after guessing the correct word. This would continue more advance work to the implementation of body part joints in stage "Build/draw human gallows"and allow humanoid joint control movement to rotate body parts.

Results of Work of Project

Build of Dictionary

I readed the file dictionary.dat which hold more than thousand dictionary word into a dictionary ADT. Out the build dictionary I randomly select a letter of dictionary and then a work of the letter choicen. That word prints blank spaces to screen of lenght of word. User is ask to enter the letter by letter or complete word.

Reference

1. Specification for a Standard Humanoid
http://www.h-anim.org/Specifications/H-Anim1.1/ [2/20/05]

2. A Standard Joints/Segment Diagram: http://h-anim.org/h-anim1_1f.gif [2/17/05]

As general reference in I will refer to other OpenGL tutorials: