E: TRA:X - Turtle Racing Action: eXtreme!

*** UPDATE: Latest and final (for now) version

Wow... This is incredibly intimidating posting here. But here goes!

The game that I want to make is a competitive 2-player game. Each player assumes control of a cyborg turtle. These turtles move along a linear road in a race to the finish! Thrilling stuff! But wait, there's more! These turtles have all sorts of augmentations and weapons that will help them get to the finish line first.

image

The controls are simple- Player 1: A, S and D. Player 2: J, K and L. At the start of the game, each player gets assigned 3 abilities (from a pool of 10 or so) at random (therefor, 6 of the 10 abilities will always be in play). Some abilities influence your own turtle (boosting speed, creating a shield) while others affect your opponent (stun, obstacles that slow them down). I want to create a situation where abilities can be countered, either directly (a well-timed dash or shield) or indirectly (speed boost while being slowed). Chance is a huge factor, but I want to create the opportunities where skilled play can beat any random collection of abilities.

Correct timing and management of the cooldowns on these abilities will determine the winner. The "luck of the draw" will (hopefully) keep players coming back to try to beat their friends. A match-up shouldn't last more than 2 minutes or so.

Sooooo yeah! I'm an artist and I've never coded anything (except while following tutorials). I've downloaded Game Maker and completed a few tutorials. I've found Game Maker to be pretty simple, so I'm full of foolish hope! Aside from not being sure how I would implement anything, my biggest concern right now is how I would dynamically assign certain functions to certain keys (as opposed to hard-coding the assignments.) But first, I need to get a prototype going!

Please let me know what you guys think. Am I crazy? Is this a bad idea? Go apeshit! I can take (and encourage) criticism!

There are no mistakes, only a thousand ways how NOT to do something, right?

Update 01:

So I'm working on the very rough prototype. The players move towards a point and when one of them reaches the end, they both stop. As the race progresses, they both accelerate slightly. I've managed to give each player a speed boost ability and a dash ability, each with a duration and a cooldown. I've started working on the stun ability, but I've hit a snag.

When D is pressed, player 1 fires a projectile towards player 2. When the projectile hits player 2, player 2's sprite gets switched for the stun duration (60 frames). According to my logic, player 2 should also stop moving for the duration (without losing the built-up acceleration value). From what I can determine, player 2 does stop moving for 1 frame when the projectile hits. I know this, because when I spam the D key (the stun ability doesn't have a cooldown yet), player 1 starts gaining a slight lead over player 2.

I don't know what I'm doing wrong! I've followed the same logic with the stun ability as I have with the others, but it's malfunctioning. If anyone has a moment to look at my code, it would be greatly appreciated. While I feel like I'm getting the hang of the logic behind coding, I'm clearly missing some huge (or deceptively tiny) bit.

PS: Please feel free to rip my code apart. I need to learn the most efficient ways to do things, and I have a feeling that I'm not doing that at all.

Update 02:

image

So I fixed the issue... Even though I'm still perplexed by why it wouldn't work the way I originally set it up. But anyway! The stun projectile now works correctly (although player 2 is yet to receive the ability to retaliate :P). I've also created some quick graphics for the game to make it look a little bit less 'prototype-yyy' :)

New executable included

image

Update 03:

So, while working on my game over the weekend, I had my development cut kinda short by the limitations of the free licence of Game Maker. I managed to implement (in one way or another) all of the abilities that I wanted. While still far from complete, I'm pretty happy with how far I got. I learnt soooooooo much! I feel like Game Maker has given me the tools to learn other, more involved development tools. I've already watched a few Unity tutorials and, because of what I learnt from Game Maker, much of it was easy for me to pick up. So here is the latest (and probably final) build of the game in its current form. Whatch this space! ... Or at least, a space that looks very similar to this one...

I'll be bringing my laptop to the Joburg meetup so that people can give my "toy" a go, broken as it still is and give me some pointers.

For those who wana try the prototype in the link, the controls are:

P1

A - Speed Boost
S - Dash
D - Stun
F - Speed Zone
Z - Silence
X - Slow Zone
C - Bump
V - Speed Leach

P2

H - Speed Boost
J - Dash
K - Shield

(Kinda unfair, right?
Thanked by 1Wes_Matthews

Comments

  • Each player assumes control of a cyborg turtle.
    SOLD!!! Please make this a real thing :)
    Thanked by 1DarkRa88iT
  • There are no mistakes, only a thousand ways how NOT to do something, right?
    Yup :)

    Sounds like a neat take on the terror of trying to get away from someone chasing you down in a MOBA. Cool.

    A relatively painless way to handle your multiple skills per character assignment problem is rather to think about skills as their own objects in game maker. So you'd set them up with variables that pointed to the player that owned them and the opposing player (which they'd use to decide where to make things happen in the game world, etc) and just put all the actions you want them to perform into the user0 event. Then, when you create a new player, you'd just choose from a list of possible skill types (the actual type names of the skill objects) and create skills as you go.

    Triggering them would be really easy: on pressing J, you'd just make player 2's first skill fire by calling event_perform_object(skill1, ev_other, ev_user0) - and it wouldn't matter which skill was in that "slot", it would just work.
    Thanked by 1DarkRa88iT
  • Wow! That's really cool. I'll definitely look at using that! I can at least follow the logic of it :P
  • I just updated the post with some (rather expected) issues. Spread the word! Tell your friends! I need help...
  • How about updating the first post with a gameplay picture to get people interested in your project?
  • @Fengol - Will do! It looks like utter crap still, though. Early prototype and all.
  • @DarkRa88iT, that's fine; everyone on these forums understands you're working on a prototype. But as @Blackshipsfillthesky (I think it was) explains, we have so much traffic on the forums now that even your prototype needs to stand out a bit to get traction with the audience and you need pictures and videos to draw people to give you feedback.
  • edited
    Too true! Thanks for the advice. I'll whip up some slightly less crappy graphics over lunch and implement it towards the goal of standing out a bit :)
  • Update 02 is up... Graphics for daaaays! Made with the help of a tool called Hexels (found out about it on the Cool Things Thread).
  • Last update (for now) is up. I included a link to the executable (it got too big to just be posted in the post... of postness!)

    Please lemme know if there are any problems with the link or if you have questions and whatever. Thank you all!
  • edited
    I downloaded and tried it out...

    Game Publishing Rule number 1: people dont read! I naturally didnt read what controls to use and was hopelessly confused (my own fault). Just found few buttons by accident.

    Also a note: Having a big installer is a bit of a hinderance to a quick test & play of your game. Rather just distribute the exe file only (if it's possible) or just a zipped directory if not.

    I think you should get a bit more feedback with a group of people, since playing by myself I cant really test this out and give meaningful feedback.
  • Hey! Thanks for trying it out!

    I agree, the wall of text at the bottom a post: not at all conducive to clear communication of a very simple game. I do think the problem would be better if I managed to implement the dynamic assignment of controls. In that case, each player would only have to know 3 keys (as opposed to the current state where player 1 has 8 keys).

    In terms of the size of the executable, I'm not sure how to get a smaller file out of Game Maker. I tried compressing the file, but it made no difference.

    I'd love to get some feedback from people tonight, but more specifically geared towards how I can take this project and remake it in Unity. Game Maker was great for a complete noob to coding like myself, but the limitations of the free licence are a little ridiculous. So upwards and onwards! Plus, it seems like a majority of the MGSA community is using Unity, so it should be easier to get input and advice.
Sign In or Register to comment.