Pandora Pandora Panic


Okay - thanks for the spear suggestions, however I'd rather do it properly as the middle section isn't uniform, but don't worry about it, I can get something sorted one way or other.

For the performance questions, my machine is running XP (Service Pack 2 I believe), it only has 1 GB of RAM, should be plenty, but maybe something is eating it (Code::Blocks?). When I tried to run release it seemed to give a non descript error along the lines of 'Could not run' but I'm at work now so can't check. I probably won't be home until late tonight, but tomorrow evening I should be able to give more detailed information. Also, I'm just capturing with Jing, which is very quick to use/share media with, but probably not as good performance wise as say fraps or what have you, so maybe I'll need to look in to other solutions.

My google mail account is rockthesmurf [@] gmail [.] com - so if you can add me to the project that'll be great - do I still access everything via the same URL? Also, what is the best way to get the latest framework code and data? Is there a SVN url for it, or is it just the case of extracting ZIP's?

Many thanks,

Steve
 
Good to see this topic coming to life again! I just committed my Arena minigame to the Google page. it's done in two updates the first being the source files, the other the resources. Also, don't forget to update penjin, as I also added my hitregion class to it, and it's needed to play Arena.
 
Rockthesmurf said:
Okay - thanks for the spear suggestions, however I'd rather do it properly as the middle section isn't uniform, but don't worry about it, I can get something sorted one way or other.

For the performance questions, my machine is running XP (Service Pack 2 I believe), it only has 1 GB of RAM, should be plenty, but maybe something is eating it (Code::Blocks?). When I tried to run release it seemed to give a non descript error along the lines of 'Could not run' but I'm at work now so can't check. I probably won't be home until late tonight, but tomorrow evening I should be able to give more detailed information. Also, I'm just capturing with Jing, which is very quick to use/share media with, but probably not as good performance wise as say fraps or what have you, so maybe I'll need to look in to other solutions.

My google mail account is rockthesmurf [@] gmail [.] com - so if you can add me to the project that'll be great - do I still access everything via the same URL? Also, what is the best way to get the latest framework code and data? Is there a SVN url for it, or is it just the case of extracting ZIP's?

Many thanks,

Steve
It really shouldn't be a problem of RAM, so I'm not sure where your performance troubles are coming from...

I can add you to the repo but I'm a little wary since you sound like you don't really understand SVN, hee hee. you use something like tortoiseSVN to connect to the address you see on the google code page. It is kind of like and advanced FTP client. You use this to "checkout"(read download) a local copy of the source from the server. this copy has versioning info and can tell when files have been modified in the folder. You should see green ticks if everything is up to date. a red "!" means you have modified a file and if it was intentional you can commit it, if it's a mistake you can revert it.

You should try and use the SVN since the latest changes are updated there, before I get round to making code snapshots. Also when you get used to using the SVN a can later give you commit rights so you can more actively contribute your code.
 
Last edited by a moderator:
Don't worry about my SVN knowledge, I can assure you it is a whole lot better than you imagine, but still my question remains, the URL I'm checking out from is:

http://pandorapanic.googlecode.com/svn/trunk

And that gets me the game code, but I also had to extract:

PandoraPanicData.7z
PandoraPanicFramework.7z

And I've had to add data (assets for game) and might make a slight change to the framework to meet my sprite requirements, so my question is how I would go about doing this, when currently those files aren't version controlled on my system...

Steve
 
Dragons_Slayer said:
Good to see this topic coming to life again! I just committed my Arena minigame to the Google page. it's done in two updates the first being the source files, the other the resources. Also, don't forget to update penjin, as I also added my hitregion class to it, and it's needed to play Arena.

I just played Arena, pretty funny game allready :)

And all this activity has inpired me to make another minigame. I started with the engine for Jumper, and am making it into a maze solving game. I already have the hero staying within maze corridors and moving correctly. Currently im programming a very basic AI for the enemies, i want them roaming around the maze freely instead of following a set pattern. They are moving randomly now, but still some small bugs where they move through tiles, working on that now.

Artistic input is welcome!!!! i need enemies, a hero, tiles (all 32x32) and a background (800x480, doh). Im currently using the clouds (see my sig picture) and tiles from jumper as placeholders, but i'd rather use some original graphics.

Cheers!!!

p.s. I'm baaaaaaaack :D
 
Last edited by a moderator:
I find the easiest way to make sure that AI can't move in impossible ways is to create a class (a Controller, if you will) that is an intermediate between the user input and the actual class that is the user's on-screen character. It checks the input to make sure that you're not trying to move through a wall (or some other impossible command), then updates the sprite's data accordingly. If you use a method like that, an easy random AI would be to just attach one of those controllers to the enemy sprite and give it random key-presses (or semi-random ones). That will ensure that it doesn't do anything a normal player wouldn't be able to do.

(Sorry if that was confusing, I tried to condense a MASSIVE game programming paradigm into just a few sentences.)
 
Vorporeal said:
I find the easiest way to make sure that AI can't move in impossible ways is to create a class (a Controller, if you will) that is an intermediate between the user input and the actual class that is the user's on-screen character. It checks the input to make sure that you're not trying to move through a wall (or some other impossible command), then updates the sprite's data accordingly. If you use a method like that, an easy random AI would be to just attach one of those controllers to the enemy sprite and give it random key-presses (or semi-random ones). That will ensure that it doesn't do anything a normal player wouldn't be able to do.

(Sorry if that was confusing, I tried to condense a MASSIVE game programming paradigm into just a few sentences.)

Well i did it a LOT easier, i just made the enemies move until they hit a wall and then make them turn randomly :p Since it's a maze situation it seems to work pretty decent, just some collision checking to correct due to my (very) sloppy programming ;)

But thanks for the advice, it will come in handy in future projects
 
Last edited by a moderator:
Rockthesmurf said:
Don't worry about my SVN knowledge, I can assure you it is a whole lot better than you imagine, but still my question remains, the URL I'm checking out from is:

http://pandorapanic....e.com/svn/trunk

And that gets me the game code, but I also had to extract:

PandoraPanicData.7z
PandoraPanicFramework.7z

And I've had to add data (assets for game) and might make a slight change to the framework to meet my sprite requirements, so my question is how I would go about doing this, when currently those files aren't version controlled on my system...

Steve

You shouldn't have to bother with the 7z files, since all the data should be in the SVN and more up to date than those 7z archives.
You also need to checkout the Penjin classes from the Penjin archive.

http://penjin.googlecode.com/svn/trunk

To add the files to be version controlled you right click them and add them with Tortoise. a blue + will appear on the files to signify that they are to be added on next commit.
 
Last edited by a moderator:
Dragons_Slayer said:
Good to see this topic coming to life again! I just committed my Arena minigame to the Google page. it's done in two updates the first being the source files, the other the resources. Also, don't forget to update penjin, as I also added my hitregion class to it, and it's needed to play Arena.
I finally have got around to getting a dev environment setup on my new box... I just checked out your Arena game, and I love the look! The sound fits very well too. Well done!
OK... let's see what I have to do...
 
Last edited by a moderator:
Still a work in progress, I need to fix up the spears so they actually come from the player (not the bottom of the screen!) and add animation, but I thought a video of progress so far was in order (can't seem to embed video on this page, so just a link):

WIP Pandora Panic Pang

Steve
 
Rockthesmurf said:
Still a work in progress, I need to fix up the spears so they actually come from the player (not the bottom of the screen!) and add animation, but I thought a video of progress so far was in order (can't seem to embed video on this page, so just a link):

WIP Pandora Panic Pang

Steve

That already looks really great, can't wait to play the final one :)
Btw, it seems like you fixed that performance issues you had earlier, could you explain where the problem was?

foxblock out
 
Last edited by a moderator:
foxblock said:
That already looks really great, can't wait to play the final one :)
Btw, it seems like you fixed that performance issues you had earlier, could you explain where the problem was?

foxblock out

Well, for now at least, I've just rolled my own classes for sprites/collision etc. but I think the problem before was a combination of the fact the FPS counter isn't accurate (this is what Poke was saying) and the fact capturing the game is really slow. To get that video posted I just added functionality to the engine to save out a .bmp for each frame, I then joined them together after. One thing that might cause issues is my custom sprite classes use SDL directly, and I notice the framework has ifdef's to allow it to run in different modes, so my code might not work on some platforms, etc. but I won't worry about that for now. I just added animation support, so the players have crab like walking graphics and am going to add the spear clipping stuff now!

Steve
 
Last edited by a moderator:
Rockthesmurf said:
foxblock said:
That already looks really great, can't wait to play the final one :)
Btw, it seems like you fixed that performance issues you had earlier, could you explain where the problem was?

foxblock out

Well, for now at least, I've just rolled my own classes for sprites/collision etc. but I think the problem before was a combination of the fact the FPS counter isn't accurate (this is what Poke was saying) and the fact capturing the game is really slow. To get that video posted I just added functionality to the engine to save out a .bmp for each frame, I then joined them together after. One thing that might cause issues is my custom sprite classes use SDL directly, and I notice the framework has ifdef's to allow it to run in different modes, so my code might not work on some platforms, etc. but I won't worry about that for now. I just added animation support, so the players have crab like walking graphics and am going to add the spear clipping stuff now!

Steve

Very impressive stuff! I must ask, however, what limitations did you have with the Penjin classes, since:
  1. I want to improve Penjin to cater for homebrew devs needs.
  2. I'm trying to keep Penjin (and PandoraPanic!) able to compile using different renderers and so using Penjin classes makes this easier.
I will give you committing access for PandoraPanic! I'm pleasantly surprised by how far along your minigame is! :)
 
Last edited by a moderator:
PokeParadox said:
Rockthesmurf said:
foxblock said:
That already looks really great, can't wait to play the final one :)
Btw, it seems like you fixed that performance issues you had earlier, could you explain where the problem was?

foxblock out

Well, for now at least, I've just rolled my own classes for sprites/collision etc. but I think the problem before was a combination of the fact the FPS counter isn't accurate (this is what Poke was saying) and the fact capturing the game is really slow. To get that video posted I just added functionality to the engine to save out a .bmp for each frame, I then joined them together after. One thing that might cause issues is my custom sprite classes use SDL directly, and I notice the framework has ifdef's to allow it to run in different modes, so my code might not work on some platforms, etc. but I won't worry about that for now. I just added animation support, so the players have crab like walking graphics and am going to add the spear clipping stuff now!

Steve

Very impressive stuff! I must ask, however, what limitations did you have with the Penjin classes, since:
  1. I want to improve Penjin to cater for homebrew devs needs.
  2. I'm trying to keep Penjin (and PandoraPanic!) able to compile using different renderers and so using Penjin classes makes this easier.
I will give you committing access for PandoraPanic! I'm pleasantly surprised by how far along your minigame is! :)

I am not at home right now so don't have code to hand but the main little things I had trouble with were probably at least partly misunderstandings of how things work and what is available. I added a control class which gets given your control class but then provides methods for checking if a button is held or hit - the latter only returning true the first time a button is pressed which is good for stuff like firing where you want the player to release the button and repress it to trigger an event. Secondly there is my sprite class which loads 32bpp PNGs in to hardware textures - it lets you specify a number of frames and animation speed and can then animate them. It also lets you specify a clipping rectangle that will effect both rendering and collision. Speaking of collision - it supports pixel test collision based on thq alpha channel of the sprite (and takes into account animation frame and clipping rect).

I think that's the main stuff - as I said - this stuff might be possible with the framework somehow - but I needed a specific set of features that rely on each other.

Will post new video soon!

Steve
 
Last edited by a moderator:
You might want to limit the player to one spear on screen at a time. Otherwise, the game gets a little too easy.
 
I am thinking that the version that ships with PandoraPanic will just be the panic mode of Pang, which, if I remember correctly, gives you two spears. I've added a bunch of different levels, which are trigged via the level stuff in the PandoraPanic framework (although I'm not entirely clear how that works, as the level numbers seem to go up forever, is there not going to be a limit?). But PandoraPanic aside, I can see potential for making this a standalone game after PandoraPanic has been released, the main thing that would need adding is ledges/ladders, which would require a bit of collision/logic code, but I would have thought should be do-able. I don't think I'll be putting in powerups in to the PandoraPanic version, but once again that could be added to a standalone version.

Oh, and something else, I ended up just calling the SDL timing function (to get milliseconds passed) as I couldn't quite get the timer class to do what I wanted, one problem I have at the moment is the time I get is in milliseconds, where as something with a bit higher accuracy would be ideal, although not crucial.

Steve
 
Hi people,

Since everyone is throwing around video's, i thought i might as wel join the party.

The first draft of the Maze game (WIP)

Graphics are mostly placeholders from Jumper, some ugly bits to clean up, and features to add. But it basically works.

Cheers!

Edit: Oh and as always: comments, tips and suggestions are appreciated

Edit2: @ Steve: Game is looking great! looking forward to the svn update

Edit3: I uploaded the basic, but very playable, first draft to the svn. Did not alter the minigames.h etc. since most will have their own configuration for development
 
Last edited by a moderator:
Well i'm not going to edit the last post again, so here's a new one...

Been working on the graphics side of the Maze thingy, and i'm curious about opinions, so i made a new youtube update. Currently without music, but i will update once upload times here are normal again

Check it here, get that thing out into the world ;)

Now to figure out a way to make the timer less intrusive, but still visible enough to get your nerves up...

Edit: Much better with music
 
Last edited by a moderator:
The graphics are really unique and I like the somewhat geeky style ;) but I would swap the background for something more simple, maybe just a gradient or a solid color, the way it now is it is much too disturbing and also hard to see the maze and enemies.

About the timer, well you could make a bar at the top/bottom which is full at the start and is slowly draining or make the music go faster (which is tricky when have different time limits)
or a nother idea in addition to the background change: you could make the letters very big and put it behind the maze. Also change the color to something similar to the background so if it is dark blue the text should be light blue. The way the maze now is one would still be able to see it without it getting into the way too much...
 
Back
Top