GDQuest/godot-steering-ai-framework

Create a game that showcases the toolkit

Razoric480 opened this issue · 6 comments

Harvester

Harvester is a top down space mining game. Control your spaceship in forays into an asteroid belt, gather resources, and bring them back to base. Spend them to upgrade your ship's speed and manoeuvrability, cargo space, tools, and build automated helper drones.

Beware, however; you are not alone out here. Pirate miners and native space-life stake out territories and take umbrage with your operation.

Summary

The player begins with a simple ship at their space station in a relatively large, procedurally generated map filled with asteroids, resources and debris. Their job is to navigate their way to find, map out, and collect resources and take them back to the station.

As they accumulate resources and score, enemy pirates and native space wildlife begin to spawn and stake out their own territories around veins. This forces the player to take different paths until they are able to devise ways to distract or destroy the interlopers.

The player continues until they are overwhelmed by the mounting difficulty and growing opposition and sees how far they can go.

Development

The game is meant to showcase the GDQuest Godot Steering Toolkit while still being a fun time waster. As a result, the two different enemy factions and the automated drones will demonstrate very different behaviors built with the toolkit:

  • The wildlife will seek you out rather simply, aiming to attach itself to your ship until scared off. They can also chase after pirate ships.
  • The pirate faction will intercept you more intelligently, getting you within range of their weapons but keeping a safe distance while avoiding asteroids and debris. They are also more likely to work in groups, and will seek out mineral veins to take to their own base until you get too close.
  • The drones will move from the base to the resource veins simply and efficiently, following the path you laid out for them while avoiding collisions with asteroids.
  • The player, to repair/refuel/deposit cargo or to mine, will use an AI assisted docking mechanism.

This baseline summary of the behaviors could change based on player upgrades and special tools that are unlocked. This offers a nice variety of in-context behaviors while keeping those behaviors simply coded.

The game has a relatively simple base, with the main mechanic being a top-down spaceship that dodges and mines. But the brunt of the extra features would be progression and unlockables, which makes it a game that can be revisited and added to without unnecessary refactoring.

Pre-rendered 3D sprites will be the main graphic. I've been away from making art for a while and would like to get my fingers dipped in once again.

Okay, while the concept looks promising, this also sounds like weeks of full-time development (read months with scope creep). We don't have the budget to do something like that, especially as we have no funding to back this project at the moment.

Right now, through GDQuest, I can fund the "jam version" with just the core mechanics, say, roughly 2-3 days of development + peer work. And for that, I'd like us to have a clear scope, tasks, and deliverables defined. Everything outside of that would fall into personal work. I can assist you with the planning and scope.

There, we can communicate on the project, try to get contributors on board, and see if there's potential to push it further.

Does that sound good to you?

Harvester - Jam Demo

Harvester is a top down space mining game. Control your spaceship in forays into an asteroid belt, gather iron, and bring it back to base. Spend them to upgrade your ship's speed and manoeuvrability and cargo space.

Beware, however; you are not alone out here. Pirate miners are out there and want to monopolize the business.

Summary

The player begins with a ship at their space station in a relatively large, procedurally generated map filled with asteroids. Their job is to navigate their way to find asteroid pockets, dock with them to mine, then dock with the station to drop them off and earn an upgrade.

As they accumulate iron and score, enemy pirates spawn around asteroid pockets. This forces the player to take different paths until they are able to destroy the interlopers.

The player continues until they are overwhelmed by the mounting difficulty and growing opposition and sees how far they can go.

Development

The game is meant to showcase the GDQuest Godot Steering Toolkit while still being a fun time waster:

  • The pirates intercept you when in range, getting you within range of their weapons but keeping a safe distance while avoiding asteroids.
  • The player, to repair/refuel/deposit cargo or to mine, uses an AI assisted docking mechanism.

The game uses a simple programmer-friendly art style just to get itself going, but this can be revisited in the future.

Deliverables

Player controls

  • Travel mode: A and D rotate the ship, while W and S thrust forward and back
  • Precision mode: The ship automatically rotates to face the mouse while the right mouse button is held down. A, D, W and S move them left, right, up and down relative to y-up. It is slower, but more precise.
  • Shooting: The ship has energy guns that can become stronger
  • Docking: When approaching an asteroid or a station, the player can activate docking mode, and an AI will take over to steer them into position and lock them in place.
  • Map: The player can bring up a navigation map to get a look at where asteroids are and where pirates are.

Pirates

  • Spawning: Every time the player deposits a certain amount of cargo in the station, pirates spawn around some of the asteroids.
  • Movement: Pirates move in precision mode. They chase the player, get within weapons fire range, but don't get too close. They do avoid asteroids to not crash into them. Once out of range, they steer back to their spawn point.

Upgrades

Depositing iron into the station raises a percentage bar. When it hits 100%, the player can select from a small number of upgrades: health, speed, rotation speed, cargo space, and weapons damage.

Map

The map is made up of a number of asteroid pockets separated by some distance. Asteroids have a certain amount of iron in them and vanish when emptied. More asteroids can spawn on a timer to fill some of the empty gaps.

Great! Now, may I ask you to break it down into a list of prioritized features and mechanics. For example:

Milestone/Prototype 1: toy demo

Goal: get a feel for the player's controls and the enemy pursuing them

  • Player ship movement

    • Support for gamepad and keyboard
    • Keyboard movement: car with steering style, rotate the ship with two keys (AD), move forward and back with two other keys (WS)
    • Take-off and docking to the station, using steering behaviors
  • Enemy movement
    ....


This is to help you and us to organize and prioritize work, control the scope of the game, but also to set clear stages for reviews and keep the reviews efficient and on-point. Could you work on that?

Yessir.

I've added a new repository, including some base milestones as issues.

Closing - Harvester has reached a pretty feature showcase state by now.