GithubHelp home page GithubHelp logo

space-race's People

Contributors

jaythomas avatar jon-cavaliere avatar supershadowplay avatar wyatt-herkamp avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

space-race's Issues

Animated Tiles

It would be a nice feature to have environment tiles that are animated.

Improve gravity

Tweak gravitate system so the goldilocks zone is wider. When getting near a planet it is easy to get too close and fall in or to be too far and not get any meaningful gravitational effects from it. Gravity is based on the inverse square. During the last meeting we discussed a linear gravity dropoff would give you a wider band around a planet that could slingshot your ship without providing too much or too little gravity.

Map loading

Goals for the week:

  • Get map loading working so we can use Tiled to create maps
  • Merge all that stuff into master
  • Push up a demo map branch as @marcioRene commanded
  • Make sure circle entities created in Tiled load properly

Side note:

[x] Get luacheck config loaded so @SuperShadowPlay stops creating global variables

Make discrete levels

Make a way to load different levels rather than just the one currently available. This could be where we integrate a level creator like Tiled.

Proper map unloading and game state reset

When completing the No Planets map, the game should unload the map/entities and kick you back to the main menu. It sort of does that now, but leaves the game in an invalid state.

Main Menu

A main menu that shows up when you first boot the game.

Render Culling

Currently everything is rendered at all times. Once the maps get bigger (and possibly animated), this will take up a lot of unnecessary resources. We need some sort of service that stops the drawing of objects that are off-screen.

Automated map verification

Write a busted script to run in a GitHub workflow that will go through and load each map to ensure no code regressions are introduced that would introduce runtime errors loading any given maps.

Add more textures

Currently the only textured entity is the spaceship itself. Texture all the things!

Add checkpoints

Create entities that would define the start, finish, and midway checkpoints for a race track.

Checkpoint gates can close if the player is on the wrong side

image

Little bit of a nit-picky issue, but if the player enters a checkpoint gate and then backs out, the on_end_contact callback executes and closes the gate, preventing the player from completing the track.
Perhaps adding some data to the checkpoint entity that stores the proper path direction and checking if player coordinates are on the other side before closing would solve this bug?

Different player spaceships

Add a way to change the stats of your spaceship. One might have faster speed or one might be better at turning.

Make the game physics more fun

Currently you slip and slide around the map everywhere and it's not a whole lot of fun. Find ways to improve the physics and test against the No Planet map.

Speed boost pathways

Make an area of the map temporarily speeds up spaceship.

Turbo speeds up player in a specific direction. The sprite should hint at which direction the force is going, maybe sort of arrow shaped.

Fixtures not unloading properly

Load the test map, then load no planets. If you smash yourself into the wall right below you and go right, you're stopped by the wall that was loaded in on the test map.

Jon suggests it means the fixtures aren't being deleted, so I'll start by explicitly destroying fixtures and then go from there.
https://love2d.org/wiki/Body:getFixtures -- for reference later.

Level idea: Big planets

In this level you would have giant planets that seriously affect the way you have to steer through the course.

Resizable Window

Allow the player to resize the window to fit their screen. Hooooo boy this one might be a pain...

Customizable Keybinds

Make a way for the player to change the keybinds of the game to suit their liking.

Ship selection menu

Add a menu that pops up after selecting a map that allows the user to select which ship they would like to use.

Create tunnel

Put the tunnel sprite on a layer above the player's layer, but also put invisible walls lining the tunnel on the player's layer so they can interact with the tunnel.

Checkpoints of varied sizes (or specifiable size)

Currently, as far as I am aware: checkpoints can only be added to the map in two configurations 2x8 tiles ( checkpoint-gate) and 8x2 (checkpoint). Having larger checkpoint paths would aid in map design for larger more open maps. Even with the improved control ability, sometimes fitting in an 8 tile wide path at any substantial speed is challenging. Maybe Im just bad at the game... but I want to zoooom

This isn't a major issue, I would classify it as a "nice to have" for now.

Add support for additional object properties from tmx

Screenshot from 2022-01-20 22-17-37

For instance we may want to specify a radius property in Tiled at the map level so we can re-use the same "planet" entity multiple times without creating individual planet entities in each radius we want to use.

Remove global variables and linting errors

With the merge of #24, potential errors in our code are now more visible:

Screenshot from 2022-01-30 21-21-30

To make them more visible in your editor please install the appropriate plugin such as vscode-luacheck for vscode or ALE for vim/neovim. This issue is resolved once we are getting ✔️'s instead of ❌'s by our commits.

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.