Pyweek #24 challenge: “They're behind everything”

Fairy Kingdom - Screen Size

Posted by thyDungeonSean on 2017/10/23 17:37

Sorry I didn't make the screen size more manageable in game. 


If you run from source and want to change the resolution, go to src/contstants.py and adjust SCREENW and SCREENH. It might break fullscreen, but it should work otherwise.

4 comments

HackerBot - Game Bug Fix :(

Posted by mit-mit on 2017/10/23 10:07

Just found a game-crashing bug while recording a playthrough for the game :(


It occurs whenever you fire a laser from a hacked sentry bot at an active shield.

If you want to fix it, you can add the line "self.juggernaut = None" to the empty line 288 in src/game.py, or alternatively don't fire lasers at active shields (it doesn't do anything anyway).


2 comments

HackerBot - Day 7: Finished!

Posted by mit-mit on 2017/10/23 09:57

Writing this after a good night (or two)'s sleep. I was just too tired straight after submitting.


I'm pretty happy with what I managed to get finished: the game mechanic came together in the last few days .. I think it works although I can't say whether the 3D aspects work or not. The only thing I really didn't manage to get done was put a few more mechanics in the final boss battle ... I just ran out of time and had to wrap it up, so what I've got I think will do OK.

Day 4: Spent this time starting to build the models for some of the static targets and NPCs, worked on getting the basic titlescreen, pause screen and out game loop working well.

Day 5: developed the mechanic for NPC visibility (so you can sneak behind them) and behaviours for when they notice you and go to investigate vs. they flat out see you and start blasting at you. Developed frills like explosions etc.

Day 6: fleshed out a basic message tutorial system that spits out helpful(?) messages in the first few levels, designed these levels

Day 7: Did the modelling for the "HackerBot". I was a bit concerned because at this stage my protagonist was still just a little green placeholder ball rolling around, so I spent a bit of time building a little spider-like robot model for him (I'm pretty happy how he turned out!). It took me a while to get the moving legs happening. Did all the rest of the level design and implemented the whole ending boss sequence. This was a pretty epic 12 hour straight grind to the finish line. 6:40am: went to sleep .... for like 20 minutes before my 4 year old son woke me up :)

Add a comment

cANT2: The Hidden Threat - cANT2 Pyweek 24 recap

Posted by gummbum on 2017/10/23 02:07

Here it is in a nutshell, as eloquently stated in IRC, "We had a mostly unfocused, confusing, buggy week and then on Sat we said I cant believe we have a game." And there was assent all around.

In one respect this game was easy. We had a fairly clear vision of the game we would make if this theme won. We were somewhat amazed that the theme won. It was like our third or fourth pick averaged. I mean, how do you one-up slurping up ants with a future-tech handheld vacuum? So the game concept was practically given to us. It would be a top-down or 2.5D action combat game with a textual narrative. I remarked that we were doing "Fort Izembo", a zombie beat-em-up that was our first collaborative game, a practice game made the week before my first ever Pyweek that was a whole lot of fun. And indeed that's pretty much what we got. With guns and explody things. We even had zombies at one point, but I get ahead of myself.

We started with DR0ID's pyknic, a very elaborate management system that's not quite an engine. It's well tested, but still lots can go and did wrong because of the complexity. DR0ID began working on ants and their AI, and building out the core game logic. Gumm started working on the app framework and pulling in assets, and configuring the sfx resource manager.

By Monday we really only had a jumbled app framework, albeit with some cool scene transitions, a chapter-progressive "menu" that was more like a cutscene manager, and some goodies to ease future coding.

By Tue, if I recall correctly, we had some ants and hero anims. DR0ID spent much of his day wrestling with the problem of imports: not a problem with code, but if there is shared data this can create many mind wracking problems.

Wed was a continuation of a mash of problems and frustrations, many of which Gumm inflicted on his own self, and DR0ID probably inflicted on his own self. :) Gumm patiently worked on cartoonifying some real images ganked from web searches (a lot more work than it seems), and cobbled together some scenes.

On Thu we had a whole lot of stuff going on. Somewhere in there we got towers of chips, a working hero, bullets, level creation and loading. DR0ID announced right before his bedtime, "ok I got moving ants". Then we struggled with depth sorting problems and other things for three more hours. We still didn't have much besides some static rooms, a roaming hero and his arsenal, and some interactive, animated ants. On the upside we had a lot of days behind us during which we were loosely pondering how the game should go, and we discussed ways to make it fun and interesting.

On Fri, while making lunch I found an ant in the kitchen that rapidly developed into a small party. It had been raining pretty hard and they like to come inside to get dry and find food. But I had no chips for them. On the Pyweek side of things there was a lot of progress, but none of it really came together. We were struggling through various issues: that seems to be the theme of the week. Obviously it was the ants, they were behind everything. Much time was spent getting the many pieces we built to work together. I think there were a few "argh" and "grrr" transmitted over the interwebs that day. We acquired a working grenade.....FUN. That was a game changer, har-har. I think it was this day that Gumm created level 1 as the trainer level. We also decided to play a trick on the player in level 2 (no spoilers, you'll have to play to find out :)). Also, we decided the player should have some kind of health points so that he had to avoid contact with the ants: Gumm concocted the concept of the Chipometer to convey the hero recovering his chips, and upon which his mission partly depended. Ant spigots were created (spawns). DR0ID came up with walls to keep the player inside arbitrary irregular bounds. And he came up with the invisible Chips Watcher object to add to the levels, which was really a great idea. :)

With the addition of ants attacking the hero, we hit one of the funniest AI software bugs I can remember ever seeing. So I'm designing and tuning levels and I'm finding they're unusually hard to win. I'm running my hero around, and picking paths littered with ant carcasses because dead ants don't bite. Right? Wrong. The Chipometer is reporting all this damage, and then I notice the dead ants popping back up to bite the hero and then they chase after him. Zombies, after all. Like I said, we remade Fort Izembo. :D :D

Mood music was added, and a carousel to play it. Summary of the day, there was a lot of progress, but we still didn't have a game.

This was our concern during Pyweek 23, when that Thu rolled around and we worried we would not be able to finish. And here it was, end of Fri and we were worse off than that. BUT, I gotta say, none of us suggested we wouldn't finish. We just came back at it.

Sat was it. We had a tonne of code. We had two tonnes of assets. We had core game mechanics. But it was this pile of odds and ends, barely held together by a textual narrative + scene loader. We did so much work this day, I can't even begin to itemize it. If the description of Fri's flourish of activity was something, Sat was something else. When I woke we had 8.5 hours to get it together. We just started working on everything, best practice went out the window in some cases, we had our fingers in each other's code. We threw a chapter away, glued, and sanded, and polished, and play tested. And 15 minutes before the deadline we came up for air and Gumm said, "You know what. I can't believe we have a game." And DR0ID said, "Me neither."

And out plopped a souffle. Enjoy the recipe! :D

1 comment

cANT2: The Hidden Threat - cANT2 Plot Inconsistencies

Posted by gummbum on 2017/10/23 00:17

This post is provided for fun.

I can think of two immediately. If I had thought of it sooner, and it seemed I might get some participation, I would have purposely created more inconsistencies in the heroically unserious vein of Sharknado. If you can spot any inconsistencies, I invite you to roast them here. :)

Gumm

Add a comment

My Sincerest Apologies... - Day 8 (Releasing)

Posted by mauve on 2017/10/22 20:02

Today has been a busy release day (though not as busy as the contest). Larry is at Pycon Ireland and has been showing the game off to people. Through this he has found a couple of crash bugs and pushed fixes, and I fixed a bug that blocked correct level/powerup progression.

I'm very conscious that out entry uses a number of native extensions - including one that was created during the contest! It's a first for me to actually start, develop and release a library to PyPI during the contest.

Both Larry and I develop on Linux, but there was no intention to write a game that only works on Linux. Today I've been looking into using Appveyor to build binary wheels for Windows for the extensions we use. Mainly this is a case of fixing build/compile problems, which is boring, time-consuming work (non-Pyweek work).

Appveyor is great, though - it means that I can compile stuff for Windows without having a full Windows development environment.

So, I don't know that these are working - just building - but here are some successful Appveyor builds to try if you are a Windows user:

  • lightvolume
  • lepton - There are some build failures here, but our game only works on Python 3.6, and Python 3.6 is passing.

If you click on the build for your Python architecture (32/64-bit - type platform.architecture() in a Python REPL) and then "ARTIFACTS" at the top-right you'll see wheel files you can 'pip install'. The other dependencies are pure Python or have wheels on PyPI.

Please let me know in the comments if these wheels work for you (or not!). I now maintain lepton on PyPI so I will upload wheels for both of these.

I'm working on setting up a virtual machine to test these myself.

4 comments

WIN $$$ LAND - Humble Little Game

Posted by PyJ on 2017/10/22 12:06

My entry is a simple game. Hunt coins like old days. Have pain and fun!

The completion rate is 70%. It's a so-so game, isn't it?

What I gave up is:
-BGM. I wanted to compose some, but it was too ambitious. It's desperate to find a 5 sec length of tune from Google.
-Score display. There is even no dummy output like the previous entry, but the last score is real, this time.
-Challenging traps such as weak blocks, poisonous gas, slow tile etc.
 They died on an idea notebook.
-I planned to make 10-15 stages. I underestimated the map making. It took hours to make, convert and test.
-No save function. It's embedded, but no time to implement.
-Writing a clean code. I made a dirty code with full of mending tapes.
-Particle animation. I wanted to put it into the jet dash movement, the wall crash, and the zero time event.

I may add some more thoughts and technical notes later, maybe..

Add a comment

PewPew - Another failed PyWeek

Posted by sheep on 2017/10/22 10:33

Somehow I can't get this done, even with the simplest of games. I have no problem making a game in 48 hours, but a week is simply not enough time.

Anyways, I have walking around a scrolled level and shooting, and I have monsters that simply walk towards you. I didn't implement health or ammo, and you can't get to the next level — which would be the minimal features to make this a game.

I still uploaded what I have, and I think I will be finishing this slowly at my own pace.

Add a comment

Phone game 2 - No game. Sorry!

Posted by HipetyHopit on 2017/10/22 07:39

Whew, this week was just hectic.There was absolutely no way I could write, even a small one. And it's still not done! I hope everyone else enjoyed their Pyweek and I look forward to playing their games. Maybe the next Pyweek will fall on a more convenient week for me.

Add a comment

My Sincerest Apologies... - It's a wrap

Posted by mauve on 2017/10/22 01:21

We had a very frantic last few hours trying to cram in enough features for our game to feel like a game. A huge amount of things landed today and it started to feel like a game.


I woke up this morning to find Larry had added weapon effects. I added the HUD to make it clear what is selected:



... and there's much more I'd like to show you, but, you know, spoilers.


I'm going to take my time in uploading tomorrow because it's complex this time. We fixed a build problem with Lepton which I need to release, and I'd like to see if I can put together a Windows release, because we use so many native libraries this time. I look forward to playing your games!

Add a comment