About two weeks ago, I put Adventure Delivery Service on hold and started work on a new project. I’m very proud of the work I’ve done on ADS and I’m not thinking of it as cancelled right now, but for a variety of reasons I decided it was better to work on other things for a little bit.
The new project is called (tentatively) Team Flag, and it’s live at http://teamflag.io. In a nutshell, it’s something like Fat Princess in the browser—a multiplayer capture the flag MOBA with simple gameplay that’s easy to drop in and play.
It’s using Fleck for WebSockets, Nancy for web logic, Linode for hosting, BEPU for collision detection, with TypeScript and Phaser.js on the client side.
I’ve been working on a few enemies that shoot projectiles. Here’s one, a self-balancing robot. Pretty soon I’ll have enough enemies to start splitting them into groups, so for example one level would be monster-themed and another level would be robot-themed.
Today I modeled a car and a fire hydrant. The streetlight I had modeled already but today I added code to place it in the world.
I realized I don’t really know how streetlights get placed in the real world. I need to take a walk around the neighborhood and figure that out.
I tried to prevent cars from parking in front of fire hydrants, or parking too close to the intersections. There’s a longstanding bug where stop signs just get placed wherever there’s a corner, which is fine at 4-way intersections but it doesn’t look right at T intersections.
I think at some point I’ll add parking meters. I have this idea that some streets are going to be bigger than others and maybe have extra features like four lanes and stoplights instead of stop signs. Maybe I’ll put the parking meters on those streets. Then I’ll have to change how the cars get placed — right now they pick a random legal position on the side of the road, but if there are meters I’ll have to place the meters first at regular intervals and then place cars aligned with the meters.
I’d really like some annoying street signs like “2 hour parking 7am-2pm M-F except holidays.” Street names on the stop signs would be cool too. This is all kind of a distraction from working on gameplay but I think it’s probably important to make the environment fun just to be in.
This is the second week in a row I’ve uploaded a gameplay video. Let’s see if I can make this a weekly thing.
Some of the changes since last week:
Moodier lighting in dungeons.
New models for dungeon floors and walls.
Added torches to dungeons.
Dungeon rooms and hallways get wiggled a little bit so they don’t line up right on a grid.
When the player is in a dungeon room, the camera keeps the room in frame.
Removed stamina and weapon durability.
The player can only hold two weapons instead of four.
Elemental effects aren’t tied to a particular weapon anymore — you pick up items that give your weapons those effects.
Added pickups that boost player stats.
There’s only one kind of grenade (removed fire grenade and proximity grenade).
You can only hold one consumable item at a time.
Roads and sidewalks are wider.
One block in the city is a park with a fountain.
Changed controls (see below).
Removed a lot of custom physics code, using more Unity physics now instead.
Some of things I’m thinking of working on next:
Force the player to fight the enemies in the overworld. I’m thinking there could be blockers in the street that wouldn’t go away until you defeat all the enemies on that block. That would work kind of similarly to how the dungeons work. At the moment it’s way too easy to just run past all the enemies in the overworld.
Add parked cars to the streets. Maybe make some streets wider than others, and give them a solid yellow line instead of dotted. Maybe give them traffic lights at intersections instead of stop signs.
Add more consumable items. Right now the only consumable is a health potion. I’m thinking temporary effects could be cool, like invincibility, super speed, super damage, etc. Consumables could also be spells / special attacks.
Figure out the shop situation. Right now a bunch of the buildings in the city are shops, which means they have NPCs in them that will sell you health potions. I don’t really like how open-ended that is, I don’t want the player thinking they need to go into every single building in the city in order to play optimally. So I need to think about that. I also need to figure out what items get sold in the shops, and what makes them different from items that get dropped or are found in chests.
And of course eventually I need to keep making more content. I want to try more enemy designs, like enemies that have projectile attacks, stationary enemies like turrets, enemies whose movement patterns are unrelated to what the player does, enemies that don’t have attacks but just deal damage on collision. Also more variation in interior spaces, so like rooms that have lava pits, or sculptures, more miscellaneous junk lying around, different tiles for the floor and walls, different lighting fixtures, better layout for houses and shops, etc., etc.