Giter Site home page Giter Site logo

v0.3.1 progress about cambridge HOT 27 CLOSED

millabasset avatar millabasset commented on July 2, 2024 5
v0.3.1 progress

from cambridge.

Comments (27)

MillaBasset avatar MillaBasset commented on July 2, 2024 2

Suggested by @terpyderp on the Discord: add 1-4 unused buttons that mod makers (modes, rulesets) can purpose into their own creations.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024 1

Millisecond based tuning settings

Unfortunately impossible. Would require a large amount of migration as well as adapting the code to not run at 60FPS.

from cambridge.

terpyderp avatar terpyderp commented on July 2, 2024

Not sure if this is already planned because of the new high score system, but having built in support for showing scoring information on the side of the board without manually having to draw the text with LOVE 2D would be nice lol.

from cambridge.

terpyderp avatar terpyderp commented on July 2, 2024

Making it so when you game over, the board only gets slightly darker instead of making everything disappear completely. Also maybe displaying some text like "GAME OVER" or "FINISH" when you finish idk. I just think that the current game over is boring and it makes it so you can't see your stack at the end, which is especially important when playing invisible modes imo.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Not sure if this is already planned because of the new high score system, but having built in support for showing scoring information on the side of the board without manually having to draw the text with LOVE 2D would be nice lol.

I'd rather have mod makers choose what to draw and what not to draw in a mode. What will be drawn with the highscore overhaul is the highscore(s) for each mode on the mode select.

from cambridge.

PyrbatNeoxi avatar PyrbatNeoxi commented on July 2, 2024

Millisecond based tuning settings

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Making it so when you game over, the board only gets slightly darker instead of making everything disappear completely. Also maybe displaying some text like "GAME OVER" or "FINISH" when you finish idk. I just think that the current game over is boring and it makes it so you can't see your stack at the end, which is especially important when playing invisible modes imo.

I could probably make it slightly lighter, but I probably won't add text simply because it could clash with text that a mode maker chooses to use.

from cambridge.

terpyderp avatar terpyderp commented on July 2, 2024

I'd rather have mod makers choose what to draw and what not to draw in a mode. What will be drawn with the highscore overhaul is the highscore(s) for each mode on the mode select.

Ahh, I just thought it would be nice if there was an optional function that would draw whatever text you wanted, without manually positioning it. Like maybe you could just send an array of strings. Plus then it could be transformed with the board easier. ¯_(ツ)_/¯

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

I'd rather have mod makers choose what to draw and what not to draw in a mode. What will be drawn with the highscore overhaul is the highscore(s) for each mode on the mode select.

Ahh, I just thought it would be nice if there was an optional function that would draw whatever text you wanted, without manually positioning it. Like maybe you could just send an array of strings. Plus then it could be transformed with the board easier. ¯_(ツ)_/¯

In all fairness, there are onGameOver and onGameComplete functions, which trigger on self.game_over and self.completed respectively. In vanilla modes, onGameComplete is a redirect to onGameOver, but you could make it do different things if you wanted, like drawing text to the screen. Something like this:

function YourMode:onGameOver()
    YourMode.super:onGameOver() -- remove for no default effect
    love.graphics.printf(...)
end

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

I'd rather not have default functions programmed to do specific things especially when the feature requested is fairly easy to do yourself, because then the documentation grows unnecessarily long (when I do end up writing that).

from cambridge.

terpyderp avatar terpyderp commented on July 2, 2024

I'd rather not have default functions programmed to do specific things especially when the feature requested is fairly easy to do yourself, because then the documentation grows unnecessarily long (when I do end up writing that).

understandable, have a nice day

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Suggested by AgentBasey on the Discord: add DAS to the menus so people don't strain their hands navigating things like the mode select.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

More flexible / user BGM support is almost if not fully complete.

Broad description:
If there exist files in the save directory like such:
<save directory>/res/bgm/track1.mp3
<save directory>/res/bgm/track2.ogg
and so on... (extensions can be changed, mixed, and matched, the engine supports many music formats)

A mode maker can play them with:
switchBGM(1)
switchBGMLoop(2)
and so on.

Tracks are searched until a number is reached for which the track does not exist. For example, if track3 did not exist but track1, track2, and track4 did, only the first two tracks would be loaded.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

New feature thought of by me: allow mod makers to add more next sounds, for the purpose of creating polyomino rulesets. For example, in the current system, I had to reuse the 7 base next sounds for all pentominoes in the PAIRS ruleset (https://github.com/MillaBasset/cambridge-modpack/blob/0e72e403e024646687e9ad1c0e123f1fbafedbca/tetris/rulesets/pairs.lua#L51). Ideally, someone creating a pentomino ruleset would be able to supply 18 of their own next sounds and use those. Or, alternatively, allow the player to select 18 next sounds that they'd want to use.

When this is finished, next sounds would be dragged and dropped into <save directory>/res/se. How I want it structured in terms of filenames I haven't decided yet.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

@terpyderp reminded me I have to refactor the entire draw code for the game scene.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Base refactor of game scene draw code done. New code:

function GameScene:render()
	self.game:drawBackground()
	self.game:drawFrame()
	self.game:drawGrid()
	if self.game.lcd > 0 then self.game:drawLineClearAnimation() end
	self.game:drawPiece()
	self.game:drawNextQueue(self.ruleset)
	self.game:drawScoringInfo()
	self.game:drawReadyGo()
	self.game:drawCustom()

	love.graphics.setColor(1, 1, 1, 1)
	love.graphics.setFont(font_3x5_2)
	if config.gamesettings.display_gamemode == 1 then
		love.graphics.printf(self.game.name .. " - " .. self.ruleset.name, 0, 460, 640, "left")
	end

	love.graphics.setFont(font_3x5_3)
	if self.paused then love.graphics.print("PAUSED!", 80, 100) end

	if self.game.completed then
		self.game:onGameComplete()
	elseif self.game.game_over then
		self.game:onGameOver()
	end
end

I've yet to add board / screen transformations.

from cambridge.

PyrbatNeoxi avatar PyrbatNeoxi commented on July 2, 2024

Perhaps a system for checking finesse for faults and counting them? I don't know how easy that'd be to implement though, especially with varying rotations systems

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

@PyrbatNeoxi: I'd most likely be able to implement a sort of lookahead that doesn't depend on the rotation system being used but this sounds like something that might be better suited implemented in a single gamemode, rather than globally

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

beta6 will come out soon, which means any feature still listed at the top is scheduled for beta7.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

I forgot I had finished giving control of board and screen transformations to the mod maker. Whoops.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024
  • Campaign has been started, first 5 missions done.
  • My idea: add a color scheme selection in the settings that can go beyond Arika and TTC colors.
  • Suggested: add a randomizer test script utility that can run outside the game, or add a sandbox mode to test randomizers.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Suggested by Electra on the Discord: separate the menu bindings from the game bindings so people can use different, more convenient keys in the menu.

For right now, arrow keys, enter/return, escape, and backspace work in the menus by default.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Suggested on the Discord by @nightmareci and others: instead of giving buttons an explicit label, give buttons a name, such as A, B, C, etc. The context for what the button does would then be dependent on the mode, going hand in hand with giving mod makers extra virtual buttons to do with as they please.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Suggested on the Discord by Kirby703 and others: Toggle the fade out on game over or just include a better default game over effect. (Makes me wonder why I did that to begin with.)

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

This issue is severely out of date with the progress that's been made - in fact, the last comment was 3 months ago!

Even though v0.3 has been released, there are still features on this list left unimplemented. This will remain open as a general progress thread.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Strikethroughs have been added through completed tasks. Those that are uncompleted shall be worked on whenever.

from cambridge.

MillaBasset avatar MillaBasset commented on July 2, 2024

Going to close this and make a new progress issue as this one hasn't been updated for a while.

from cambridge.

Related Issues (20)

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.