Giter Site home page Giter Site logo

scunningham777 / goldulf-dustpunch Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 1.39 MB

Ooh! Ah! Clean up those dungeons! No one's been through these archaeological sites in years, so there's plenty of detritus to keep you busy. The more cobwebs you punch, the more points to earn. Oof!

License: MIT License

Java 1.59% TypeScript 95.56% HTML 1.46% JavaScript 1.38%

goldulf-dustpunch's Introduction

goldulf-dustpunch

Ooh! Ah! Clean up those dungeons! No one's been through these archaeological sites in years, so there's plenty of detritus to keep you busy. The more cobwebs you punch, the more points you earn. Oof!

Play the dusty game here

Roadmap

Expect the following updates at some point in your lifetime. Note the order here does not necessarily reflect the order in which these will be completed.

  1. Music.
  2. Ability to restart the game, though I don't know why you'd want to.
  3. 4 total Site types (not including the overworld), each with its own color scheme, tileset, and set of Stuff to find.
  4. A custom Ancestor Spirit type for each Site type, which will be encountered less frequently than the basic kind.
  5. Relics to be acquired from the special Ancestor Spirit types mentioned above.
  6. Randomized messages from Ancestor Spirits.
  7. Special variations of the Site types, unlocked by acquiring special combinations of Relics.
  8. Special variations of the Ancestor Spitits, found in yhe Special Sute types, and handing out Artifacts!
  9. And nicer-looking menus

Development Terminology

  1. Player: person playing the game.
  2. Hero: the in-game character controlled by the Player.
  3. Site: a section of the overworld that the Hero traverses between archaeological site cleanups, or one of said archaeological sites. Can be multiple levels.
  4. Level: a single map section of a Site. Some Sites can be a single Level, but many are made up of multiple Levels.

goldulf-dustpunch's People

Contributors

scunningham777 avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

goldulf-dustpunch's Issues

Entrance can appear with no pathway

Experienced single instance so far of appearing at the entrance of a dungeon where there was no pathway carved away from the door. The door tile was correctly placed, so the Area seems to have been located correctly. Didn't do any more troubleshooting at the time.

Remove redundant "new_game" map config

This really isn't different enough to require its own config - or is it? Will the first overworld map be random then? How will it be selected? Need an elegant way to indicate that there shouldn't be an entrance for the first one.

Simplify coloring for maps

Maybe have default wall and default floor colors defined in a MapConfig. These will be used to color everything based on location (wall vs. floor), rather than doing things by tile index or whatever. That would effectively kill #25

Stuff config

May need to break out config for other objects into its own list, a la original Goldulf. Start with Stuff? Maps could then designate which Stuff was available, and give each a weight.

MVP music

Create some songs:

  • Theme song for title and overworld
  • Nother song for sites
  • Some kind of music for ancestor unleashing

Change how Dust is generated

Only Dust is generated when a level is created. Each open floor tile has a chance of generating Dust. SiteConfig needs to add properties "percentProbabilityOfDust", which determines the chance each tile has of generating Dust, and "dustTypeWeights", which determines the possible DustTypes and relative probabilities of each Type being generated.

MVP Sound fx

Remaining requirements:

  • Play something when Stuff is revealed - perhaps a less epic version of the "glory" sound.
  • Also need something for when an ancestor appears.

Rethink tweens and transparency

I'm currently using a fair amount of fading and transparency when transitioning scenes and in the "siteComplete" scene. Technically I don't believe Intellivision supported transparency at all. Do I need this? Do I care if things are anachronistic? Need to decide which direction to go.

Random dust

I think we want some dust to appear that isn't covering Stuff.

Megastuff

Every dungeon has one. Or maybe not even one. Have to think about that.

Make collision for exits require more overlap

Again this may require changing exits to sprites or something so we have more control over the size of the hit box, or simply come up with another way to require more overlap between the hero and the exit icon.

Direction issue with pointer movement

If a pointer or gamepad stick movement registers up or down movement to any extent, the frame for that direction is used. So for example, even if movement is 90% right and only 10% down, the down-facing frame will be shown.

Create "Menu" button

Probably in upper right - toggling it will rotate the UI scene around the origin of the button itself, 180 degrees. The menu will offer a "quit game" button, as well as some kind of record of accomplishments. Maybe this will be a list of all Stuff collected, or perhaps a subset of all Stuff ("Megastuff"?)

Change how movement/punching works

Hero should always be animating for movement. Clicking/tapping anywhere on the map will simply set the movement direction/velocity, and hero will continue to try to move that way until player clicks on screen again. Once moving, hero will punch continuously (?). This last part would create a need for alternating side punching probably. Maybe we could just mirror it somehow? Will this require additional frames or just adjustment of the existing animations?

Can open/close menu during site completion scene

To reproduce:

  1. clear the final Dust from a site, triggering the site complete scene.
  2. While the scene is playing, press shift or click the eye icon to toggle the inventory menu

expected: this button is disabled during the site complete scene.
actual: you can open and close the menu.

Should probably even hide the icon entirely during the site complete scene.

Points

Need mechanisms to store points, as well as display them.

Dust!

Need dust to punch.

Areas can appear on top of each other

Have definitely seen the entrance and exit Areas appear right next to each other, or even on top of each other. Need to test the "isAreaCollision" function.

Still seeing pathfinding bug

Didn't write down the exact error, but at some point the code for create paths between Areas errors out because the end target of the pathfinding algo is undefined. I've seen this at least three times recently, probably since removing "exit" areas from dungeons, though I have seen it when generating the overworld map too (even the first time).

Moving diagonally increases linear speed

Because movement is handled by changing velocity, and we allow diagonal movement that increases horizontal and vertical velocity, we're getting some Pythagorean action. Drop some maths and make it so the same linear speed is maintained during orthogonal and diagonal movement.

Show Cleaning progress on screen

Show some kind of bar that fills as you clear the dust from a site, so the player knows if they are getting close. Not sure how to handle this with multiple floors, perhaps this could help a player determine whether remaining dust is on this floor. Maybe the size of the bar is based on the whole site, but then have "x / n" for the current floor, and show "floor clean" or something if all Dust is cleared on the current floor.

Walk/punch sound effects sound goofy if you change directions a lot

Either just have the sfx run on a timer that starts when you enter the walking/punching state, or try to get it so that when you change directions the frame stays where it is relative to the animation, so eg if you are punching up and you switch to right while the third "up" animation frame is showing, it will switch to the 3rd (or 4th?) "right" animation frame right away

Tutorial/intro

Some sort of scrolling text on title scene a couple seconds after the current content

Ability to punch Dust!

Need controls for this (prob. space bar, double tap on touch), animations, and collision detection as well as effects of what punching actually does.

Will different types of dust have different numbers of hit points? Reward different amounts of points?

Ability to designate MapConfig

Need to be able to tell the new scene which MapConfig to use. And there should be a “category” and “name” field, with the name field being checked first.

Transition in/out of scenes

Idea is to do a "stepped" fade out/in when transitioning between scenes. I think this is used in a number of NES games, and I seem to recall a slight tinting of the screen during the transition, maybe in Simon's Quest. Try things out. Not sure how this would jive with the "progressive graphics styles" concept.

Settle on colors

Figure out list of colors needed, then decide on them:

  • Bg
  • 4 site types
  • Overworld
  • Hero
  • Dust
  • Stuff
  • Ancestor spirits (all same, or all different?)
  • Relics
  • artifacts
  • Menu bg
  • Menu text
  • Title/tutorial text
  • Special site types?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.