New Paltz Humans vs Zombies (NPHvZ)
There are a few moving pieces. The engine is currently designed to run on a LAMP stack.
- Clone this repository to your server
- Edit knoopvszombies.ini.php to match all your local environment settings
- Place the
cronfile commands into your cronjob. Also update the paths in this file to match your server
- Set up two new databases, one for the engine and one for the forums. Import the schema from the two
.sqlfiles in the root folder
- (You may need to do more work to get the forums set up properly, a starting point is the Vanilla docs: http://vanillaforums.org/docs/installation)
- Emails are sent out using the standard PHP email mechanisms, so make sure you have all the proper rigging to send emails without them getting flagged as spam.
For years, New Paltz HvZ has used a combination of the official HvZ Source tracker and multiple Facebook groups to organize our games. This didn't fill all of our needs, however. We wanted to have complete control over our games from top to bottom. Additionally, this replaces Facebook groups with automated Human and Zombie forums on so zombies don't have to be manually removed from secret human groups like they did in the past.
Most importantly, this site will allow future webmasters of the club to practice working on a live website and gain real web development experience. Having it on Github will also teach them to collaborate with other team members and learn how to use version control software. We chose an open-source tracker so students will be able to build upon it and add new features as they need them. NPHvZ.com should grow with the club over time: it will be the ultimate tool for making our game run as smoothly as possible.
If you need to contact the current webmaster, our Facebook page is your best bet for getting in touch with our current eboard. If you have more technical questions, feel free to email the original webmaster of this site, Jon Glover, at email@example.com.
Once all the tech is up and running, as an admin, you should create your first game from the admin panel. Set it for the future sometime. You can also set up orientation times and locations. Make sure to check "current" after creating your game to set it as the current game if you intend for players to join it now.
As players sign up, they will asked to conform to a code of conduct and sign a digital waiver before being allowed to play. If they choose to link their account to Facebook, they will be auto-confirmed (motivation: getting a real name and photo). If they choose to manually enter their name and photo, they will have to be approved by a moderator.
The game is in "pre game" mode. During this time, players can sign up and join the upcoming game. They can get their code and opt-into the Original Zombie pool if they'd like. Moderators can approve players, mark players having attended an orientation, send out email, and choose original zombies.
Automatically, the game will begin at the date and time the moderator originally chose for the game (CST time by deafult, change in knoopvszombies.ini.php). At this time, the game goes into "in game" mode. All players who were marked as having attended an orientation will be kept alive. Any player who did not attend an orientation will be marked as deceased. Original Zombies are shown as humans on the website until the moderators decide to unhide original zombies through the "Game Progress" admin panel (see below).
The game continues for several days. Every 5 minutes (a cron job,
game_logic.php) is run to check if anyone is about to die because they haven't been "fed" in 48 hours (or whatever period of time is set in the
knoopvszombies.ini.php file). As zombie players enter codes to confirm kill, the human is automatically marked as a zombie and notified via email, and the reporting zombie will be fed and can feed two other players from a list.
Finally, everone is a zombie or the moderators end the game through a story element. The gameplay progress is manually moved into "post game" by a moderator. At this time, all stats are locked and the game is archived. Moving the game into "post game" cannot be undone.
The last thing for the moderators to do is uncheck "current" for the current game from the "Create Game" admin control panel. This will set the site to a neutral tone, suitable for the time inbetween one game ending and the next being announced.
Global user accounts
- Players can use a single user account to join multiple games
- Stats carry over from previous games
- Digital code of conduct and waiver signing during the signup flow
- Signup with Facebook for verified photo and name association
- Manual account approval without Facebook verification
Fully-stocked admin panel
A high-speed typeahead to mark players who have attended an oritentation session. Optimized for en-masse approving players -- for when you have three moderators trying to approve 200 people at your orientation.
Edit Current Player
A "player" is a user who has joined the currently available game. Edit details about any player for the current game. From code to kills to zombie status.
Edit user accounts (these persist between games) to promote people to moderators, remove or add them to a game, and update other various details. There are several priviledges each user can have and what admin tools they have access to.
By default, if a user signs up and connects their account to Facebook they will be automatically approved. Otherwise, they will need to be manually approved by a moderator before being allowed to join a game. This is mostly to ensure players have a real name and a real photo.
This tool lets head moderators move the game from one state to the next (pre game, in game, post game). Game choose Original Zombies here and manually open and close registration.
Send emails to the entire userbase or just the current players. Or just humans, or just zombies. Sends from your own SMTP server so you'll have to do the work to get that set up properly.
An interface to create and edit upcoming games. Name the game, set start date and time, and choose orientation locations and times.
Social Media Tie-ins
- Post game status and kills to a Twitter feed
- Bring Facebook posts onto the homepage
- In house forums that have "human only" and "zombie only" forums for communication .
Knoop vs Zombies is available under the MIT license.