Pandora Pandora Panic


PokeParadox said:
Many apologies because you are doing NOTHING wrong there. I do believe it is in radians. The problem is a bug in that version of the code, it has been fixed by Cameleon very recently. It's in the SVN. I need to update the archive here so that you can use the fixed code.
Thanks! I was feeling bashful about asking because I'm such a novice with C++/SDL. It's nice to know it isn't me.

Is this a fix which is likely to filter through in the next couple weeks? I still have some other pieces of the game I can work on in the meantime.

--Todd
 
Last edited by a moderator:
todd said:
PokeParadox said:
Many apologies because you are doing NOTHING wrong there. I do believe it is in radians. The problem is a bug in that version of the code, it has been fixed by Cameleon very recently. It's in the SVN. I need to update the archive here so that you can use the fixed code.
Thanks! I was feeling bashful about asking because I'm such a novice with C++/SDL. It's nice to know it isn't me.

Is this a fix which is likely to filter through in the next couple weeks? I still have some other pieces of the game I can work on in the meantime.

--Todd

Hopefully before the weekend ;) I'm aiming for after I've had something to eat... let's see how we go!
Also please don't be shy to ask, it's how we learn and it's also how things get done quicker if you're stuck!
 
Last edited by a moderator:
Ok, I'm interested in this. I'm an alright programmer so I'll probably contribute a mini-game or two for you. Not so great at the artwork, but hopefully someone else can take care of that.

I've just managed to get the project compiled, and I have to say the lack of a readme has been a bit of a pain. For instance even something as simple as finding out which buttons to press on the menu to change to the state to 'playing' involved diving into the StateTitle.cpp code and taking a look at the StateTitle::keyDown method. Is a basic guide for utter newbie developers something you plan to produce in the near future? Might be useful depending on how many people you think are actually going to give it a crack.

I think I've got a grip on things for now, know where to drop my own mini-game files to get them to run etc, but do expect some undoubtably stupid questions in the near future. Hopefully I'll be able to contribute something along the way too.
 
RockyBst said:
Ok, I'm interested in this. I'm an alright programmer so I'll probably contribute a mini-game or two for you. Not so great at the artwork, but hopefully someone else can take care of that.

I've just managed to get the project compiled, and I have to say the lack of a readme has been a bit of a pain. For instance even something as simple as finding out which buttons to press on the menu to change to the state to 'playing' involved diving into the StateTitle.cpp code and taking a look at the StateTitle::keyDown method. Is a basic guide for utter newbie developers something you plan to produce in the near future? Might be useful depending on how many people you think are actually going to give it a crack.

I think I've got a grip on things for now, know where to drop my own mini-game files to get them to run etc, but do expect some undoubtably stupid questions in the near future. Hopefully I'll be able to contribute something along the way too.
The art work can be minimal, as long as it serves the purpose and the mini-game works.

I can understand the lack of readme can be unnerving and it's a nuisance! Right now though it's simpler for me to answer questions when people get stuck rather than sit down and write full documentation on how everything works. I realise it's not a very professional way of doing things, but it really was a last minute decision where I caved into providing Penjin for the mini-game project. Penjin is intended to be a 3D engine too(#define PENJIN3D and classes use OpenGL rather than SDL) and lot's of this aspect of code is not "settled" I would like things to progress a little further with Penjin before taking the time to actually document it... because to document it takes time I could be using to progress it... :lol:
Basically I'll help the best I can, anyone that has a problem and I do have a wiki setup for Penjin, but I'm not good and keeping these things up to date, because I feel I should be coding instead.

I'm glad you have things figured out, and it will be interesting to see what mini-games you come up with! Also I must stress if you have a problem Penjin-related, don't think it's a stupid question, unless it's something that has been clearly pointed out, i.e. ask away :)

Also I'll update the Image class fix within an hour, my original intention was to update with my own mini-game included, but I'm getting tired today! :p
EDITED: Incidentally, my game is NOT dodging the Pandora logos, because I want as many contributions as possible, RockyBst, you're welcome to do that idea. I'll think of something else! :)
UPDATE: framework updated! You should be able to rotate your sprites fairly easily now.
 
Last edited by a moderator:
Damn, exactly what I was doing for my first test Mini-game :p

I'm probably going to try a basic random-maze -> Get to the end before the time runs out game and maybe a NanoTD (One wave of enemies?).
 
Mine's kinda' like skeeball or computer golf. Hold the button down to wind up (rotating the arm like a baseball pitcher). The longer you hold the button, the harder your throw. Try to throw it hard enough but not too much to bounce the ball into the goal.

--Todd
 
This is just a status update. I will update the framework with these changes either tomorrow or Sunday.

I've fixed some bugs in the mini game lives and scoring and some text display errors.

It's now possible to earn back lives if you pass a number of stages.
I've enabled sound... you may have been getting crashes if you were trying to use Sound or Music before.

I need a 64x64 image of a Pandora logo if possible, I want to use this for the lives indicator, anyone want to make one? it should have magenta as the transparent colour!

I'm intending to add hi-scores next. It will just be a simple system of saving the number of passed stages and 3 intials.

Please it's important to let us know your mini-games, and to actually submit them to us! I'm trying to get the mini game switching, etc working all smoothly so I've not had so much time to actually look into making minigames themselves. The other task will be to get this compiling for Pandora... which shouldn't be too hard, but currently there are only 2 working mini-games which is not much of a compilation, so please help out! :D
 
I actually made a second mini game last sunday, but I'll like to add some temporarily gfx to it. I've been a bit busy, but hopefully it will be uploaded some time tomorrow. It's a typing game if anybody wants to know. I have no idea if it will work on the Pandora though.

Btw.
I think it would be nice, if there were a list of the people contributing to this game. Programmes, GFX and Sound artists and what they're working on.
It would be nice if you knew who might aid you with for instace game gfx. That's not really my strong side.

And at last a question about the game. Should the mini games have their own background music, or will the game just have some main background songs that keeps playing all the time?
 
If you are using SDL to access the keyboard, I'm 99% certain it will be no problem for Pandora, the SDL libs will surely make use of the keyboard properly.

And minigames should use their own sounds and music. Music will have to be fairly short though, obviously.

The status screen will have it's own victory and fail music.

I agree with your point about a list of contributors... it will also make it easier to give proper credits, when the credits screen is worked on!

OK I've created a wiki-page for the project: http://projectinfinity.org.uk/wiki/doku.ph...ti:pandorapanic

please feel free to edit or whatever, but maybe that will help us keep track of things a bit better. Anyway I should sleep now!
 
Well, I'm working on a mini game where a person jumps out of an air plane, but their parachute doesn't open, so they have to move and collide with any birds/branches/toy planes they can to slow their decent before hitting the ground (or else they'll hit too fast, in which case they die). Not sure if it can get used though, I hope so, because it'll be kind of educational for me, but I'm not even sure what you're meaning by “framework” I used to think it was just a way of setting up a compiler to create a binary for a certain architecture, but in the context here, it seems to be something else/more. I understand that it probably contains a header which I'll use to indicate whether the game was won or lost, and maybe something for the gaming buttons, but there are loads of files there. How many do I need to be familiar with? I looked at it, but this is the first time I've actually tried to use undocumented code. :huh:

My game is using SDL and C++, so as soon as I complete it (a few days probably) it might need only a few changes before it's “compatible”. I'm not sure yet how to use PNGs instead of Bitmaps, but I'm pretty sure I can figure this out when I finish working on my sprites.

(And if it's worth mentioning, I'd vote for having music played by the main interface, this would allow it to be more seamless and “professional” (like Alex's Air hockey game for the GP2X), and would keep me from having to look up how to use .MODs :) ).
 
DawnOfTheRent said:
<snip>
I'm not even sure what you're meaning by “framework” I used to think it was just a way of setting up a compiler to create a binary for a certain architecture, but in the context here, it seems to be something else/more.<snip>

<snip> I'm not sure yet how to use PNGs instead of Bitmaps, but I'm pretty sure I can figure this out when I finish working on my sprites.

(And if it's worth mentioning, I'd vote for having music played by the main interface, this would allow it to be more seamless and “professional” (like Alex's Air hockey game for the GP2X), and would keep me from having to look up how to use .MODs :) ).
The framework is the engine, and all the provided utility classes. Also the StateMain inteface calss can be considered part of the framework in this case. Bascially a lot of the work has been done for you, so you "only" have to fill in the blanks. And it will be up to me to get this compiling on the Pandora too.(something I want to do anyway.)

to use png as sprites, just follow the space invaders example. you can do:

CODE

#include "AnimatedSprite.h"

void miniGame::init()
{
AnimatedSprite mySprite; // do this line in your mini-game header!!
mySprite.loadFrames("images/myMiniGame/mySpriteSheet.png", 14, 1); // we have 14 tiles accross 14x1 tiles
mySprite.setFrameRate(FIFTEEN_FRAMES); // can be THIRTY or SIXTY too default is FIFTEEN
mySprite.setLooping(true); // auto loop the animation or not.
}

void miniGame::update()
{
mySprite.update(); // update the animation
mySprite.setPosition(300,200); // x,y
}

void miniGame::render(SDL_Surface* screen)
{
mySprite.render(screen);
}



Sprites are like this:
CODE

#include "Sprite.h"

void miniGame::init()
{
Sprite mySprite;
mySprite.loadSprite("images/myMiniGame/mySprite.png");
}

void miniGame::update()
{
mySprite.setPosition(300,200); // x,y
}

void miniGame::render(SDL_Surface* screen)
{
mySprite.render(screen);
}



well I'm not sure how that ties in with have victory music and failure music... I'll look into it, but I really need someone to contact me about music, because we still have pretty much none...
Loading music is very easy too, incidentally:
CODE

#include "Music.h"

void miniGame::init()
{
Music myMusic;
mySprite.loadMusic("music/myMiniGame/myMusic.mod");//(mp3,ogg,wav)
}

void miniGame::update()
{
bool anEvent = true;
if(anEvent)
myMusic.play();
}



Sound class works in a very similar way. you don't have to worry about initialising or de-initialising the sound, I'm taking care of that... I do need to update the package though since the current version isn't doing anything with sound.
Also declare your objects in the header. I've done it in a function just for demo purposes.
I realise it's a lot of files, the Penjin Base is full of things you don't need to worry too much about, they are all to help you make a game. In the PandoraPanic folder just copy-paste the SpaceInvaders class and work from there.
 
Last edited by a moderator:
Mini Game - Spelling Contest
http://lehim.co.cc/SpellingContest.zip

Simply just spell the word before the time runs out.

I've added some sounds, but I couldn't get them to work on my comp.

Btw.. I thought that the position of the TextHandler would change after every call to print. Sometimes that look to be true, but other times the position resets, so the next call to print will print the text on top of the previous printed text.
 
i succeeded in installing and compiling in code::blocks on my work PC but at home it's not working :S

I keep getting this msg: ""PandoraPanic - W32 Debug" uses an invalid compiler. Skipping..." but i followed all instructions. Any ideas?
 
pstudio said:
Mini Game - Spelling Contest
http://lehim.co.cc/SpellingContest.zip

Simply just spell the word before the time runs out.

I've added some sounds, but I couldn't get them to work on my comp.

Btw.. I thought that the position of the TextHandler would change after every call to print. Sometimes that look to be true, but other times the position resets, so the next call to print will print the text on top of the previous printed text.


Great I'm just in from work and working 11am-8pm tomorrow, but I'll try to incorporate it after work.

I'll check what's wrong with sound, I suspect it's just because you need the new framework, which I'll try my best to upload tomorrow!

The TextHandler can work in both ways. Set relativity to true if you want it to auto advance with every call to print.
like:
CODE

TextHandler text;
text.loadFont("path/someFont.ttf",32);
text.setRelativity(true);//text will autowrap, etc


I think you can also set the clip plane for the text, but I don't have time to check right now... in any case, see if that helps your problems!
MarkoeZ said:
i succeeded in installing and compiling in code::blocks on my work PC but at home it's not working :S

I keep getting this msg: ""PandoraPanic - W32 Debug" uses an invalid compiler. Skipping..." but i followed all instructions. Any ideas?
it should only say that if you are trying to compile for windows in linux or macOS... all I can say is check the build options... I'm not entirely sure right now. Sorry it's not the best of help, but I really need sleep :/
 
Last edited by a moderator:
me = bit noobish ;)

I did not install into the "program files" dir, and that is the standard search path for the mingw compiler. I adjusted the paths and everything works perfect now :)

Thanks anyway!

EDIT: im moving sprites around!! much more fun then "hello world!" :p
 
MarkoeZ: Glad you figured out what was wrong! Yes the instructions only work for default directories. :)
Hope you find it a lot easier from here on!

Update coming soon, I'm very tired but I'll definitely update stuff before falling asleep!

UPDATE:
The framework is updated, the link is in the first post by Cameleon! You should be able to use music and sounds. Sounds must be wav format... blame SDL_mixer
Music can be OGG,MP3,MOD and whatever else is supported by SDL_mixer. Only one music track can be play at a time... (I want to switch to openAL eventually but for now... it's SDL_mixer)

I included the spelling competition by pstudio, thanks! I also made sound work and noticed your comments on the timers! I'll look into it! I will do more work through the week, but now I really must sleep! Thanks guys, we can do this!
 
PokeParadox said:
Update coming soon, I'm very tired but I'll definitely update stuff before falling asleep!

UPDATE:
The framework is updated, the link is in the first post by Cameleon! You should be able to use music and sounds. Sounds must be wav format... blame SDL_mixer
Music can be OGG,MP3,MOD and whatever else is supported by SDL_mixer. Only one music track can be play at a time... (I want to switch to openAL eventually but for now... it's SDL_mixer)

I included the spelling competition by pstudio, thanks! I also made sound work and noticed your comments on the timers! I'll look into it! I will do more work through the week, but now I really must sleep! Thanks guys, we can do this!
Hmm.... I downloaded the new project. It doesn't seem to include the Penjin3D engine. So I copied in the one that came with the first framework I downloaded. But...
  • In StateSpaceInvaders.cpp:44, Emitter has no such method "setInvisible". I commented this out.
  • Spelling bee plays no music and thus gets stuck on the animation, waiting (I think) for the music to stop. Though it never started.
So I'm thinking perhaps I missed where I should download a new Penjin3D engine. I checked your wiki but did not locate a download link.

I'm finishing up my little project: will be glad to have it done & submitted!

Thanks,

--Todd
 
Last edited by a moderator:
todd said:
Hmm.... I downloaded the new project. It doesn't seem to include the Penjin3D engine. So I copied in the one that came with the first framework I downloaded. But...
  • In StateSpaceInvaders.cpp:44, Emitter has no such method "setInvisible". I commented this out.
  • Spelling bee plays no music and thus gets stuck on the animation, waiting (I think) for the music to stop. Though it never started.
--Todd


:rolleyes: All my fault again!
UPDATE: package updated. It should be the latest version of the Penjin3D Base.
PS someone woke me up *sigh* no not you! I'm so annoyed right now though...3 hours sleep >_> ...anyways
  • I made a change to the particle Emitter, it's nothing major but obviously the change is in the new PenjinBase, which I forgot to package up :rolleyes:
  • Music is broken (actually SDL_mixer just isn't initialised) in the old release of the framework. Your guess is quite right I think... regardless, actually having the up to date files would fix this.
*listens* I hear silence! sorry but I'm going to try and recover some sleep time again now, but quickly I'll give you an interim fix:
  1. Open MyGame.h and #include "Music.h"
  2. in MyGame::init(), add the following at the end of the function
    CODE
    Music().init();
  3. in MyGame::~MyGame() add the following directly after TTF_Quit();
    CODE
    Music().shutdown();
That should fix the music problem. The other problem is not urgent just comment it out as you have!
Sorry for the inconvenience *yawwwwn*
 
Last edited by a moderator:
PokeParadox said:
UPDATE: package updated. It should be the latest version of the Penjin3D Base.
Thanks! I'll look into that this evening.

--Todd
 
Last edited by a moderator:
PokeParadox,

Thanks again for the update! I installed it just now. I'm going to try to post a newbie guide for getting started below. Please feel free to make corrections if the forum will let you. For you, though, I have more questions!

Should there be an escape key to quit a mini-game? If so, which one should be standard across games? There was one in SpaceInvaders (it works out to the right shift key on my , so I left it in my game. But I noticed it missing from the Spelling Bee.

The Spelling bee, by the way pstudio, is hilarious. Your animations are very amusing. The boy vs. girl thing is funny. Is it a comment on the anticipated majority user of the first run Pandoras? :)

But back to PokePardox, I have a short list of comments. Not whining, hopefully: I appreciate your work on this project! If I was more familiar with C++ and SDL I would be more inclined to take a crack at them. Also, any of these may be my error: if so, I would be grateful for assistance in resolving them.
  • When I use the above-mentioned escape key from mid-game, the program no longer quits, but hangs with a message: "Penjin says: Shutting Down."
  • Sound still doesn't work on my Linux box (Ubuntu 8.04). I didn't investigate too far. But Spelling Bee still gets stuck. So I enabled the timeout and ||'d it with the the music ending. One might consider leaving something along these lines in the code in case of future conditions where sound is unavailable (e.g., a Pandora with messed-up sound drivers/settings/external hardware).
  • It seems the Sprite.rotate is still broken. My sprite still disappears when I call it.
  • Strangest of all: with the new framework, after starting off at normal (slightly faster?) speed as in the "old" framework (from last week), my game quickly changes to running at about half speed. Any idea??
I'm grateful for any help you can offer.

--Todd
 
Back
Top