Document

24
1 A PRACTICAL WORK Of Text Based RPG On THE LITTLE MASTER SRT “THE LEGEND”” IMPLEMENTED WITH VC++ Console Application. Submitted By: PAKKI SANTOSH Registration Number : 2013PG03074 DEPARTMENT OF GAME DEVLOPMENT

Transcript of Document

Page 1: Document

1

A

PRACTICAL WORK

Of

Text Based RPG

On

“THE LITTLE MASTER SRT

“THE LEGEND””

IMPLEMENTED WITH VC++ Console Application.

Submitted By:

PAKKI SANTOSH

Registration Number : 2013PG03074

DEPARTMENT OF GAME DEVLOPMENT

Page 2: Document

2

“Little Master “The Legend” ”

IMPLEMENTED WITH VC++

Practical work submitted in partial fulfillment

for the award of the degree

of

Post graduation diploma

in

Game Development

Submitted By:

PAKKI SANTOSH

Registration Number : 2013PG03074

UNDER THE GUIDENCE OF

Mrs. Smita anjali Mishra

DEPARTMENT OF PGGMD

IMAGE COLLEGE OF ARTS,ANIMATION & TECHNOLOGY

BANGALORE.

Page 3: Document

3

DECLARATION

I do hereby declare that this submission is my own work and to the

best of my knowledge and belief, it contains no material previously

written by another person nor material which has been accepted by the

award of any other degree or diploma of the university or other

institute of higher learning, except where due acknowledgement has

been made to the text.

I also declare that, as required by project rule and conduct, I have fully

cited and referenced all materials and results that are not original to

this work.

Name : PAKKI SANTOSH

Registration Number : 2013PG03074

Project Title : (Signature of the student)

“Little Master “THE LEGEND””

BONAFIDE CERTIFICATE

Page 4: Document

4

Certified to be the bonafide record of practical work done by

PAKKI SANTOSH,

ID No.:2013PG03074, of PGD IN GAME

DEVELOPMENT.ICAT,BANGALORE.

________________ _____________

H.O.D Staff In-Charge

Submitted for the Introduction to programming module assessment

held on ______________.

Examiners:

Name: Signature

1. ______________ ______________

2. ______________ ______________

Page 5: Document

5

Contents

BONAFIDE CERTIFICATE ........................................................................................................... 3

GAME DESIGN DOCUMENT ................................................................................................................ 6

2.1 Log File: ..................................................................................................................................... 6 2.2 Synopsis: .................................................................................................................................... 6

TECHNICAL DESIGN DOCUMENT ...................................................................................................... 12

TECHNICAL SPECIFICATIONS: ..................................................................................................................... 12 Software’s used: ............................................................................................................................ 12

SAMPLE CODE: ................................................................................................................................. 13

CODE FOR MAIN MENU: .......................................................................................................................... 13 CODE FOR JUMBLED QUIZ: ....................................................................................................................... 14 CODE FOR SACHIN AS CHEF: ..................................................................................................................... 15

UML DIAGRAMS ............................................................................................................................... 17

USE CASE DIAGRAM ........................................................................................................................... 17 STATE DIAGRAM ..................................................................................................................................... 18 ACTIVITY DIAGRAM ................................................................................................................................. 18 CLASS DIAGRAM ..................................................................................................................................... 19 SEQUENCE DIAGRAM ............................................................................................................................... 19

GAME SCREENSHOTS ....................................................................................................................... 20

DIFFICULTIES FACED WHILE DEVELOPING ........................................................................................ 23

CONCLUSION ................................................................................................................................... 24

Page 6: Document

6

Game Design Document

1. Document history:

Version 1.1

2. Vision:

2.1 Log File:

Text based RPG,Puzzle.

2.2 Synopsis:

The player has to guess the jumbled letters or guess the quantities.

2.2.1 Uniqueness:

Game play is the main uniqueness in this game. The game is a

text based rpg for console programming & the unique feature of

this game is the story behind making of the game.

2.2.2 Game Mechanism:

The keys are:

It is a menu driven user friendly game where the user just needs

to enter the guesses by the help of keyboard.

Page 7: Document

7

2.2.3 Game settings:

The game was set up in a black gradient background with

colored font.

2.2.2 Look and Feel:

A console based colorful user friendly interface.

3. Marketing:

3.1. Target Audience:

This game can be played by any users of any age,Especially the

fans of Sachin Tendulkar.

3.2. Platform:

PC with windows XP or above.

3.3. System Requirements:

Windows XP/Vista/7/8

Min. 512 MB Ram

1GHz Processor

50 MB Hard Disk Space.

Page 8: Document

8

3.4. Top Performers:

There are many games with a puzzle concept but the concept of

picking up “THE GOD” is what would be trending in the game.

4. Legal Analysis:

All copyrights belong to PAKKI SANTOSH.

5. Gameplay:

5.1. Overview:

The overview of the game play is simple; the user has to guess the

puzzle & guess it right.

5.2. Gameplay functions:

The following functionality has been given to player in the game:

The user can play with the menu’s like if the user wants to read

a story he should jump into play in main menu to the plot in

game menu.

Page 9: Document

9

5.3 Game Control:

5.3.1 Interface:

The main menu will have basic options like Play,credits and

Exit. In Play the gamemenu appears where the options of

plot,playoffmodes&exit exists.

5.3.2 Rules:

The player should act according to the console

instructions.

5.3.3 Scoring and Winning Condition:

You need to win the game.

5.4. Modes of Play:

This is a single player based PC game.

5.5. Levels:

There are two modes :

- JUMBLED QUIZ

- SACHIN AS CHEF

The third mode will be added soon

- MANAGE FAREWELL PARTY.

Page 10: Document

10

5.6. Future Enhancements:

It can be ported to various other platforms like mobile phones, &

on different operating systems & will be made platform

independent etc. More levels can also be added in the future.

6. Game Elements:

6.1. Game Character Designs:

This is a text base game hence no characters are included.

6.2. Types of Characters in Roles:

6.2.1. Playable Character:

There is only one playable character in this game that is a

the user himself.

6.2.2. Enemy character:

This is a puzzle game & has no enemies..

7. Story:

7.1. Synopsis:

The story is all about the most trending retirement of Sachin

ramesh tendulkar in real world.

Page 11: Document

11

7.2. Complete Story:

The maestro after delivering one of the moving,emotional &

eloquent oration ever with a heart tugging farewell speech adds yet

another dimension to his persona & now that he is a former Indian

cricketer, The Bharat Ratna,Padma vibhushan,padma shri,Arjuna

awardee, the Brand Tendulkar just got bigger & better with the

love people have for him in India & abroad as well.Sachin in

sanskrit means Purity & in latin Precious & as the name suggests

he is indeed Purely Precious for our country and his dedication

towards serving the nation will be memorable for decades.Being

Indians we must be proud enough to have him in our country &

for whom no words can express gratitude.I Purely dedicate this

game as a small token of tribute towards the legend in whatever

way i can to show my respect towards THE GOD.I Have designed

two game modes where in the 1st mode there is a jumbled letters

quiz on srt,in & in the 2nd the player should play Sachin as a

chef.Just select your mode in the game menu to get started.

7.3. Narrative ways:

Text format in game and also before the game starts.

Page 12: Document

12

Technical Design Document

Technical Specifications:

Software’s used:

Microsoft Visual Studio 2012.

Notepad.

Platform:

PC with Microsoft Windows XP or later.

Page 13: Document

13

Sample Code:

Code for Main Menu:

void mainmenu() //Main Menu { label1: system("cls"); cout<<"\n\n"; color(11); line(70,'-'); cout<<"\n\n\t\t LITTLE MASTER SRT ""THE LEGEND"" \n"<<endl; line(70,'-'); color(11); cout<<"\n\n\t\t\tM.E.N.U"; cout<<"\n\n\t [1] PLAY GAME \n\n\t [2] CREDITS \t\t [3] EXIT"; cout<<"\n\n\t\t\t"; int sel; cin>>sel; switch (sel) { case 1:{ gamemenu(); break; } case 2:{ system("cls"); cout<<"\n\n"; color(10); line(60,'*'); cout<<"\n\n"; cout<<"\t\t THE LITTLE MASTER SRT RPG \n\tIS DESIGNED & DEVLOPED BY PAKKI SANTOSH @ ICAT\n"; cout<<"\t\t\t IN C PLUS PLUS \n\n"; line(60,'*'); color(7); labela: cout<<"\n\n [b] back to main menu"; char ab; cin>>ab; if(ab=='b') { mainmenu(); } else { goto labela; } break; } case 3:{ exit (0); break; } default: { goto label1; break; }

Page 14: Document

14

} }

Code For Jumbled Quiz:

class Jumbled { public: string jumble() { labelf: system("cls"); { enum fields {WORD,HINT,NUM_FIELDS}; const int NUM_WORDS=10; const string WORDS[NUM_WORDS][NUM_FIELDS]= { {"sachin dev burman","INSPIRATION to SACHIN'S NAME"}, {"sachin tendulkar","MASTER BLASTER"}, {"sara tendulkar","DAUGHTER"}, {"arjun tendulkar","SON"}, {"ramakant achrekar","COACH"}, {"vinod kambli","FRIEND"}, {"ajit tendulkar","BROTHER"}, {"ramesh tendulkar","FATHER"}, {"sudhir kumar","FAN"}, {"ms dhoni","CAPTAIN"} }; /*enum difficulty { EASY,MEDIUM,HARD,NUM_DIFF_LEVELS}; cout<<"There are " << NUM_DIFF_LEVELS<<"difficulty levels.";*/ srand ( (unsigned int)time(0) ); int choice=(rand() % NUM_WORDS); string theWord=WORDS[choice][WORD]; string theHint=WORDS[choice][HINT]; string jumble=theWord; int length=jumble.size(); for (int i=0;i<length;++i) { int index1=(rand() % length); int index2=(rand() % length); char temp=jumble[index1]; jumble[index1]=jumble[index2]; jumble[index2]=temp; } color(4); line(70,'@'); cout<<"\t\t\tWELCOME TO JUMBLED QUIZ !\n\n"; line(70,'@'); cout<<"\n\n\nUnscramble the letters to make a word.\n"; cout<<"Enter 'hint' for a hint.\n\n"; cout<<"Enter 'quit' to quit the game.\n\n"; cout<<"The jumble is:"<<jumble; string guess; cout<<"\n\n Your guess: "; cin>>guess; while(guess==theWord) { cout<<"\n You are Absolutely Correct... \n";

Page 15: Document

15

cout<<"Thanks for playing.\n"; goto labelf; return (jumble); } while ((guess!=theWord) || (guess!="quit")) { if (guess=="hint") cout<<theHint; else cout<<"Sorry,that's not it. "; cout<<"\n\nYour guess: "; cin>>guess; } } } };

Code For Sachin as Chef:

class Chef { int water,leaf,milk,sugar; public: void tea() { system("cls"); cout<<"\n\n"; color(11); line(70,'-'); cout<<"\n\n\t\t SACHIN AS A CHEF"" \n"<<endl; line(70,'-'); typewriter(25,"\n\nThe next morning after retirement sachin wants to prepare 4 cups of tea for his family,just guess how he prepares\n\n"); cout<<"\n\nEnter the values for ingredients for 4 cups of indian tea"; cout<<"\nQuantity of water in cups :"; cin>>water; cout<<"\nQuantity for tea leaves in tbsps :"; cin>>leaf; cout<<"\nQuantity of milk in cups :"; cin>>milk; cout<<"\nQuantity of sugar in tbsps :"; cin>>sugar; { if (water==3 && leaf==4 && milk==3 && sugar==4) { cout<<"You Guessed it perfect"; system("pause"); } else {

Page 16: Document

16

cout<<"retry"; } } } };

Page 17: Document

17

UML diagrams

USE CASE DIAGRAM

Page 18: Document

18

State Diagram

Activity Diagram

Page 19: Document

19

Class Diagram

Sequence Diagram

Page 20: Document

20

GAME SCREENSHOTS

Page 21: Document

21

Page 22: Document

22

Page 23: Document

23

Difficulties faced while developing

To be honest, I faced a lot of difficulties during the development stage.

Few of which had simple solutions, few others were silly mistakes and

others which were really big problems. The first problem was to stick on

to an idea. Initially I had around two different games in mind. But had to

choose one among them and never look back. This was a very tough

decision to make, considering the fact that this could completely destroy

the project if the concept was bad. So after a lot of thought and also with

practicality as one of the keen factors, I decided to go with little master.

Once the concept was ready, I had to start off with the coding and

designing part. The designing part was probably the easiest of all the

different things involved in the whole module. The programming

initially seemed to be going pretty well. But once the entire gameplay

was coded, there came one problem after another. And ofcourse to be

mentioned visual studio 2012 made a lot of things easier but the

compilation process for different architectures made it really very

difficult and some system errors for my pc occurred during compilation

which could not be rectified.

Page 24: Document

24

Conclusion

While developing this game there were a lot of things which I learnt. Firstly, I

learnt what a game really is. Apart from the hundreds of lines of code, there is

much more in a game. Even if the code is perfect, without an equally good

gameplay and concept, the game will be a flop. So, instead of only

concentrating on the programming part of it, as developers, we also learnt a lot

about game designing.

Initially, before we started with the actual programming. All of us had our own

idea about the game which we were about to do. But I’m sure none of our

games turned out to be what we imagined. It has either some bits added or

some others taken off. Then again, initially I thought for making more

attractive and interesting add some more levels. This project taught us more

effective and easier way to program.