September 19, 2019, 06:15:16 AM

Author Topic: Crazy Dram - The aMAZEing code a game comp entry  (Read 1257 times)

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Crazy Dram - The aMAZEing code a game comp entry
« on: October 14, 2018, 10:11:03 PM »
It's CRAZY DRAM!

Download
Crazy Dram for Windows (zip, 3MB)
Crazy Dram HTML5 version
Crazy Dram for Android

Description
Crazy Dram is a maze game, in which you have to solve a maze to create a path from start to finish by rotating track pieces. Collect diamonds and items on your way for extra stars. Collect stars for more sophisticated levels.

Screenshots






Have fun!

Offline Derron

  • Hero Member
  • *****
  • Posts: 2410
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #1 on: October 15, 2018, 09:24:45 AM »
I just gave it a whirl of "tutorial + level 1-2" and I think it is a real "train-brain"-game (pun intended). While it has your personal style I can think of the game working _pretty_ well on mobiles if you polish it (and make controls a bit more suited for smartphones/touch devices ... eg touching a "rotation spot" and then swipe around the spot according to the desired direction). Graphic wise I think you wanted to fetch the old "early 20th century" style of railroads (corners...) but hmmm I am not sure if this was a game for woman/casual players then some vibrant/colorful 3D-thingy-game might attract more potential players.

Good job - looks "complete" with the level selector, tutorial, ...


bye
Ron

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #2 on: October 15, 2018, 10:27:19 AM »
Thanks! Yes I definitely plan to polish the graphics. It won't get much more colorful (or shiny) in overall, as I think the current design and color selection does a decent job in making interactive elements distinguishable from other elements. But some more details won't hurt I guess - I only stayed with the "flat look" because I focused more on completing the game (thus I'm super happy hearing you call my game "complete" :-* efforts appreciated, yay). For the future, I hope to achieve a more natural style. I also plan to make some fancy in-and-out animations for the menus and pop-ups.

The "swiping around on screen around gears to rotate them" might work if I manage to make gears only engage when the player actually intents to press them and otherwise start "rotating mode". Will try that and see how it feels.

Offline Derron

  • Hero Member
  • *****
  • Posts: 2410
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #3 on: October 15, 2018, 12:41:35 PM »
If there are no other interactive elements around the blue circles:
- increase hitbox (collision-range) of each blue element.
- when "touching" you can store "start touch point"
- when "moving" (while touching) you can calculate rotation "somehow"

"somehow":
- you know the center of the blue element
- you know the distance of "center" to "touch start" -> "radius" (can be adjusted during touch movement to allow "slowdown")
- "radius" allows to calculate "perimeter" of the "touch circle"
- "touch circle perimeter" and "blue element perimeter" can get set in a ratio
- ratio can get used to calculate desired rotation

As you visually indicate rotation "while touching" this would even work if calculation is a bit borked.
The "ratio" can be used to have a "slowdown", means you move your finger a bit more outwards for a "slower rotation" (fine grained - or if you are not as good as others with touch screens).


@ flat look
Yes you could, but a certain level of "detail" works wonders (even if this is still flat-look, not gradients, textures and so on).


@ mobile
I think on "smartphones" the touch-control would need above described "hitbox increase" as on smaller devices it will be a pain to exactly hit one of the blue elements.


bye
Ron

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #4 on: October 15, 2018, 04:19:26 PM »
Ooooooohh... *Derron's participate-mode activated*  ;D

Don't worry, the calculate rotation "somehow" part is not the problem for me. An early prototype even used that instead of the GUI elements on the right. The real trouble that came with it was, when you wanted to start swiping and hit another "blue element" directly, it engaged that other gear. I guess when I make gears only "engage-able" when both press and release are within its hitbox, this would decrease the risk of accidentally selecting a gear when actually swiping was intended. But I can only tell for sure once I try.

@ @flat look
I think you misunderstood me there a bit: The flat look is not what I planned in first place. Instead, I wanted to completely overpaint all the graphics on Sunday (yesterday) and give them more details and totally break the flat look. But problems on Saturday evening lead to fairly increased coding time. Combined with the nice weather on Sunday I just decided to leave that for after the competition ;)

@ @ mobile
Do you play on your Smartwatch? :P cause I'm here sitting with my Galaxy S4 mini with a 4.1" display (which is a "smaller device" imho) and ran in no troubles so far.

Offline Derron

  • Hero Member
  • *****
  • Posts: 2410
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #5 on: October 15, 2018, 04:45:58 PM »
I had not played it on a smartphone - I just guessed that fat fingers might have trouble on little 4" displays.


@ "engage-able"
Why can this be a problem at all?
- touch a "rotator" (blue element)
- as long as the finger is touching this element is set to be the "active" one
- all finger movements on the screen are now interpreted as "rotate the 'active' element"
- if there is another "rotator" below the finger it gets ignored (there s an "active" one already)
- finish touch (release touch screen) and the active element is doing whatever the current position results in and then "active" is set to null

It is similar to the behaviour of buttons: press one button (no mouse button release!) and now move the mouse cursor to another button: what happens if you now release the mouse button? In our case it should click the "first button".
For buttons the "click the other button" or "revoke hit/mousedown state of first button" is an option too - in your "rotation widget" approach it is different:
- to have a valid rotation your finger needs to be in a certain "range" of the "blue element"
- but as long as the finger touching you wont activate an other element - the "active" one stays active even if the final result will be invalid (finger removed outside of the "allowed range")



@ participation
If a game looks interesting I am most often interested in helping somehow.


@ good weather
yep, was outside at the weekend days too (Drachensteigen, Parkeisenbahn ;-)).


bye
Ron

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #6 on: October 15, 2018, 08:35:53 PM »
I really appreciate your contributions. I didn't think of the way you described how to approach the problem of interfering rotators. I'll test that one too, thanks!

Offline therevills

  • Hero Member
  • *****
  • Posts: 561
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #7 on: October 20, 2018, 01:58:56 AM »
Really like this one, nice little puzzle game and I agree with Ron with a bit more polish this could do well out in the wild :)

Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 1999
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #8 on: October 20, 2018, 12:09:27 PM »
Quote
Really like this one, nice little puzzle game and I agree with Ron with a bit more polish this could do well out in the wild :)

Yes maybe a little more polish - but without going over-board.  The sort of game that could work well on tablet for killing time on a journey as you try to figure out the solutions.  Good job!
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
Raspbian Buster, pi4 4Gb RAM,1.5Ghz

Offline Derron

  • Hero Member
  • *****
  • Posts: 2410
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #9 on: October 22, 2018, 11:07:08 PM »
mirror mirror on the wall... somewhere with a mirror for this game ?




bye
Ron

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #10 on: October 23, 2018, 06:44:51 AM »
That's odd. It works here... Nevertheless I just downloaded it from the source in the initial posting and attached it here. Can you access the HTML5 version?

Offline Derron

  • Hero Member
  • *****
  • Posts: 2410
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #11 on: October 23, 2018, 07:33:26 AM »
When I tried last night it wasn't working - maybe your server had an hickup (mine had one 2 days ago - process limits reached, email server rejected spawning new sendmail processes then).

Will try later that day.
Edit: played and still think it is a wonderful game (which would benefit from some polishing to attract more people).


bye
Ron

Offline chalky

  • Jr. Member
  • **
  • Posts: 38
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #12 on: October 31, 2018, 10:36:05 PM »
I am totally addicted to this game and cannot stop playing it - congratulations on a superb entry.

A few minor observations:

1. Sometimes when I click on a blue node it doesn't get selected even though I hear the "select" sound effect.
2. It would be better (IMO!) if a node remained selected after each rotation (rather than the player having to reselect it if multiple rotations are needed).
3. Having the level-select screen auto-scroll to the page containing the next unplayed level would eliminate the need to scroll through pages of completed levels.
4. A 'restart' button (rather than having to exit the level and reselect it) would be nice.
5. A full screen option would be great.
6. An exe icon would make it look even more professional.

I really do think this is a brilliant piece of work - thank you for creating it!

Offline Holzchopf

  • Full Member
  • ***
  • Posts: 139
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #13 on: November 04, 2018, 09:34:20 AM »
Thanks for your feedback, chalky!

@not selected selected nodes: I'll have to dig a little deeper here as I could not observe this so far...
@keep nodes selected: Yes, that's a very common feedback. I will change it so nodes remain selected.
@scroll down stage select screen: That's top on my to-do list, as I'm myself a bit annoyed by having to scroll down every time :D
@restart button: Hmm ok. That's true. I'll find a way for this.
@full screen: I think in Cerberus X, fullscreen or windowed mode is a build option. So I would have to provide a second .exe that's just fullscreen.
@exe icon: Maybe I find a way to hack in an icon. TBH, the windows version is not my main target with this game. So this feature might wait a bit longer.

Also, I thought about this change: Make the "GO!" button active all the time. This way, it will be a bit harder: I had so often that "Come on! Why don't you light up? There's a path right there isn't it..? oh...". And if the player can rely on the status of the "GO!" button, it's a huge hint. In the same turn, I would change the scoring system: 1 star for making it to the goal, 1 star for collecting all diamonds, 1 star for collecting the "CRAZY" tokens in correct order and 1 star for hitting the "GO!" button - this way, you could still collect some stars even if the car derails.

Offline chalky

  • Jr. Member
  • **
  • Posts: 38
Re: Crazy Dram - The aMAZEing code a game comp entry
« Reply #14 on: November 05, 2018, 10:20:42 AM »
Personally, I rather like the way the GO button is disabled until a path has been found - particularly as this currently happens even if some required targets are not on the selected route. I've done that a couple of times, then gone back to replay a level in order to get the max 4 stars available.

I *think* the 'not selecting a node' issue occurs if I click one before the rotation animation has finished, but will do some more investigations.