Code Monkey home page Code Monkey logo

dungeon_master's Introduction

Hi there ! ๐Ÿซต

Follow me on my Socials

dungeon_master's People

Contributors

alexshukel avatar maksasj avatar soskar1 avatar

Stargazers

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

Watchers

 avatar

Forkers

meowboy326

dungeon_master's Issues

Implement timer structure

Almost any game have some sort of 'timer structure'. Main idea behind that is to have some sort of way to track time.

Timer structure uses:

  • Controlling game UPS (Updates per second)
  • Controlling game FPS (Frames per second)
  • Have some sort of time spend in game timer(like then you finish dungeon, it will be cool to show player how much time it took for him)
  • Have some sort of Animation synchronizer(Will be used to control animation speed for an texture)

Acceptance Criteria:

  • Working timer structure, placed in main game state object
  • Custom type for time definition, something like Hours and minutes -> pair(h, m)
  • function to convert UNIX( actually pseudo UNIX, we using game ticks instead of seconds) format time to time type
  • Some kind of timer control function, will be used after each game update for updating timer struct tick++
  • Defined macro under 'defines.h' that will control that amount of ticks we assume per second( lets say for now, about ~20)

Rectangle type

Rectangle type

  • Simple type(like vector that we have defined in vector.h), (h, w) and (x, y, h, w) variants
  • And some function for determining rectangle collisions(Rect vs Rect, Rect + pos vs Rect + pos)

Create pair of .h and .c files for each module

.h file should contain public API (declarations) and .c file should contain implementation of public API + private functions. Compiler should be configured to automatically bundle all modules in one executable file.

Advanced texture rendering functions

Advanced texture rendering functions

  • [ColorRep] With color replacement(single color)

  • [ColorRep+] With color replacement(associated vector)

  • [rgbA mode] With transparency parameter(transparency)

  • [Ex] With extenden parameters(scale, rotation)

  • [Rect] Draw part of texture defined by a rectangle(Rectangle)

  • [Pro] Draw part of texture defined by a rectangle, also with extended parameters

Design basic structure for storing dungeon data

[Design] Design some sort of structure for storing dungeon data(For now only one dungeon floor)

Acceptance Criteria:

  • Chunking system
  • Separate Tile and Solid Block pools
  • [Todo] Design enemy pool, as well as pool for other entities
  • Update function, for updating every entity(iterate all
    chunks, all entities(Now do not worry about performance)),
    some kind of basic implementation.(Just paste '//Todo', at Enitity update level)

Design basic structure for storing stats data

[Design] Design basic structure for storing stat block data

  • Some sort of structure for storing stats.
  • Type for defining stats. (aka statType)

Inspiration link

But I suggest before starting doing this task we should have discussion, about that stats we will have in our game.

Implement basic camera struct

Design basic camera struct

[Concept] Main purpose for camera struct is to handle offset for every entity during rendering step, camera hold some sort of position vector that determines where every every entity on screen should be rendered also accordingly to entity position.(Camera position will be then binded to player position)

โœ” Acceptance criteria:

  • Camera struct that stores it position.
  • Some interpolation functions(linear, Cubic or something like this), interpolation function example: vec2 interpolate(vec2 start, vec2 finish, int startTime, int finishTime) interpolation function example could be found there

I think before start working on this item, we should firstly discuss overall concept, and ways of implementation.

Design basic structure for storing player data

[Design] Design some sort of structure for storing player data(I personally think that this task better to be done after dungeon storing structure completes as well as statblock structure)

  • Some sort of position in the world tracking system, maybe global coordinates or local ones
  • Several statblocks for storing base, bonus and exe. stats.
  • Some function to calculate general stat block/separate stats.
  • Basic implementation for movement function(grid locked, with collision checks)

Image converter

  • Create image converter, which will allow to convert regular images(png, jpeg) in to GBA format(byte array)

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.