Project plan

Post new topic   Reply to topic

View previous topic View next topic Go down

Project plan

Post  Nathan on Tue Nov 18, 2008 4:03 pm

What we're doing now:

I will write about the game mechanics.
Edgar will work on character, enemy and weapon design.
Jun will design the platform segments.

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

Re: Project plan

Post  Jun on Tue Nov 18, 2008 6:05 pm

just a brief outline...

Stage 1:
Bad guys raided the village, burned down the village, killed civilians and abducted Mya in the middle of the night.
Zac went after the bad guys.
Setting: Burned Village
Mini Boss: Enemy Leader
Upon defeating the leader, he reveals where they're taking Mya, and Zac goes after them.

Stage 2:
Setting: Forest outside the village
Enemies: bad guys remnants & forest critters
Mini Boss: Flesh Eating Mutant Flower/Plant type of thing (forgive my limited vacab.)
Upon defeating the boss, it excretes a poison fume and knocks out Zac. Zac fell into a coma.

Stage 3:
Setting: Zac's Dream (Fantasy)
In the dream, Zac faces multiple copies of himself.
Mini Boss: Zac
Upon defeating the boss, Zac had a revelation and learned the first magic.
Zac wakes up from the coma in a neighboring village where he was saved.

Stage 4:
Rejuvenated, Zac continues on his quest. Before he left, the villagers who saved him learned about his stories and gave him a new weapon.
Setting: Desert
Mini Boss: Desert Scorpion
After Zac kills the scorpion, he is heavily bent out of shape due to dehydration. He then sees a ruined city at the end of the desert.

Stage 5:
Setting: Ruins
Mini Boss: Ghost (former solder/general/etc)
Note: New weapon (or magic) obtained.

Stage 6:
Setting: Maze
Note: The background sceneries of this stage is completely identical at every turn. Upon reaching an intersection, Zac will be given a choice to go either left or right. Hints to getting out of the maze can be found within the maze.
No boss fight.
Secret weapon (or magic) may be obtained.

Stage 7:
Setting: Underwater
Note: There will be a time limit for this stage. When the time is up before Zac reaches the end, Zac will run out of oxygen and drown.
No boss fight.


Stage 8:
Setting: Tundra

Stage 9:
Setting: Mt. Dul’Gaz (Volcano)

Stage 10:
Setting: Sorcerer-King Serundar's Castle

Final Boss fight:
Setting: Sorcerer-King Serundar's altered dimension (void, emptiness, vacuum, whatever you call it)

Suggestions/Inputs please. I'll add more later. Going to class now.


Last edited by Jun on Fri Nov 21, 2008 2:48 am; edited 1 time in total

Jun

Posts: 25
Join date: 2008-10-25

View user profile

Back to top Go down

Awesome

Post  Nathan on Wed Nov 19, 2008 1:45 am

Dude...I would totally play a game that had those level designs in that order.....
Awesomeness. (though cliche, it is a proven formula).

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

Bring list

Post  Nathan on Wed Nov 19, 2008 1:48 am

Ok..so now that my awesomeness shock wore off...

Bring what list you have thursday and we'll iron it out.
We will also incorporate your story ideas into it as well.

Story is a problem I always have trouble creating from scratch but can manipulate once
it's started.

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

Re: Project plan

Post  Jun on Wed Nov 19, 2008 7:24 pm












Jun

Posts: 25
Join date: 2008-10-25

View user profile

Back to top Go down

Pictures

Post  Nathan on Thu Nov 20, 2008 12:13 pm

How'd you manage to post the pictures?

Anyway, my scanner isn't functioning either, it seems to be scanning only small portions of the book.
In other words, garbage. I ordered the book for 30 bucks so I find it of little consequence.

Sorry I couldn't get it scanned. Looks like you 2 will have to share after all. (unless I can get that scanner to
work but who knows how long that'll take...)

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

Re: Project plan

Post  Jun on Sat Nov 29, 2008 7:44 pm

Here's what I'm doing:

The above images are just prototypes of the UI. The actual implementation will be a combination of image files (*.PNG) loaded onto the screen at specific pixels.
IE. There will be a PNG file for the HP bar, MP bar, item icon(s), etc.

Since we have a real artist in the group now. I'll need to talk to Ken more in person to discuss how we are going to do this. I assume he has a Wacom pad, which makes it all much easier.

EG. Item Icon 01 (assume the F1 key is bound to the activate/use the first item)
No input:
item1.loadBackgroundImage( item1_deselect.PNG, 550, 580 );
item2. ... ( item2_deselect.PNG, 600, 580 );
item3. ... ( item3_deselect.PNG, 650, 580 );
item4. ... ( item4_deselect.PNG, 700, 580 );
item5. ... ( item5_deselect.PNG, 750, 580 );
item6. ... ( item6_deselect.PNG, 800, 580 );


Item is obtained and stored:
item1.loadObjImage( potion.PNG, 555, 585 );


Hitting F1 key:
item1.loadBackgroundImage( item1_select.PNG, 550, 580 );
item1.unloadObjImage();

Jun

Posts: 25
Join date: 2008-10-25

View user profile

Back to top Go down

Re: Project plan

Post  Jun on Tue Dec 02, 2008 2:08 pm

Can Ken maybe draw up a nice/subtle border for these bars please? Thanks

Specs:
400x30 pixels; 400x25 (MP); 650x15 (Boss HP)
Resolution: 300 pixels/inch
8-but RGB

HP:

MP:

Boss HP:


examples:
Hit Points (HP) are changed only when 1 of these 3 events occur:
1. getting hit
2. using potion
3. loading of a new stage

Pseudo code for HP bars:
double hp_percent = current_hp / max_hp;
if ( hp_percent > 0.5 ) hp_bar.fill( Green, starting_x_pixel, starting_y_pixel, hp_percent * hp_bar( length ) );
// if current HP is more than 50%, it fills the HP bar with the color green, up to the corresponding percentage.
if ( hp_percent > 0.25 && hp_percent <= 0.5) hp_bar.fill( Yellow, ..., ..., ... );
if ( hp_percent > 0 && hp_percent <= 0.25) hp_bar.fill( Red, ..., ..., ... );
if ( hp_percent == 0 )
{ load( hp_bar.PNG ); load( game_over.PNG ); ... }

// the same principle works for MP and Boss HP bars, except there's no if-else statements to fill with different colors.














Last edited by Jun on Wed Dec 10, 2008 6:06 pm; edited 1 time in total

Jun

Posts: 25
Join date: 2008-10-25

View user profile

Back to top Go down

Pseudocodes?

Post  Nathan on Mon Dec 08, 2008 2:28 am

Would you mind elaborating?

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

Re: Project plan

Post  Jun on Sat Dec 13, 2008 4:52 am

Pseudo code for the maze:

/*
10 instances (parts) of maze (# not definite)
For each instance of the maze, there're 3 exits: the entry point,
and 2 other exits that could either lead the player closer to the final exit or a deadend.
Each instance, while references to a different obj, loads the exact same map.
A deadend has no exits, only an entry point. And it loads a different map.
*/

Code:
Obj maze[10];


/* initial load from WorldMap */
Code:
loadMaze( maze[0],&worldmap );


/* eg. entering maze */
Code:
void loadMaze( Obj current_maze, Obj *prev ) {
  if(deadend) loadMazeDeadEnd(&current_maze);
  else{
    loadMap( map_stage_maze.MAP );
    ...
    ...
    // getting user input/choice
    ...
    ...
    if(left){
      switch(current_maze.index()){
        case 0: loadMaze( maze[1],&current_maze ); break;
        case 1: loadMaze( maze[3],&current_maze ); break;
        case 2: loadMaze( maze[5],&current_maze ); break;
        ...
        ...
        case 9: loadStoryLine(6); loadWorldMap(); break;  //exit!
        default:
        }
    }
    else{
      switch(current_maze.index()){
        case 0: loadMaze( maze[2],&current_maze ); break;
        case 1: loadMaze( maze[4],&current_maze ); break;
        case 2: loadMaze( deadend,&current_maze ); break;  //ie. maze[2].right=deadend
        ...
        ...
        default:
        }
    } 
};


/* loading deadend.
The &prev reference is especially important here because there is no multiple instances of deadend.
Therefore, when the player goes back to the previous map, the game has to remember where the user came from. */

Code:
void loadMazeDeadEnd( *prev ){
  loadMap( map_maze_deadend.MAP );
  ...
  ...
};


Let me know if there's any logical errors in this pseudo code, or over complicated than necessary or whatever...

Jun

Posts: 25
Join date: 2008-10-25

View user profile

Back to top Go down

remains to be seen

Post  Nathan on Sat Dec 13, 2008 12:48 pm

Well we won't be able to tell until we actually figure out how to load levels...
The maze idea is pretty good. We won't have to draw as many textures.
Also, actionscript does not use pass by reference so we'll have to account for
that.

Oh and it doesn't use pointers either but I already know how to account for that so
no worries.

Nathan

Posts: 37
Join date: 2008-10-24

View user profile

Back to top Go down

View previous topic View next topic Back to top


Post new topic   Reply to topic
Permissions of this forum:
You can reply to topics in this forum