December 2009 challenge
Flight - Thanks for the feedback!
Posted by Cosmologicon on 2009/12/13 05:52
There's a bit of encouragement to keep working on the game. I'd really like that, but honestly, I don't know if it's going to happen. It's a pretty big project, and I'd like to move on. If someone else joined the team, definitely, but otherwise, let's say maybe. :)
Congrats to zahmeKatzen! See you all next time!
Flight - 64bit woes
Posted by jerith on 2009/12/12 16:50
When I first tried to play, numpy kept refusing to make arrays because they were "too large". Eventually I tracked this down to an integer size issue in the MD2 loader code.
You should specify standard sizes and alignments in your struct format specifiers (use '=4s16l' instead of just '4s16l', for example) or 64bit machines try to use rather longer longs.
Flight - Cosmologicon's postmortem
Posted by Cosmologicon on 2009/12/01 22:26
I technically worked on a team for Pyweek #7, but only for one day, and then only on the intro cutscene. This was my first "real" team experience. It was great in that I never would have been able to put together an engine like this - based on ODE and OpenGL - by myself. It was definitely the most ambitious game I've worked on to date. It was also motivating to see someone else working on it. Given how frequently I flake out of projects, I think that's probably the biggest plus. I'm also proud of the fact that we collaborated despite not knowing each other. It seems like almost all successful PyWeek teams are people who already know each other, though I could be wrong.
It was hard with only two people on the team. Both Kent and I had periods when we couldn't work on it as much as we would have liked, so the other was solo for a few days. For me, being less familiar with the engine, trying to implement a save feature by myself was frustrating, and wound up just being a waste of time. I also think next time I'll try to communicate more via IRC or something real-time. Email is generally fine except that it's slow.
In conclusion, I would work on a team again. Maybe even for PyWeek #10. But I hope to have at least 3 people next time.
As for non-team-related stuff that was new to me, I like Google Code, except that it took like a week before we could email each other through the group, so it probably wouldn't work for PyWeek. I like version control okay. I like PyOpenGL. I haven't warmed up to PyODE yet, although once we got collision detection going it became clear how useful it was.
And I really like Blender! You can see I got much better at it between when I did the main character's model (which was one of the first things) and the townspeople (which was one of the last). I still wish we could have gotten an actual artist on the team, though!
Fox Assault - Mac build and invisible website
Posted by jerith on 2009/11/30 11:39
I finally managed to set up all the necessary bits to make a clean Mac build of Operation Fox Assault. Since it's past the deadline and I can't upload it as usual, here are the external links for all three versions:
- foxassault-1.5.0.dmg -- Mac OS package
- foxassault-1.5.0.zip -- Windows package
- foxassault-1.5.0.tgz -- Linux/source package
All of these are available at our shiny new website: http://foxassault.org
(It should be noted that all three builds are identical to the final release versions, although the .dmg was packaged more recently. You could use them for judging purposes if you want to, but you should probably stick with the official pyggy uploads.)
--J
Pigeons: birds of a feather - pigeons notes
Posted by claxo on 2009/11/29 19:42
Currently only the single player mode is working
Menu navigation is by mouse only, plus ESC
The defaults controls are arrows (move) and rcontrol (quack unfollow), you can change this in the player settings menu.
Joystick are supported, but you must select it from the player settings menu.
I am interested in any report about the joystick: this is functionality new in pyglet. Seems that in windows work ok, mixed reports in Linux.
Sadly, theres little to see at the moment.
mini postmortem:
MVC really helps; used both in the gameworld and to drive the ui. The mixin in the world view that handles params from the model helped to reduce the number of signatures and repetitive code.
Using factories to generate actors both in view and model help debugging and exploration; very easy to try different implementations.
The gui kytten [0] (for pyglet) plus an adaptor module (adapts kytten to cocos) taken from cocograph [1] plus MVC is great to setup fast a UI.
Working solo is not the best for me: too much time in some decisions, less motivated to push ahead day to day that in team. I will try to join other project next time.
Happy to have wrote two prototools along the game:
map_loader_helper : edit levels in Inkscape, grab actors with map_loader_helper. Very agnostic, easy to use in other game. (needs user guide and some debug)
ppre and img_utils: growing; automatic painter for levels( needs tweaks and more features, optimizations), probably will grow support for navigation.
I like the actual codebase, and will follow with the project at googlecode:
http://code.google.com/p/pigeonsgame/
[0]http://code.google.com/p/kytten/
[1]http://code.google.com/p/devdev-python/
Pigeons: birds of a feather - 1/10 baked entry
Posted by claxo on 2009/11/29 01:54
Flight - Half-baked submission.
Posted by Cosmologicon on 2009/11/29 01:21
- Sorry about the huge file size. I was literally zipping it at the last second and I think I accidentally put the whole repository in there.
- Command-line options include -r1024x768 (or similar) to set the resolution, -f for fullscreen, -w for windowed, -u to disable fps limit (which defaults to 25).
- Don't choose the Realistic flight mechanics on the title screen, only Arcade works.
- I get an ODE bug every now and then and collisions fail. The game doesn't crash, but none of the objects interact. If you get an ODE error message, or you go through a portal but just come out the back side instead of traveling to a different world, try restarting.
- There is no way to save. Just do your best, there's not much progress you can make, so starting over isn't that bad. Having said that, press F3 to give yourself a boost whenever you feel like it. There was supposed to be a spell that does the same thing, but it didn't get implemented. So it's not really cheating.
- There are several quests in the nexus world (Aeron) that say they give you spells when they don't. It might still be fun to complete them.
- If you complete the quest of the estranged brothers, it will give you a Radar spell. If you equip it by pressing 6 and then cast it, the game will crash.
- There's a bug with the enemy crosshairs, in that two sets of crosshairs appear in your field of vision, opposite each other. Just keep in mind that if you don't see an enemy in the crosshairs, you're probably firing at one in the opposite direction.
- There's instructions for the crystal that imprisons the elder at the end of the dimension of pestilence, but I think they got cut off. You have to run into it repeatedly to knock it down through the layers. Just hold Ctrl the whole time and stay locked on it.
- After you've beaten the dimensions of fire, thunder, and pestilence, there's a final level, the dimension of darkness. The portal is supposed to open automatically when you beat the first three, but it doesn't. Press F6 whenever you're ready for it, and it'll appear in the middle of town.
- There's no game over screen after you beat the final boss. Whatcha gonna do?
- I'll probably think of some more soon. I'll be happy to post bugfixes or cheats if it crashes for you, provided I can figure it out.
- I never got anyone to playtest any of the quests. If you're having trouble figuring any out, I'll be happy to give hints.
- Esc = pause/quit
- W/A/S/D (or ,/A/O/E on Dvorak) moves you.
- Holding shift makes you move faster.
- Caps Lock swaps the behavior of shift.
- Tab switches between first and third-person view
- Mouse or arrow keys moves the camera in third-person view.
- Backspace swaps the behavior of W/A/S/D and the arrows.
- Scroll wheel: move the camera in and out
- Holding Ctrl turns you toward an NPC (shown with green crosshairs). You have to be close enough for this to work.
- Number 1 equips the shooting spell when you get it. Number 5 equips the compass spell.
- Left-click or space: fire
- Right-click or Enter: compass
- F3: boost
- F5: stop
- F6: spawn portal to the dimension of darkness
- F2: Toggle bounding boxes for collision detection. That's just kind of fun sometimes.
- F4: Draw worldmap. Warning: this will freeze the game for a few seconds at least.
Fox Assault - Final Submission
Posted by drnlm on 2009/11/29 00:15
Following our plan to ensure that we always had lots of time to spare, we successfully uploaded our final entry with fully seven minutes to spare.
The last week saw some solid work:
- Save games were throughly cleaned up
- The fox move logic was much improved and simplified.
- Several awkward bugs where fixed
- Support for selecting multiple chickens was added.
- Selection sets can be saved and recalled later (useful for re-equipping chickens)
- A number of improvements were made to the gui. These include
- icons for all the counters
- reducing the space used by the icons
- the interaction between tools and large selections of chickens was improved
- The various dialogs were made much prettier
- help was extensively rewritten, and a controls dialog added to the game
- Several game balance tweaks
- Warn on some dangerous actions
- And other stuff I'm too lazy to dig out of the svn logs at the moment
Unfortunately, do to an ill-timed upgrade to Snow Leopard by our Mac developer, we were unable to create dmg packages this time, but we were able to ensure that the Unix tarball works fine.
Rise of Featherations - Final submission! \o/
Posted by ServalKatze on 2009/11/28 14:58
Yay! We've submitted something!!
Well, we had to drop a lot of features (no research to improve your troops or develop new weapons, no fancy animations for the UI) and I probably didn't fix all bugs.. but it's better than the Pyweek version. ;)
What I miss the most is a real campaign mode with an epic story and a step-by-step tutorial. Somehow we ran out of time... so this game is not really complete but rather a good step towards the final version. We'll see if we ever finish it. *g*
Good luck to all the other teams/individuals - there are still 9 hours left for programming. :)
Fox Assault - Further Progress
Posted by drnlm on 2009/11/23 12:12
Over the weekend, we arranged a concerted hacking effort on Fox Assault. We made a significant dent in the features we wanted for the final pyggy entry, which is just as well, considering the deadline is less than a week away.
Significant features we added over the weekend include:
- Saving & Loading Games
- A level choosing screen
- Preferences support (useful for testing the game at work)
- Reworked the toolbar to have sub-menus, so we no longer need to worry about the space limitations there
- More goodies for the chickens (Sniper rifles, axes)
- Major changes to the in game economy.
- Buildings now require wood
- Chopping trees now requires chickens with axes
- Guns have limited ammunition
- line of sight support for chickens
There are few important features to finish up during the week, such as improving the chicken management interface, rewriting the help to reflect the changed game and making the fox move logic less fragile, but this should all be doable. Hopefully we'll also find some time to address game balance.