Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josepedrodias/ld39
Soaring - a ludum dare 39 game jam submission \o/
https://github.com/josepedrodias/ld39
gamedev hackathon ludumdare
Last synced: 1 day ago
JSON representation
Soaring - a ludum dare 39 game jam submission \o/
- Host: GitHub
- URL: https://github.com/josepedrodias/ld39
- Owner: JosePedroDias
- Created: 2017-07-29T09:27:20.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-08-01T00:56:01.000Z (over 7 years ago)
- Last Synced: 2024-11-20T13:39:18.694Z (2 months ago)
- Topics: gamedev, hackathon, ludumdare
- Language: JavaScript
- Homepage: https://josepedrodias.github.io/ld39/
- Size: 33.7 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LD39 - Soaring
This is a Ludum Dare 39 game jam entry.
## Game summary
* rules
* 1HP, must pick fuel periodically (in tough spots) and may pick coins
* constant player movement in XX
* vertical impulses to keep ship above ground* items
* gas (required to keep gas level above 0 else game over)
* coins (best effort. catching all in a level unlocks full level completion)
* power ups* score
* survived game time and picked coins* obstacles
* static platforms
* moving platforms (recurring movement/rotation)
* gates opening/closing
* rotating elements* item placement
* items can be static, but also tied to platforms and or with assigned paths (if so, one must grasp them fast otherwise too hard)* enemies (not sure these are necessary given the game constraints, only relevant if we can affect them in some way)
* classic patrolling movement around point
* sine wave movement à là r-type* power ups
* invincible
* speed up/down XX speed
* power up centers camera ahead of player, allowing to see more of the level
* rotate the camera (harder to reason about)
* kill visible enemies
* kill destructible obstacles (are these any of these?)
* invert YY gravity* game appearance / vibe
* average/poor art, best effort (most likely)
* crude solids with vibrant colors (geometry dash)
* dramatic with normal lights* nice to haves
* decent sprites (may drop compo to jam and use artwork from elsewhere such as [kenney](https://kenney.nl/assets))
* music (either: none, use free licensed, from a friend - therefore jam)
* sfx (might do with simple generators since the theme is simple enough)
* lighting as an obstacle (would require sprites to have )## Supported browsers
* tested / targetted
* android chrome
* mobile safari (iphone/ipad)
* best effort
* chrome, safari## Tech stack
* browser and javascript
* 2D gfx with [pixi](http://www.pixijs.com/)
* collision detection with [bump](https://github.com/kittykatattack/bump)
* audio with [howler](https://howlerjs.com/) [docs](https://github.com/goldfire/howler.js#documentation)## Artwork stack
* graphics
* used [blender3D](https://www.blender.org/), [inkscape](https://inkscape.org/), [gimp](https://www.gimp.org/) and generated some procedural textures with [tg](http://blackpawn.com/dev/tg.html)
* the background sky and a couple of pill sprites came up from kenney.nl, didn't manage to replace those in time :P* sfx and music
full credits to [@asilva4000](https://twitter.com/asilva4000)
composed with [reason](https://www.propellerheads.se/en/reason)
audio encoding with [xmedia recode](http://www.xmedia-recode.de/download.html)
## some references
*
## TODO list
* ~~brainstorm~~
* ~~set up basic engine~~
* ~~renders sprites~~
* ~~touch support~~
* ~~music and sfx playback~~
* ~~level loading~~
* ~~keep aspect ratio and viewport independent of screen~~
* implement game rules
* ~~xx constant movement~~
* ~~impulse~~
* ~~texture loading~~
* ~~basic box collision support~~
* ~~pick up coin~~
* ~~gas tank logic~~
* ~~tiling bg~~
* ~~animated items (coins etc)~~
* ~~start screen > play > game over | pause states~~
* ~~compress audio to howler compatible formats~~
* ~~request fs and avoid double events~~
* ~~reset time on game over~~
* ~~level transition~~
* ~~highscores (displayed on game over)~~
* ~~pitch ship according to y speed (requires improved collision det)~~
* ~~graphics made with blender, tg (procedural) and gimp~~
* ~~prepare publish~~MAYBE
* animate title screen
* toggle sfx and audio (persist to LS) -> done. still no way of toggling
* google analytics, if time permitsDOUBT IT
* review cleanup (ex: sprite.destroy())
* implement and add power-ups
* particle effects
* additional backgrounds with different parallax?