Giter Site home page Giter Site logo

gip2017's People

Contributors

pzyu avatar

Watchers

 avatar  avatar  avatar  avatar

gip2017's Issues

Twisting of tiles

Tiles will be able to twist in a 2 by 2 manner, either clockwise or counter clockwise.
Orientation of tiles should remain the same

Original Clockwise Twist Counter Clockwise Twist
A B
C D
C A
D B
B C
A D

Look for sound assets

Effect Source
Tile selection -
Tile rotation -
Player movement -
Enemy movement -

More to be added

Decide on controls

Perhaps more intuitive to keep all controls on the mouse, rather than having certain actions done on the keyboard, and some on the mouse.

Also a lot easier to port to mobile if necessary

Idea 1:

Action Controls
Moving player Left clicking on any adjacent tile
Twisting tiles Dragging motion from any tile
Rotating tile Right clicking on active tile

Idea 2:

Action Controls
Moving player WASD
Twisting tiles Make 2x2 selection based on mouse position, then drag to twist
Rotating tile Clicking twice to select a single tile, then rotate

Idea 3:

Action Controls
Moving player WASD
Twisting tiles Selecting/dragging order of tiles
Rotating tile Clicking on left/right arrows that hover over player

TileManager to generate map

5x5 map can be represented in a text file without the headers
A fixed path can be given by creating a path of 1s from the starting point A0 to end E4

A B C D E
0 1 0 0 0 0
1 1 1 0 0 0
2 0 1 1 0 0
3 0 0 1 0 0
4 0 0 1 1 1

Tiles with 1 can be assigned with a random tile that is connected to its adjacent tiles
Tiles with 0 can be assigned with any random tile

A B C D E
0
1
2
3
4

Fixed path is still the same

Likewise, relics and enemies can be represented using characters in the desired coordinates

Tile rotation

Tentative bit manipulation to represent North East South West orientation
Only byte because there's no half-byte

For a pipe tile:

Style Representation
Graphical
N E S W F T F T
Byte 00110011

Dumbass byte rotation:
http://rextester.com/UTG73995

Create software architecture

Tile

  • An individual tile, rotation functionality

TileManager

  • Contains matrix of Tiles to keep track of position, twist functionality

Map

  • Contains 1 TileManager, 1 Player, X Enemy

Logic

  • Controls turns, and handle scores

Player

  • Movement and Controls

Enemy

  • Movement and pathfinding (ideally computed on enemy turn, so no waste in recalculating tentative board

Relics

  • Collision to check if Player or Enemy has entered, then add score or spawn new enemy respectively

UI

  • Updates graphics in game to match map, skills indicator

Controls

  • Signal & events??

Movement

  • Asks TileManager if movable, if so allow controller which can be either Player or Enemy to move

Create art assets

Art assets needed for:

Animated components Placeholder
Player p3_front
Enemy blockermad
Relic star
Static components Placeholder
Pipe scifitile_04
Cross scifitile_05
T scifitile_06
Left corner scifitile_17
Dead end scifitile_35
Skills gemblue

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.