Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411283 Posts in 69325 Topics- by 58380 Members - Latest Member: bob1029

March 29, 2024, 12:42:29 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBiodrome - Competitive exploration
Pages: [1]
Print
Author Topic: Biodrome - Competitive exploration  (Read 4493 times)
PeteHuf
Level 0
***



View Profile WWW
« on: January 26, 2014, 07:19:01 PM »

Biodrome is a game of competitive exploration and the objectification of alien animals set in a persistent multiverse. Players are rewarded for being the first to discover new locations on hostile planets. The more remote the location, the more the player is rewarded.



Gameplay Description
Moment to moment, the game plays like a classic 2D metroidvania would if it controlled like an FPS. Players explore planets finding items which help them to continue exploring. There are three bosses to defeat on each planet, though the main objective is to reach previously unreached locations. Only by being the first in a new area will players collect RESOURCE (placeholder term). Players are ranked based on how much RESOURCE they have collected.
Explanation from the game’s help:

Overview
Explore biodromes created by the Delphinoids (thought to be extinct.) Biodromes are vast colonies filled with a precious RESOURCE. Your objective is to collect this RESOURCE. You will encounter the creatures left behind by the Delphinoids. Some will be hostile and others will be helpful.

Items
The delphinoid suit you are wearing is equipped with bio-scaffolds at the tip of each arm-tube. Some creatures (known as items) attach themselves to these scaffolds and can grant you their abilities. These abilities can be used to combat hostile creatures and to move more easily through its biodrome. Items are native to the biodrome you find them in, and can't be taken elsewhere.

RESOURCE
RESOURCE is a valuable resource and behaves in interesting ways. While you are the only one in our universe who could make the trip to the biodromes, we live in a multiverse, so you will be competing with copies of yourself in other universes! Here are two interesting facts about RESOURCE:

1. RESOURCE flattens when collected. This means that if you gather some RESOURCE, you gather all copies of it from all universes. Others will have to look elsewhere for their RESOURCE--there is no sharing!

2. Once the seal of a biodrome is broken, its RESOURCE starts to increase in power. RESOURCE from a biodrome discovered last week is worth hundreds of times more than from a freshly discovered biodrome. While RESOURCE on old biodromes is worth more, others have had more time to gather it. It will be harder to find the valuable RESOURCE others have missed!

Default Controls
WSAD - Move
Space - Jump
1-7 then left/right click - Choose an item (if you have one)



How it Works
A server keeps track of which planets players can travel to, and the RESOURCE which can still be found there. To ensure there are always new places to discover, new planets are opened up as RESOURCE is collected. Planets are procedurally generated to ensure an endless supply. Players increase their score by collecting RESOURCE and are ranked against others based on that score. To ensure players who got a head start don’t have an unfair advantage, scores are gradually lowered over time. This way the score reflects the recent rate of RESOURCE collection.

Development Challenges
The main challenge is procedurally generating interesting places to explore and new challenges to be overcome. Playtesting and feedback will be very important. Currently the game can produce some interesting challenges early on when exploring a new planet. I’ve found though that once I have a good set of powerups much of the challenge disappears. This will require more tuning.

What’s Done
All the major pieces are in place in bare-bones form:
- Basic planet generation
- Basic room generation
- 6 powerups (I’d like more, with a random 6 being chosen for each planet)
- A few enemies
- One type of boss
- One environment theme
- Client/server structure

Some of What’s Left To Do
Remaining work is mostly around added content, tuning and polish:
- Replace placeholder models
- Fancier planet generation (allow multiple paths even when the player isn’t sequence breaking)
- Fancier room generation (make rooms more unique and recognizable, provide better challenges)
- More powerups (giving planets more unique flavors, as each will only have a subset of the possible items)
- More enemies
- More boss types and boss behaviors
- More environment themes
- Finalize backstory
- Opening and planet completion cinematic
- Item balancing and tuning for usability
- Engine optimization
- General polish (fixing twitchy behavior during state changes, odd menu quirks, etc.)

Gameplay videos can be found at http://www.youtube.com/user/Ubrasaur/
The games website is biodromegame.com

Thank you for your time! Please let me know what you think.
« Last Edit: September 27, 2015, 09:43:23 PM by PeteHuf » Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
Suedeash
Level 0
***


That guy.


View Profile
« Reply #1 on: January 28, 2014, 11:35:53 AM »

Looks fantastic. I'm staying tuned.
Logged
DarkWanderer
Level 3
***



View Profile
« Reply #2 on: January 28, 2014, 11:42:35 AM »

Caught this on the metroidvanias.tumblr. Very interesting looking project.
Logged
PeteHuf
Level 0
***



View Profile WWW
« Reply #3 on: January 28, 2014, 09:55:15 PM »

Thanks guys! I see a few people have played it recently.

Having a server-based game adds a lot of work, but it has some interesting benefits too. For example, I'm able to collect game exit surveys. The survey results look like this;

Start: 1/26/2014 10:50:54 PM
Duration: 24.806985545
Poll: clo pla equ tre ope too ? YES variety interface : pretty good

From this I can see when the player started, how long they played, what milestones they hit, if they would play again, what they would like to see improved (picked from a list of checkboxes to help give ideas), and it has a box for comments. The milesones there are:

CLOsed the opening menu
Visited a PLAnet
EQUipped a tool (internal name for items)
Collected a TREasure (internal name for RESOURCE)
OPEned the menu
and found a TOOl

This can tell me if the player was able to do the basics, but I have a fancier method of collecting more in-depth info on the play session: Demo recording!

Since the game's simulation is pretty deterministic, I can record the players inputs then replay them later. This basically gives a cheap recording of everything that happened. They are only valid for a short while (as soon as I change the room generation code old recordings will be out of sync) but it is great for watching what play testers did! In the last few days I've had three people come in, and I have a few hours of recording to watch.  Smiley I can adjust the speed of the simulation, so it doesn't take as long to watch as you might think. So far I've already found one bug! I'd say watching these recordings is almost as good as physically watching the tester play.

Without the server I wouldn't even have known anyone had tried it.
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
PeteHuf
Level 0
***



View Profile WWW
« Reply #4 on: February 02, 2014, 10:43:16 PM »

So for I've had eight playtesters and have gathered lots of great feedback. My biggest takeaway so far was that players still didn't have enough direction when starting out. I had several testers login, roam around the starting area for a while, never find the first powerup, then logout. I pushed an update yesterday to my "new-player-nudging" system which will hopefully make it more effective. The system basically points out UI elements the player should be paying attention to and tries really hard to not feel like a tutorial.

The players who did find the first item often logged in for a second play session. One player played 10 times for a total of about 8 hours of play! (Looks like he left it running and walked away for one session so that is an estimate.) He was able to give me a lot of detailed feedback on how the upgrades behave. The next major task I'd been planning was to revisit the room generation code to make rooms more interesting. Based on the feedback I got though my new higher priority is to add more effects associated with item usage.

Here is an example. There is a powerup in the game that lets you fire rods which can stick into walls. Once stuck, balloons inflate from the end of the rod allowing you to use them as a platform. To keep the item from being overpowered though, there are several rules:

  • If you hit the wall at too steep of an angle it will skip off the wall and continue on without sticking.
  • Otherwise, if you hit too hard of a surface with the rod sparks will fly and the rod will uselessly bounce off spinning.
  • Otherwise, if you are too close to a wall the rod will drive far into the wall and no balloons will sprout.

Currently, in any of those scenarios you simply hear a metallic clang and the rod vanishes. Adding unique effects should make it much clearer that there are three different rules at play.
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
PeteHuf
Level 0
***



View Profile WWW
« Reply #5 on: February 13, 2014, 10:23:50 PM »

Tripled my framerate!

It had been a while since I'd run a profiler, and the game had seemed frameier than it used to, so I thought it was high time. I found PerfView which is a free .NET profiler that does memory and performance profiling. I noticed some ways I could save memory (haven't done it yet), but the real shocker was how my game was spending its time. Almost a quarter of the time was testing bounding box visibility in my render method!

I looked through the method that does the test--nothing out of the ordinary. Then I looked to the render method to see how I was calling it. I was looping over 190 bounding boxes testing visibility, not much I could do about that. Then I saw I was repeating the same test 6 times each frame (once for each side of a cube. That lead to 1140 tests instead of the 190 I actually needed! Then I noticed THAT loop was inside another for each wall texture. There are currently 20 wall textures. 22800 tests when I only needed 190! Moving the inner loop out to only be done once per frame ended up tripling my game rate.

Two take-aways: watch nested loops, and profile! At least no one can accuse me of premature optimization.  Giggle
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
PeteHuf
Level 0
***



View Profile WWW
« Reply #6 on: June 24, 2014, 09:41:35 PM »

Haven't updated in a while. I got a bit distracted with Titanfall for a while, but it gave my batteries a chance to recharge.

Since the last update I continued playtesting with the help of people I meet at a game dev enthusiast meetup (http://www.meetup.com/SeattleGames/). Though that feedback I've been able to improve the ingame hints/tutorial.

I also wanted the next version to have more variation in the locations the game generates. A challenge with procedural generation can be uniqueness. Each snow flake is unique, but how many can you recognize? So far I think my results are promising, but maybe I just haven't seen enough rooms with the new techniques for them to start looking the same to me.

Here are some screenshots of what gets produced now:





You can test out this latest version at biodromegame.com. Please give me comments/feedback if you do!
« Last Edit: June 24, 2014, 10:09:56 PM by Ubrasaur » Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
Quarry
Level 10
*****


View Profile
« Reply #7 on: June 24, 2014, 10:22:45 PM »

I love the HD approach to the NES graphics
Logged
PeteHuf
Level 0
***



View Profile WWW
« Reply #8 on: June 25, 2014, 08:53:45 PM »

I love the HD approach to the NES graphics

Thanks! It took a fair amount of work for me to get that look. I like the look of Starshock (I've considered sprite enemies myself), but man that demo is hard!
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
Quarry
Level 10
*****


View Profile
« Reply #9 on: June 26, 2014, 07:37:04 AM »

Oh hahahaha, I heard that a little bit too much. Me and Stefan are breezing through it at ease. I guess it's hard for a developer to not get skilled at his/her game and end up balancing it badly  Evil
Logged
PeteHuf
Level 0
***



View Profile WWW
« Reply #10 on: September 17, 2014, 09:41:52 PM »

I've been working on the skybox lately:



The clouds and sea are flat quads with two textures of gray scale Perlin noise sliding across them. I multiply the values of from the two textures for each pixel, getting a "height factor", I combine that with the distance from the camera and get an index into my array of color bands. The "height factor" for the water is weighted much higher than it is for the clouds, so that's why the bands aren't so discrete.

(Also, anyone know a good program to exit animated gifs? I'd like to chop off the start and end of this.)
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
PeteHuf
Level 0
***



View Profile WWW
« Reply #11 on: September 19, 2014, 08:33:52 PM »



Replaced the placeholders for the powerups. Powerups are genetically engineered aliens which hang on the ends of your arms. You find them in cage/capsules. This one lets you swing around from a fixed-length energy chain.
Logged

Biodrome Devlog! Competitive exploration in procedural platformer adventure worlds.
Gamedragon
Guest
« Reply #12 on: September 19, 2014, 09:00:31 PM »

Loving the look of this!
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic