Giter VIP home page Giter VIP logo

dash's Introduction

Dash Logo

Build Status Docs Gitter Chat Release

If you're reading this page, chances are you fall into one of the following categories:

I am a game developer interested in making games with Dash:

Our documentation page has all the info you could ever want for building a game with Dash. Pro tip: you'll want to read up on YAML and D before getting started.

I am an engine developer looking to contribute to Dash:

Great! We'd love to have your support/input/code. Check out CONTRIBUTING.md for a guide on how to get started.

I have no idea what this is, I just want to see it running:

The easiest way to get Dash running (on Windows) is to head over to our Releases page and download the most recent dash-game.zip, and double clicking on Dash Game. On Linux, you'll want to check out the simple instructions at Setting up Your Environment page.

Contact Us

We'd love to hear from you, feel free to get in touch using gitter (our public chat room) or email us at dash [at] circularstudios [dot] com. We'll do our best to have the appropriate team member respond as quickly as we can.

dash's People

Contributors

berulacks avatar brooklynlittell avatar coldencullen avatar ericchristenson avatar liam-middlebrook avatar maqnouch avatar patrickjm avatar pxlbuzzard avatar rcorre avatar scrappyorc avatar tmr9209 avatar trvb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dash's Issues

Merge Related Modules

  • Merge Texture into material module.
  • Merge all shaders together.
  • Merge Lights into a single module.

Rework shader loading system.

So the previous way we did this with 192 was to scan for variables in the shaders, and then query their positions. A potential rework of this system would be to have a meta data file of some sort that includes variable names (making it less of a pain to do arrays) and the positions of variables, so we could set them ourselves. Thoughts or alternative ideas are welcome.

Implement Render Pipeline

We need to design and implement a shader pipeline for efficiently drawing objects.
Things To Do:

  • Set up textures for deferred rendering
  • Shut down textures for deferred rendering
  • Determine object render framework
  • Implement Shader compiling
  • Implement object loading

Mouse Support

We need to be able to click on things. This means we need to do a raytrace (or something similar) and return the first object on the screen.

Rework components

  • Remove draw from components.
  • Evaluate what needs to be a component.
  • Implement how GameObject handles specific components

Fix build on dub 0.9.21

.dub\build\application-debug-windows-x86-dmd-B880E6FEDBA438142A4C78CE20BA0C33\sample-dash-game.obj
 Error 2: File Not Found .dub\build\application-debug-windows-x86-dmd-B880E6FEDBA438142A4C78CE20BA0C33\sample-dash-game.obj

Move glsl out of shaders.d

Tyler and I were discussing the location of our shader code, and while the current system works fine for now the size, complexity and number of shaders will most likely increase as we continue to add features.

We were thinking of a system where shaders can be paired in a file, i.ie. geometryVS and geometryFS and all the shader files could be included in their own package.

Another concern is the ShaderUniform enum which will most likely become massive, but we were unable to think of a good solution right now.

One-time keypress

Currently you can only check isKeyDown every frame. There should be a bool parameter specifying a check for one-time or every frame.

Implement Point Lights

Splitting this from Directional/Ambient since those are more likely to occur on time.

Material System

Create a system to create and manage materials (as collections of different types of textures).

Enhance README

Get that readme all fancied-up before GDC. This will also help as we begin interacting with the D community.

Potential Additions:

  • Our Vision / Goals
  • Important Wiki Links
  • Links to our other repos (Speed, Sample Game)
  • Engine Logo

Commits:

  • 7b8923a: Added link to demo game.

Reload yaml files

Is reloading a yaml file feasible? It would be great if we could reload and reset all the prefabs without having to close the engine.

The next step beyond this would be diff reloading (only reload what changed), but I'm not about to ask for that.

Make Window Title Configurable

We need to make it so that the game developer can change the name of the window. This is probably not something we want to put in Config.yml, but more likely a property on the DGame class.

Scale isn't working

Scaling through Yaml isn't functional. Doesn't work on initial load or on reload.

Change variables from console window

I imagine syntax like myObject.Position.x = 20. The console could be done in-game via Awesomium if that's what we pick for the UI, or it could be a command-line window seperate from the game.

Prereq: threading

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.