Core Dunk by stevenjmiller
----[Core Dunk]----
* Created by Steven Miller

----[Rules]---- * You play as the green team, with players G1 and G2
You play against the red team, with players R1 and R2
End with a player in position 7 with the ball to win
An opponent will steal the ball if the player holding the ball moves over them
You can pass the ball over an opponent, but attempting to pass over two opponents will result in the second one stealing the ball
Two players cannot occupy the same position
----[Architecture]---- * D0, D1, and D2 can be used to hold values
D0 can be incremented or decremented
G1, G2, R1, and R2 track the locations of the players
R1 and R2 cannot be written to but can be read
D0, D1, D2, G1, G2, R1, and R2 can only take values from 0 - 7, inclusive
BB is the ball's location
BB cannot be accessed directly
----[Commands]---- * MV DEST,VAL Copy VAL to DEST
PS Pass the ball between players on the same team
IC Increment D0 If D0 == 7, IC will result in D0 = 0
DC Decrement D0 If D0 == 0, DC will result in D0 = 7
GO LINE Jump to line number LINE in the code
GB LINE,VAL Jump to line number LINE in the code, if BB == VAL
GE LINE,VAL Jump to line number LINE in the code, if D0 == VAL
GL LINE,VAL Jump to line number LINE in the code, if D0 < VAL
GG LINE,VAL Jump to line number LINE in the code, if D0 > VAL
----[Coding]---- * Click and drag a command from the top left and drop it in a line in the bottom left
If the command takes arguments, the values you can pass in will turn blue
You can grab a command and drag it to change its line
Click on a command's argument to change its value
Drag a line outside of the bottom left region and release it to delete it
----[Tasks]---- * Levels are split into tasks, shown in the top middle
The current task is shown in blue
Select a task by clicking on its corresponding box
Each task uses the same code and all must be completed in order to complete the level
A task failed on the previous run has a red indicator
A task passed on the previous run has a green indicator
----[Running]---- * Click on the double arrow in the bottom right to step through the code a line at a time
Click on the single arrow in the bottom right to run through the code
Click on the square in the bottom right to go back to edit mode
----[Examples]---- * 00: MV D0,G1 Copies the value of G1 into D0
00: MV D0,G1 01: IC 02: MV G1,D0 Moves player G1 to the right
00: MV D0,00 01: GB D0,04 02: IC 03: GO 01 Finds the value of BB, then proceeds to line 04 with the value stored in D0
Ratings
| Overall | 43th | 4⭐ | 44🧑⚖️ |
| Fun | 248th | 3.442⭐ | 45🧑⚖️ |
| Innovation | 30th | 4.167⭐ | 44🧑⚖️ |
| Theme | 54th | 4.221⭐ | 45🧑⚖️ |
| Graphics | 198th | 3.595⭐ | 44🧑⚖️ |
| Audio | 221th | 3.192⭐ | 41🧑⚖️ |
| Humor | 431th | 2.395⭐ | 40🧑⚖️ |
| Mood | 311th | 3.085⭐ | 43🧑⚖️ |
| Given | 51🗳️ | 28🗨️ |
The game froze when attempting to swap commands.
Really nice concept !
Keep coding !
Really strong entry. This deserves to score highly!
I FINISHED ALL 8 LEVELS!!!
Alright, now on to my real comment.
You made an great game, here. It was pretty complicated, and often times awfully confusing, but still had lots of great moments, followed by a rush of satisfaction after every level.
The game itself was almost flawless. The formatting of everything made sense, at least after you understood it, and a lot of the game design was interesting; specifically the several "tests" of every level. The programming aspect of it was perfect. All of the lines made sense, and were well documented. The puzzles were also fantastic, and the idea of having several examples was brilliant. Finishing each puzzle was incredibly satisfying, and everything worked fast. My only criticism in the core gameplay was that you were forced to try every test at once, rather than just trying one at a time. Obviously the "final solution" of each level necessitated that every test function, but I often times simply wanted to try one test, or had created an infinite loop that prevented me from moving on to test 2.
The main problem in this game, though, was the learning curve. By having a bunch of puzzles alongside a wall of text, you've run into a similar issue as Calor (which, by the way, I *still* remember because of its amazing battle system). Given the genre of Core Dunk, it was much more forgivable here, but I do think the complexity is likely to turn people away from the game. By making the pacing more gradual, and only introducing mechanics in the levels where they're first used, it would have made the game much more approachable.
Finally, the graphics and audio were perfect for this sort of game. They both communicated a mellow, ambient mood, and complimented the puzzle nature of the game very well.
Overall, you made a fantastic game! Despite its steep learning curve, it was incredibly polished, fun, and interesting to play. Great job!
The results and feedback I got from Calor had a massive impact on my design philosophy, and even though it is now nearly a year in the past, Calor and the response I got from it still inform most of my decisions when it comes to mechanics. My biggest takeaway was that for every mechanic I put in, I have to be ready to spend as much or more time making it understandable, and I realized that just because I can implement a mechanic doesn't mean that I should. It is part of why I've been making a lot of tile-based puzzle games, where the mechanics are more intuitive and can be easily communicated through level design (though it helps that I love the genre).
This game is a bit of an outlier among my current games, but this was kind of intentional. When the theme was announced, I was actually rather disheartened, as I haven't strayed very far from pure puzzle in the recent past, so the prospect of having to throw in an extra genre that I was unfamiliar with was not an attractive one. At the same time, I wanted my blend to be more meaningful than just a puzzle game with the backdrop of another genre. For example, some of the games that are half "dating simulator" don't actually make use of dating simulator mechanics, but rather have a story that involves dating or have aesthetic changes like heart-shaped bullets. In the end, I'm not sure how significant "sports" really is to this game, but this thought process is why I didn't just made a tile-based puzzle game and call it good.
After a few scrapped ideas, I eventually ended up with this one, but it was mostly out of necessity. It was already 6 hours after the theme announcement, so I knew I needed to get started on something. At that point, I had decided that this event would be a bit of a throwaway, just a chance to make an experimental game that would do poorly but keep my LD streak alive.
I went into this game fully aware of how quickly it could turn into another Calor, where the mechanics are fine, but buried under so much clutter that they aren't really worth the effort it takes to learn them. That thought made it very difficult to keep what little motivation I had alive. I actually almost scrapped the game several times, including once only 8 hours before the deadline. I eventually decided to just go through with, but I had kind of convinced myself that it would be a failure.
A couple of hours before the compo ended, I showed the game to a few people, and that was when I realized it might have some potential. After that, I threw in as much extra visual feedback as time allowed. Previously, there wasn't going to be an in-game tutorial/guide at all. I planned to throw the game and manual in a folder and call it good. The in-game manual was actually the last thing I did, and it was added with only twenty minutes to go, thus why it looks so thrown together.
Overall, I guess the point is that I had given up on this game long before it was done, and I think that it shows in the lack of tutorial and steep learning curve. I wasted a lot of time trying to think of new ideas so that I could scrap this one, and I think that the game lacks polish as a result. I'm really happy (and kind of surprised) that people seem to be enjoying it, and I must admit that it was refreshing to finally make something this experimental again, though I can't say I'll be doing it again any time soon.
By providing only a set of documentation for your game instead of presenting it gradually through level design, it made each puzzle much more daunting, but also incredibly satisfying. It required me to put in more effort than usual, and every level took more research and critical thinking than I expected. You also presented the mechanics at a somewhat gradual pace - it was just the wall of text that was scary.
While using your typical level design would have made the game much easier (and possibly better), I do believe that something would have been lost in the process. I felt really excited after beating the 8th level of Core Dunk, and I wouldn't have felt this way with typical level progression. Great job once again!
* oh man, this guy wants players to learn his variant of assembly just to play a small game?! fak it
* omfg how does anything work...
* this is pretty easy once you figure out how it works
* how the fak do you steal a ball?! moving through him doesn't work! the instructions don't even mention this shit
* oh lol, I can make the enemy team pass the ball... someone report me for hacking
* yup, this is the perfect script for 2D basketball, too good for this game, literally beat all the tasks in a row on the first run! gg
* oh my faking god, why would you switch positions of the ball, dick move! but I can take it, like a man
* OMFG fak you, you also switched the positions of the enemy players!
* OMFG this guy just made me write an if/else statement in BB Assembly, I can't believe you've done this...
* oh boy, and that was only level 6/8 (R5)
* omfg, are you just throwing in every edge case into one level?! Do I have enough lines for this shit?
* shit like this is why I saved your game for later...
* hmmm... if/else statements to the rescue! and my code got shorter then last time!
* last level? bring it!
* fml
* hehehe, I see the trick here! there is always enough space between the two reds ;)
* I'm going full Globetrotters on these red noobs
* gg wp

