October 2018 challenge
SomethingSomething - Procedural Sound
Posted by lucio on 2018/10/15 05:55
The return of saluk - Basic Spec
Posted by saluk on 2018/10/14 01:29
The game will be an asynchronous digital card game. Players will download the client. From there they play the game, which actually takes place on a server. The state of a players game is saved until the game ends, either with a victory or with a player conceding. If both players are connected, it will seem as if the game occurs in real time - though like most card games players take discrete turns, each of which is made up of a series of ordered actions. However, if you connect to a game that you are involved with but had been disconnected, you will see a replay of what happened while you are gone, and can resume your turn.
The client will be written in Kivy. Currently I can build something that works well for OSX or ios. I'm still working on android support - for some reason the build I have has a terrible lag for the touch inputs that really won't fly. I also should be able to do windows pretty easy - just haven't given it a shot yet.
- Menu for how to get into a game
- Apply model to graphical interface
- Animate model state changes into interface
- Send commands to server based on player input to the interface according to model
The server must handle a series of ongoing games, user accounts, and then state transitions for each game. Since there is no actual synchronous play (it is all discrete state changes) I intend to use a lightweight REST server like hug to manage the networking. The general algorithm looks something like this:
- Client sends an action command - this is tied to a specific way to change the model
- Server checks if the player in this state is authorized to make that move
- Server updates the model
- Server returns an acknowledgement or an error along with the new model state
- Clients will also periodically poll for whether the state has updated, and get the new state
The client and server are somewhat dumb in this sense, where the model has the guts of the actual game implemented.
- Contains some information about the Players involved
- Contains a Game definition
- Contains Spaces - these are places that Things can go. Those Things have a Position defined by the Space
- Spaces contain Things. Things are elements like cards or tokens. Things contain both Static properties and Dynamic properties
- Each type of object (player, game, space, thing) includes Triggers and Actions
- Calling an Action is the only way to cause the model to transform. An action results in an updated model, or an error state
The return of saluk - (Re)-intro
Posted by saluk on 2018/10/12 18:33
I program python for my job, but it is all test cases and selenium. For games I haven't used python in a long time, and lately have been feeling nostalgic for all of the fun game programming I used to do.
So what have I been doing gamewise in the last couple years if I haven't been using python? Well, it's been a little bit of unity, chasing the early VR craze, which was quite fun but I feel pretty over it as the market is really challenging. Not enough people have headsets, and many who do are looking for a specific kind of thing. I usually tend to make very experimental games, and the anti-gravity 3d space pool game I made was no exception. You can see some video of it at the steam page here. Hmm. I should really do another update!
I've also been thinking about and experimenting with analogue game design - board games and card games. It's been a great experience for several reasons. First, without having to worry about programming, you get to the raw gameplay much faster and can answer questions like "is this mechanic good" or "what affect does this change have" much faster. On the other hand, I've found that without being able to rely on the whiz bang of multimedia, you really have to execute strong. I recommend any budding game designers give it a try - you'll learn things you didn't know you didn't know!
There seems to be a lot of cool things happening in this space as well, with card games like keyforge and warhammer champions shifting paradigms in the physical realm, and hearthstone and tabletop simulator bringing analog gaming into the digital space in exciting ways.
So, I'm burned out on 3d, jazzed up about card games, and nostalgic about game development with python. What better excuse than pyweek to make on a digital board game of some kind?
My plan is to build a client/server implementation of a digital card game. The game design itself will be based on the theme, the client/server I will be experimenting with before the competition starts, (but not writing any code.) I will be using kivy, to enable the client to be available on mobile and desktop platforms. And I intend for the server, written with simple http requests using hug to allow both realtime and asynchronous play.
Ambitious I know. It wouldn't be pyweek without some early big dreams that are dashed on the rocks of the reality of the last days.
Team probably just - Well, my company is making me take python 101 training
Posted by ikanreed on 2018/10/08 17:03
- I'd love to make a machine learning game of some kind. Bit of a pipe dream in the timeframe we have, but maybe the theme will make an obvious case to fill out?
- Art is going to be hell, I'm so used to having teammates who are good at it. This year, I'm alone. Unless I drag my wife into it, and I don't know that she'd enjoy that considering she's already doing a seperate game art contest this month.
- I want to use my new (kinda expensive) music tools to make some awesome stuff. Or flail wildly at it, in particular all week and not have any time for code.
- I really want to lean hard into the theme, and make something that really beats a deceased equine organism with whatever connection I come up with. Some past occasions I've been super light-and-free with theming, and I want to avoid that this time.
TBA - Pygame Zero and PyInstaller working together
Posted by AnthonyB on 2018/10/08 04:07
So I've managed to get Pyinstaller working with Pygame Zero packaging up a script, and it's actually not been too hard to get working, once I figured out a few quirks.
You can see the source code in this gist, which just loads and runs the Pygame Zero demo directly. I haven't tested this *thoroughly*, so (eg.) importing something in the main script may blow up - caveat emptor, etc.
If you're feeling brave and want to help test by running the demo itself, you should be able to download the .exe from Google Drive. Note that you'll need a gamepad with joystick that's recognised by Windows - please let me know if you manage to run it successfully.
TBA - Getting set up for PyWeek
Posted by AnthonyB on 2018/10/04 07:02