prehnRA

[Dev Log] Jonathan Bro in: Poopwater, New Mexico

Recommended Posts

You are Jonathan Bro, indie action film badass and total bro.

 

The year is 1999. The people of Poopwater, NM have called upon you to destroy the feco-electric dam which has ruined the town.

 

"It's a doom clone" -- 90s Video Game Reviewer

Share this post


Link to post
Share on other sites

Currently painting up a basic 256x256 tiling floor texture. Since I'm going for a doomy feel, I'm trying to keep graphics to what was possible in 1993. Textures < 256px, limit palette, very simplistic lighting model (basically one light level per sector, applied uniformly).

 

This will be interesting because Unity 3d defaults are much nicer than what I'm trying to do.

Share this post


Link to post
Share on other sites

I hope it features mechanics from both Braid and The Witness!

Not necessarily mechanics, but I do have references planned.

Share this post


Link to post
Share on other sites

End of Day 1:

 

- Floor installed & textured

- Player motion w/ WASD & mouse look -- speedy as hell

- Classic head bob

- Projectiles

- Pew pew sound effects borrowed

- Walls installed and textured

- Doors started

- Found lots of options for bgm. Hopefully can get license under agreeable terms for one of the good ones

 

Got hung up on on adding walls for awhile. First time, screwed up because I somehow set my room object (which contains the walls) to a weird scale, which made doing the placement math very strange. Also, used Quads instead of Cubes for walls which became a problem because the player moves so fast he would pass straight through a Quad (which has zero depth). Blew up my original room, rebuilt in standard Unity scale, and made the walls from Cubes. Much better!

 

Got the basics of a game down. Tomorrow, adding doors, bad dudes, combat, and start embroening.

 

Movement feels like Doom, which is rad.

Share this post


Link to post
Share on other sites

I'm bad at pixel art & textures, but I finally feel like I hit "patient amateur with no natural ability" level.

 

Things that have helped with pixels on this project:

 

- Spending more time getting the "base color" right.

- For me, pixel art can't be made by placing pixel-by-pixel. I have to think of it like I learned to do charcoal and pastels: start with vague areas of light and dark, then refine bit by bit until you have the desired shape.

- After you block out rough color regions: stop using 100% opacity for anything. Purists who want you to blend color by hand seem like they are doing that for the challenge/sport, not because it is the best way to make assets.

- Loosen up. I always want to zoom in and hand place every pixel, but the result is something that looks super fake-- too geometric. It is OK to have the pencil slip a pixel or too sometimes. Very few perfect lines in nature.

- Use lots of layers. The "only one layer" crowd, again, seems like sport hunters. Layers give you freedom to make mistakes and let you mask off areas to focus on.

- Use noise layers and blend them down onto lower layers. This looks better than perfect patches of color.

- Base "metal" layer + decal layer + hit decal layer with eraser with grungy brush cranked up to huge size = chipped paint or peeling sticker = pretty great

Share this post


Link to post
Share on other sites

Day 3:

- Added pixely Big Dogs. They look pretty bad, but whatev. The Big Dogs animate, and have facings, and FOLLOW YOU. The Big Dogs can be shot.

- Listened to a lot more musical options.

 

Tomorrow:

- Big Dogs fight back.

- Bee sounds.

- Embroening.

Share this post


Link to post
Share on other sites

Day 4:
 
- Big Dog definitely fights back
- Big Dog can, in fact, murder you
- Made a Bro portrait that changes state as you take damage, when you get hit, when you go on a shooting rampage, etc
- Found a track for BGM
- Big Dogs spawn out of hell portals (sometimes a few too many)

 

Tomorrow

 

- Finally, bee sounds

- Finally, plug in BGM

- Make the waves of Big Dogs stop at some point!

Share this post


Link to post
Share on other sites

Hahaha, that video is amazing. This is looking good so far!

Share this post


Link to post
Share on other sites

I had a tire blow out on my car which took of most of my dev time this evening, between putting the spare on and then waiting at the shop to get a new one on. Trying to game jam and also do a full day of day job is hard.

 

I did manage to make the waves of Big Dogs stop. There's a spawn manager now that controls how many portals, how many waves, how far apart they are spaced, etc.

 

Hoping to catch up some tomorrow and finally, actually work on sound.

Share this post


Link to post
Share on other sites

Haha, that's absolutely fantastic but maybe a bit unbalanced. :P

Yeah, I might have to turn down the spawn rate a little bit.

 

(What actually happened is the first version of the spawner had a timer-- and I forgot to reset that timer after a wave spawned-- so the timer was going off forever and spawning another enemy every frame. Spun up the fans in my laptop real quick.)

Share this post


Link to post
Share on other sites

I saw your gifs on the Twitter, and man, nice doom clone.

 

Thank you! 

 

Making Doom levels was one of my first experiences making things in games. From that, I have weirdly internalized a lot of the parameters and limitations of that engine. Over the years, I've read a lot about how that engine works and I am always impressed by how you never really perceived the limitations when playing the game. For example, even though you could not stack one sector on top of the other, I never noticed that playing the game-- the levels felt multi-story. (Fabien Sanglard did a good write up of a lot of the key, low level processes in the original engine: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php)

 

Starting from there, I wanted to introduce the key limitations of that engine as creative constraints on myself. Purely vertical walls and floors. No vertical stacking (I have no different height sectors at all right now just because I have not gotten to it). Enemies and power ups as scaled sprites. Enemies with 8 facings, only a few animation modes, and animations of 2-4 frames. Very simple lighting (mostly room level lighting). Low resolution tiled textures. From those limitations comes a lot of the clone feel I am trying to capture.

 

Also, I figured out the Doom guy's movement speed and converted it from Doom's unit system to Unity's. I ended up fudging a little bit, but it is in the ballpark. And yes, you move faster if you are running diagonally.

Share this post


Link to post
Share on other sites

Here's what I've been working on since the last Dev Log days ago:

 

- Room doors animate open and closed.

- Built spawn portals that spawn out waves of Big Dogs.

- Tied the spawns to room scripts-- you enter a room, the doors close, and waves of Big Dogs spawn. When you kill all the waves, the portal goes away and the doors open.

- BEE SOUNDS (I cheated on the constraints a little, and used 3D audio, because I find it helps to know if you are being flanked).

- Finally, there are multiple rooms (all the same room type right now).

 

An interesting limitation of Unity that I found: Unity NavMeshes can (currently, officially) only be baked in the editor, not at run time. This means that if you procedurally generate your level, you really can't rely on the navmesh directly for navigation. Also, NavMeshes are associated to scenes 1-to-1. There is an update on the roadmap for June that exposes the bake API at runtime that should make this easier. Until then, workarounds:

- you can use a third party asset to handle navigation

- you can bake a nav mesh for each tile type into a separate scene and additively load the scenes on top of each other (not sure how well this would work, because I'm not sure whether you can translate the navmesh from code at all)

- some people have scripts that construct a mesh by hand, and it seems like if you name it the right thing, make it the right size, place it in the scene in the right way, unity will respect it as the mesh, but that appears to be entirely undocumented behavior

- You can treat everything you procedurally generate as NavMesh obstacles and use run time collision avoidance to have AI avoid your random walls and whatnot (probably way slower than a baked nav mesh)

 

I am working around it for now by only having one room with active AI at a time, and a NavMesh that is a very large flat plane. The rooms are very simple and all the same. Since you don't see the crazy stuff the AI in other rooms are doing, this bit of stagecraft works. The AI follows you, and there are no obstacles to avoid within the rooms right now, so it works.

Share this post


Link to post
Share on other sites

- Menus in.

- Level generation in.

- Randomly placed poopwater.

- Different types of rooms (varying difficulty rooms, treasures, OTHER ROOMS).

- Power up drops (health, rapid fire, spread shot, bombs).

- Particle explosions when you shot hits something (added because the lack of feedback made you feel like you missed when you actually hit).

- There is a win condition now.

- "Story"

 

The power ups take inspiration from Smash TV (as do some of the mechanics of the arena battles within each room). They give you a special weapon for a limited duration and drop from enemies some % of the time.

 

Left on the list:

 

- One attack animation is weirdly floaty, so I need to tweak it maybe.

- I made different difficulty levels in the menu… but they don't do anything right now. I should probably make them change some of these here numbers…

Share this post


Link to post
Share on other sites

And it is released: https://itch.io/jam/wizard-jam-2016/rate/68388

 

The final jam version shipped with:

- Procedurally generated levels

- Big Dogs that spawn out of portals and try to kill you

- Bee sounds

- A variety of power ups: health, temporary weapon upgrades, etc

- A BOSS

- An exit room

- COOL MENUS

- Drum and Bass

 

Here's a short clip of what the game looks like now: https://twitter.com/prehnRA/status/734202172246724608

 

If I pick up the game later and work on it more, I would like to add variety to the room shapes and contents. Everything happens on a 2d plane with walls meeting at 90 degree angles, which actually makes the levels more Wolfenstein than Doom. I want different areas, hazardous pits, steps, windows, etc.

 

It would be good if there were variety of enemy types too. I wanted a type of enemy that shoots projectiles to break up the combat routine and force the player to dodge more. I just could not fit it in.

 

I wonder if the game would benefit from an ammo management mechanic or weapon charge meter-- because right now the best strategy is just to spam shots as fast a possible and I wonder if it would feel better if you were encouraged to line up your shots.

 

I wanted to add some quips for the enemies and PC. It isn't part of the genre formula, but I could've done some good stuff with the theme. I had a couple exchanges roughed out, but would've needed a lot more to justify the system. I couldn't fit it in because it takes me a long time to work through good creative writing.

Share this post


Link to post
Share on other sites

Ok, so the mouse sensitivity was a LITTLE HIGH.

 

I turned it down slightly (76% or so) and made a slider under SETTINGS.

Share this post


Link to post
Share on other sites

This was funny, and good classic fps fun! :) The bees buzzing big dog-looking (?) robot enemies were vicious. The weapon powerups were cool, but it wasnt clear when they would run out. I got really far, I think, and then died because of a puddle of poop water of all things! Also, nice touch putting "Art" in quotes in the credits :)

Share this post


Link to post
Share on other sites

This really captures that early Id Software feel and tone well - love the music and the avatar especially! Good to have an EOGB, though I probably could have done with a bit less of the Wolfenstein-style box maze to get there! All the stuff you suggest for future additions are exactly what I'd like to see!

Share this post


Link to post
Share on other sites

Very great doom clone, captures doom clone holistically. Interesting the mechanic the poop creates, more deadly than the robots full of bees.

Share this post


Link to post
Share on other sites

It was so weird not being able to look up and down! I stepped in too much poop and died. Good fun:)

Share this post


Link to post
Share on other sites

Had a great time with this! Just the right amount of time to spend smashing through waves of robots. I almost died to poop, but managed to get through it. Loved the techno soundtrack too, just the right blend for the action. I did want a bit more feedback when my bullets hit the robot things, but that's a juice issue, so not a huge deal. You can watch me slightly panicking and giving way less feedback than I wanted to (because I was concentrating too hard!) over here: 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now