A simple game

Most of my game ideas are too ambitious to start.  I want to make games with procedural footprint generation, 3D traversal with encumbrance and different terrain types, or tons of dialog and subtle human reactions.  This means most of my games don’t progress past text files,

While watching AGDQ 2017, I realized that people love simple games, like the ones that fit on an NES.  The graphics are simple, there are only a few stages, enemies, and powerups, but that’s enough.

So I’m going to make an NES-style game, with one twist.  The main interaction is moving antagonists around, not destroying them.  The player fends off fans who rush a celebrity’s limousine with oil slicks, velvet ropes, and other cartoony tools.

I looked around for a game engine to use and settled on Godot.  In YouTube tutorials, some people pronounce it “Guh-doh” like the play, and others say “Go Dot”. The official site’s FAQ does not address the pronunciation.

Now that I have a game engine and can start writing code RIGHT NOW, I realize how many decisions need to be made before I start.  I don’t want fans getting to the limo, but how exactly does that work?  Do fans stop the limo, and the player fails if the limo is late?  Does the celebrity inside the limo have an annoyance gauge that increases as fans touch the limo?  If the fans have limited acceleration and turning speed, I can make more interesting traps that spin them around or slow them down.  Can I knock people down?  Are they injured by jumping in front of the limo?  Boss fights are traditional, but what is a ‘boss’ in this context?  A really big fan?  Do the different tools act like different weapons in Mega-Man, Contra, or Metal Slug?  I’m sure the answers will change as I go, but here is my first attempt.

Main game loop:

Top-down, real-time, 2D game.

A limo moves through a city on a pre-determined path.  It stops whenever a fan touches it.  The level ends in success when the limo reaches the end of its path.

When the limo stops, the celebrity’s annoyance increases.  The level ends in failure when the annoyance gauge is full.

The player controls a bouncer who moves independently of the limo on foot.  The bouncer can’t move out of sight of the limo.

Fans scattered around the level will try to get to the limo.  Fans activate when the limo moves inside a certain radius.  Fans give up and go home when pushed a certain distance away from the limo.

Possible types of fans:

  • Normal fan: default speed
  • Big fan: can break through velvet ropes
  • Quick fan: a bit faster
  • Screaming fan: can stop and scream, which summons more fans
  • Paparazzi: can upset the celebrity from range

Possible tools:

  • Bouncer’s glare: freeze a fan on the spot for a short time
  • Velvet rope: blocks a path.  Force fans to go around
  • Autograph:  Throw autographed merch.  All fans near the merch’s path will chase it.
  • Spring trap.  When triggered, push back everything in its path
  • ice or oil:  slows fans moving through the area

Possible levels

  • An actor goes to a shooting location
  • A singer goes to a concert
  • A celebrity goes to an award show
  • A politician goes to give a speech.

Gallery Aggregator roadmap

When I return from a convention, I scour the internet for photos from the event.  Many convention-goers do the same, as evidenced by the many “looking for photos” threads on forums and social networks.  I’m building a searchable list of galleries from many different events  that is more permanent and easier to search than those “looking for photos” threads.

Here’s the current version

I’d rather have other people do my work for me, so I built a public page where people can submit galleries.

Check it out, and please add a gallery or two.

People would rather have a machine do their work for them while they are doing my work for me, so when someone submits a link to  a Flickr album, the website uses the Flickr API to pull in the rest of the data.

The main functions of the site (submitting, moderating, and displaying) are all working and stable, so now I can think about improvements.

  • Integrate with other sites’ APIs

Flickr is not the only image host with an API.  I should integrate with SmugMug, Imgur, and Facebook.  Automating data entry makes it easier for users to submit galleries, and makes the data submitted by users more reliable.  It’s good for both of us.

  • Make the site prettier

The styling on the site could charitably be described as “basic” because I  focused on functionality.  User experience is important, so I should make the site smooth and pretty.

  • Label NSFW content, and galleries that require logging in

If a user can’t view a gallery, a link to that gallery is a waste of time.  Some image hosts, like Facebook and Flickr, may require users to log in before they can see the gallery, so I need to warn users before they click.  Users hsould also be informed before clicking on links to NSFW photos.

  • Allow users to report dead/bad links

Sometimes links go dead, or domain names expire and are taken over by squatters.  Anyone who finds a dead link should be able to report it, so I can remove it.  This saves me the effort of periodically checks all the links, and lets users help make the site a better place.

  • Rating system

Someone who doesn’t have time to look through 100 galleries from a certain event may want some way to decide which few to look at, and user ratings are one way to provide that.  I think that “popular” and “good” often diverge, so I’m unconvinced that directing people to popular galleries is a good idea.  I could curate my personal favorites, but since what I like and what the masses like are different, that feature may not be useful to the users.

  • Add more content

I have added hundreds of galleries already, but I’ve been collecting galleries for a long time, so I have many more to add.  The more content is on the site, the more useful to visit, which means more people who like it and may contribute.  It snowballs.

  • Get other people to use the site

All this information is only useful when people know about it and use it.  After each event,  I’ll post in the various “looking for photos” threads encouraging people to use the site.