It is currently Wed Apr 16, 2014 8:05 pm

All times are UTC - 5 hours




 Page 1 of 1 [ 11 posts ] 
Author Message
 Post subject: Re: Ghost Toast Game Released
PostPosted: Mon Mar 30, 2009 3:33 am 
Site Admin

Joined: Sun Feb 11, 2007 8:59 am
Posts: 886
Location: Ontario Canada
Download the Ghost Toast game from this location.


Offline
 Profile  
 
 Post subject: WOW! Scary! :)
PostPosted: Mon Mar 30, 2009 3:47 am 

Joined: Wed Aug 06, 2008 7:53 pm
Posts: 182
Location: Russia
WOW! Excellent! Very playable, enjoyable and scary. The game of the first class among small games! And that radar behaves just like the one in the Aliens movie. :)

Extensions (mostly about game logic).
• Right after the game play finished and if the player gathered enough scores a dialog is inviting to enter the name. I have noticed that there is no pause between the end of the game and the appearance of this dialog. As a result just because the user usually keep pressing one of the direction buttons (ASDW) one of these letters fills the place for the name, i.e. AAAAAA or WWWWW. This is not harmful since one can delete these letters via BackSpace, but I think it is possible to ignore the keyboard input for a while just after the end of the game. For instance, 1 sec pause + keyboard buffer cleanup right before the player is allowed to type in his/her name should help.
• If the player press ESC during the game only two options are available: exit or continue. I think it would be convenient to add the 3rd menu item – CONFIGURE. (Some options still could be unavailable for changing during the game play, but the others should be, i.e. keyboard mapping).
• The customers want more TYPES of the monsters. (Oh, and more special effects :) )
• One should have the possibility to skip the starting splash screen animation (although it is quite short) by ESC.
• Consider a possibility to play the game on the laptop (without the mouse alike manipulator - only keyboard).
• Full screen mode.

Image

GREAT WORK. :)


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Mar 30, 2009 5:37 am 
Site Admin

Joined: Sun Feb 11, 2007 8:59 am
Posts: 886
Location: Ontario Canada
Thanks for the feedback BugHunter.

There are a lot of features that I can think to add into the game, but I have chosen to leave them out so that I can finish the game quickly. I wanted to have a "complete" version of the game released before I continue making the VMK video tutorials for the game.

I'm excited to see what kinds of modifications and extra's people add to their own version of the game when they complete all the Ghost Toast VMKs.


Last edited by Marek on Sun May 31, 2009 6:57 am, edited 1 time in total.

Offline
 Profile  
 
 Post subject:
PostPosted: Tue Mar 31, 2009 3:46 pm 

Joined: Sat Jun 23, 2007 7:56 pm
Posts: 145
This is Great. Played it and like the concept.There is a sense of urgency while moving around and even standing.

I have a suggestion,

Could the ghots be made to stop moving once a certain distance from you?
This would give the player a fighting change and stop them from standing right on top of the player.

Great work!


Offline
 Profile  
 
 Post subject:
PostPosted: Tue Mar 31, 2009 6:25 pm 
Site Admin

Joined: Sun Feb 11, 2007 8:59 am
Posts: 886
Location: Ontario Canada
codeslasher wrote:
Could the ghosts be made to stop moving once a certain distance from you?
This would give the player a fighting change and stop them from standing right on top of the player.


I have purposefully made the game impossible to beat since there is no definitive end to the game anyway. You’ll notice that the ghosts move faster and faster as the game progresses to make sure that eventually there comes a time when the player cannot out maneuver them.

The game is just an introduction to game development and I hope that people will create a more interesting version of the game when they complete the video tutorials in the Ghost Toast series.


Offline
 Profile  
 
 Post subject:
PostPosted: Thu Apr 02, 2009 8:53 pm 

Joined: Fri Nov 23, 2007 1:00 am
Posts: 52
Location: Your PC
It works perfect for me since I'm using Vista 32bit.

I only get collision bugs with the ghosts some times.

I.E I would shoot the arrow and some how it wouldn't kill it or if I melee it and I'm right next to it or in it.

Other then that it's very cool! :D

I'm surprised you didn't use billboards as a ghost. But the 3D models work a lot better.

The radar was alright, though I didn't see a much use out of it if your trying to scare users. So I kinda didn't get the point of it if they come at you. A meter or something like that would be useful to tell how far your away from a ghost.


Hope to see some new stuff real soon!

You should post this in GameDev in the screen shot section to attract new users.

Great work like always. :wink:

-Ajm


Offline
 Profile  
 
 Post subject:
PostPosted: Fri Apr 03, 2009 12:58 am 

Joined: Wed Aug 06, 2008 7:53 pm
Posts: 182
Location: Russia
codeslasher wrote:
Could the ghoats be made to stop moving once at certain distance from you?


Oh, no! I'm afraid this would violate the main ghost's principle - suck the snips of your soul out of you.. :D

What is really scaring is their ability to walk through the walls. :D


Offline
 Profile  
 
 Post subject: Little bug in Ghost Toast
PostPosted: Sat Dec 19, 2009 12:11 pm 

Joined: Sat Apr 19, 2008 6:26 am
Posts: 60
I find little bug this game. If choice crossbow and arrow > 1 - Press "esc" (pause menu) click "continue" - continue game and shoot arrows (little bug).


Offline
 Profile  
 
 Post subject:
PostPosted: Mon Dec 21, 2009 7:16 am 
Site Admin

Joined: Sun Feb 11, 2007 8:59 am
Posts: 886
Location: Ontario Canada
Thanks chester30. The bug is caused by us acting on GUI button presses when the mouse button is pressed down, rather than up. Because of this we transition to the game state and there the mouse button is still pressed so we shoot an arrow.

A better way to handle GUI controls is to always act upon them when you release the mouse button rather than when you press on them. You'll notice that pretty much all Window's GUI's act this way.


Offline
 Profile  
 
 Post subject: Ghost Toast Performance Issues
PostPosted: Thu Feb 24, 2011 7:07 am 

Joined: Thu Dec 23, 2010 9:46 am
Posts: 6
Location: Pakistan
Well I have been playing this game alot. Although I am still learning the OpenGL Game Engine Development DVD part I. Recently i just tested out the game's performance through Task Manager. I found that it is using too much CPU, around 40 to 42. Which is too high. I have CoreI5 with 4 cores 2.67 Ghz and GTS250xfx graphics card and 4 GB of RAM.

Sometime earlier i looked into the book OpenGL Game Programming by Kevin Hawkins And Dave Astle. They also created a game in the end of the book and that game also loads models and a terrain and collision detection and missile model alongwith particles explosion. That game uses only 4 to 5 CPU at the minimum and when played very roughly its CPU usage rises up to 15 or 16, But thats when u fire several rockets at a single go and several particle systems come into play to simulate explosion. So i searched for the performance enhancement measure that they may have used in their game. And after searching out i found the following small snippet of code that enhanced there game to utilize less resources and that was in their Game Loop Like as shown below.

for(;;)
{
     // Render Game Frame
     RenderFrame();

     while(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
     {
            if(!GetMessage(&msg, NULL, 0, 0))
            {
                  return msg.wParam;
            }

            TranslateMessage(&msg);
            DispatchMessage(&msg);
     }

}


I tested out the following code with a simple window application and it really optimized the CPU usage. Now My Question is, although this code reduces the resource utilization of any windows application. But what does this code do in the back ground. I mean what are the differences between PeekMessage() and GetMessage() and what happens when they are both used together. I know a little bit about PeekMessage() And GetMessage() and that PeekMessage() is good for Games because it allows for continuous response, whereas GetMessage() waits for the message in the message Queue, but what are they doing in the code above, that the game runs the way it should run, alongwith less resource utilization.

Below is my version of the code

   for(;;)
   {
      RenderFrame(engine);

      while(!engine->QuitGame)
      {
         PeekMessage(&engine->WindowMessage, NULL, 0, 0, PM_NOREMOVE);

         if(engine->WindowMessage.message == WM_QUIT || !GetMessage(&engine->WindowMessage, NULL, 0, 0))
         {
            engine->QuitGame = true;
         }
         
         TranslateMessage(&engine->WindowMessage);
         DispatchMessage(&engine->WindowMessage);
      }

      if(engine->QuitGame == true)
      {
         break;
      }
   }


Offline
 Profile  
 
 Post subject:
PostPosted: Sat Feb 26, 2011 7:31 am 
Site Admin

Joined: Sun Feb 11, 2007 8:59 am
Posts: 886
Location: Ontario Canada
For reference, the code in VMK 3 looks like this:
Image

Notice that I'm using PeekMessage with the PM_REMOVE flag. This means that we look to see if there is a message waiting for us, and if there is, then remove it from the queue and put it into m_Message to process.

In the code example from the book, PeekMessage is used with PM_NOREMOVE. This means that if there IS a message, it will be copied to msg, but it will still remain in the queue. GetMessage is then called to remove the message from the queue. If there is more than one message then you continue to loop inside the while-loop processing all the messages in the queue before exiting and going back into the for loop to render.

My implementation and the books implemenation is essentially the same thing. The only difference is that I have one looping structure (while) where as the book uses two (for and while).

Looking at the code that you implemented, I'm a little confused on how you intend it to work. From what I see, the program will:
* go into the for loop
* call RenderFrame once (!)
* go into the while loop
* continue looping inside the while loop until WM_QUIT is received or there is an error caused by GetMessage

Note that RenderFrame is only called once because after the first call you get stuck inside the while loop until you quit your game.

The other problem that I see in your implemenation is that RenderFrame is always called at least once, even if engine->QuitGame is true when you first get to the for-loop.

Hope this helps answer your question!


Offline
 Profile  
 
Display posts from previous:  Sort by  
 Page 1 of 1 [ 11 posts ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  

cron