Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

[Devlog] Victory Lap

A topic by splendidfairywren created Jan 07, 2018 Views: 807 Replies: 15
Viewing posts 1 to 8
(+1)

Hi there! We’re James/Jamie (Krall) and Wren (splendidfairywren) and we’re making Victory Lap [working title?], a kart racing game. Neither of us have ever set out to make a video game before, but both of us have some knowledge (though little practical experience) of programming and Krall has plenty of non-game art experience. 

The Game

We’re hoping to make a prototype of a competitive kart racer where the tracks get more difficult as you complete more laps and rather than finishing first the player’s aim is to complete the most laps without dying. Instead of items that are used directly against another player, items affect the track or everyone playing. At the end of any lap, a player may decide to cash-out’ and finish racing, betting that the track has become difficult enough that nobody left will survive to beat their current score.

The idea started out as "a race but you have to finish last" but is now closer to "Mario Kart X Ultimate Chicken Horse". We’ll assume everyone’s at least vaguely aware of what a kart racing game is like (though we’ve never really played Mario Kart specifically, which we should maybe correct as part of making this!); for folks who don’t know Ultimate Chicken Horse, it’s a platformer where the players place the platforms and traps, with the usual aim being to create a platforming sequence you think you can complete but other players can’t. 

[Wren] I’m really into the risk/reward involved and the idea of players setting the challenge level - if a game generates an impossible or almost impossible level it feels unfair and unfun, but if your friend does it you can laugh about it, it’s part of the fun, and possibly even a logical tactic.

[Krall] I really like party games that get hectic and out of control, with lots of interacting elements producing unique and ridiculous play. When Wren and I play Ultimate Chicken Horse I like to load the level with dangerous traps and lots of moving platforms for Maximum Chaos. I usually lose.

[Wren] When considering the difficulty/complete-ability? of tracks I have specifically thought of the times when you deliberately made it impossible to leave the starting area, and the fact that the game allows players to do that and to correct for it!

Engine

[Wren] We’re using Construct 2, which neither of us had touched before a few days ago but I have found so easy to use that I picked it over other engines that I've messed with in the past.

[Krall] Wren was the one to find and suggest using Construct 2, it seems to be ideal for making games at our skill level, given that we’ve never made games before but do have some experience coding. Wren’s much better with it than I am, but I’ve gone through some of the tutorials so I know what’s what.

Art

[Krall] I’m doing the art for this project, as I have more experience with making digital art (and Wren didn’t want to do it). I’m aiming for a pixel art style for the finished game - I’ve never really done pixel art before, aside from a couple of terrible Minecraft skins, but I’m a fast learner when I have tutorials to work off of!

Goals

We don’t have very specific goals, because we don’t really know what we can do yet! Right now we just want to:

  • Create a thing that didn’t exist before!
  • Be okay with creating a thing that isn’t perfect!
  • Work on a thing together!

(3 edits) (+1)

Day 01

After making a bunch of messy notes (that probably need to be in something like Trello rather in a PNG, but that’s an issue for another day!), we decided the first thing we need to figure out is a system for the track itself. We need sections of track that can be changed by using items, we need to know what section a player is on and what sections are ahead of them (since we’d prefer items be used on a section somewhat ahead of the person using so they have to deal with it too, plus it’d be nice to be able to avoid altering track in front of a player before they are able to react).

[Wren] I made my first test with terrible wonky graphics” while Krall made a handful of basic parts for the track. It obviously looked a lot nicer right away, but for me at least it felt like I’d accomplished much more seeing it more polished.

[click on screenshots for GIFs!]

screenshot of first test

my ~amazing~ graphics
screenshot of first test with Krall's graphics
Krall's *actually good* graphics! (plus a lil car from Kenney Game Assets)

Next we need to add items to pick up, effects of those items on track sections, and logic to apply those effects!

Day 02

[Wren] The game can now apply a powerup to a section of track when a player picks one up (we probably don’t want this to be instantly applied, but this works for the moment), and detects when the player hits a section with the powerup on it. Also there’s splitscreen!

screenshot of track with powerup applied
again, my fabulous art for the hazard effect
screenshot of splitscreen
splitscreen!

I discovered a thing I did yesterday to fix a problem wasn’t doing what I meant it to and shouldn’t actually have been fixing the problem, even though it was? It is now doing what I intended to do. And luckily still fixes the problem.

[Krall] Day2’s artful bounty consists of: 

  • A kinda blurry car! I need to use less colours for highlights, it seems. The aesthetic I’m going for is slightly sci-fi, but not so sci-fi that they’re hovercars. These things need wheels if they’re going to slip on oil slicks! I’m basing the general design off of high performance racing cars and land speed record-holding vehicles like Thrust2, Thunderbolt, and Blue Bird. I’ll probably try out more varied/less realistic designs like trucks and clown cars too, just to mix things up.

pixel art car

beep beep!
  • Some better-looking track pieces! The idea I have for the track is that it’s made of a series of display screens - when a power-up is activated or permanently applied to a segment of the track the display screen would play an animation to indicate this. These assets are closer to what I was envisioning than the placeholders I made on day 1, but they’re not the finished product. They were good practice though!
That is a tasty plasma.

[Wren] Tomorrow, power-ups!

[Krall] Tomorrow, BEES!

Submitted

Interesting concept! I like the track changing idea.

Thanks! Hopefully we can deliver on the concept and make something fun. :)

Intermission

Not a whole lot got done today, as Ren was busy with other things, but I *did* promise bees, so say hello to lil Beetholomew!

He is happ-bee to see you!

You might say he was buzz-y with other things

(+1)

They certainly were, though I did need there help at one point to sort out a bug in our prototype.

Host (2 edits)

construct 2 was one of my first engines!! it's honestly such a blast and so easy to start prototyping and kicking out games. the premise of this game is really fun--i love when games combine familiar designs into something refreshing. i'm really digging this!

also--really great work on your mechanics so far. it's awesome to see you've got a pretty solid prototype foundation. the track pieces as screens is also really neat :Oc !! i feel like you could totally add some cool transition animations for polish. good work so far and i'm really interested in seeing more!

also also--iirc i think you should be able to post gifs directly into the post without needing to click? (even gifvs!)

(+1)

Aaaa thanks so much! I am planning to make transition animations to play on the track-screens when powerups get applied to them, but right now we need to focus on getting the game working, as our prototype currently has quite a few bugs. D:

Wren was originally going to put gifs directly in the post, but we thought it was distracting and hard to read the text when there's a gif looping right by it, so we put them behind image links. But speaking of .gifv files, have a preview of what I've been working on:



Host

yep totally!! animations + polish can come later/post jam. also my philosophy is that you should always have something eye catching (esp gifs) when you're posting devlogs or to twitter. it's Good Marketing but also it makes the content more accessible and engaging--you might notice a lot of indies post stuff like this and often to keep attention :9

(+1)

Devlog Update #2

Sorry for the delay between updates - we have been making progress, just rather chaotically and as such weren't able to keep up any sort of regular update schedule.

Unfortunately Wren has health issues that limit how much energy they have to do things each day, and it turns out coding is more exhausting than they hoped, so they've had to take a backseat on this project. They're still going to contribute if they can though, and they did get all of the important stuff done in the first few days. I'll be consulting with them a fair bit too, as they're better with Construct 2 than I am.

Anyway, when we left off last time the game was pretty basic. It's still far from playable, but we've made some great strides. First off, new art assets!


A much better looking car - currently the only one I've made, though I have plans to put several others in the game with differing stats. That's kind of a stretch goal though. I made this sprite in Paint.NET with the base colours on one layer and transparent shading on another, so it's super easy to make alternate paintjobs for it, like this:


Aside from cars, I also have basic sprites for the power-ups done:


They are, in order: Bees, Fire, Reverse Controls, Heal, Lightning, Spikes, and Oil Slick. Reverse Controls and Heal both just affect the players, whilst the others add a hazard to the track. If the power-up is activated by the player mid-lap then it adds it temporarily, whereas crossing the finish line whilst holding a power-up adds the hazard permanently to a section of the track. This means the track gets harder as more laps are completed, but players can still activate powers mid-lap if they think it's worth it. I have had several other ideas for power-ups, and for the hazards "levelling up" as more power-ups are applied to the same section of track, but those are stretch goals. A couple of these might end up getting cut for sake of simplicity (oil slick and bees are somewhat similar, in that they affect how easy it is to steer, but oil slick is easier to implement - same with fire and spikes, with spikes being very simple and fire being more complex) but these are the core 7 I want to try and implement first.

The track has also gotten a visual upgrade:


I've only gotten the straight segments done at the moment, but now that I've got the visual style sorted getting the other pieces done should be faster.

Now, onto gameplay/coding changes! Wren has made it so power-ups spawn on spawners placed manually on the track. The game keeps track of how many power-ups there are on the track at any time and spawns more on a random spawner that doesn't already have a power-up and isn't touching a player vehicle, like so:


The power-ups are also no longer applied to the track immediately on pick-up, but are stored as a variable in the car object. Players can then press a button to activate their stored power-up. Whilst we do have very basic graphics and effects for the hazards these power-ups cause they're no where close to done - that's the next major hurdle we need to overcome.

I've also implemented code to keep track of how many laps a player has completed. We were worried this would be vulnerable to exploits if done incorrectly (e.g. players may just be able to drive back and forth across the finish line to increase their lap count), and as victory is determined by the player who has completed the most laps, it's important to get it right. The system I've implemented uses a variable called LapProgress that counts up as the player goes around the track in order, and checks to see if their LapProgress is high enough to indicate that they've done a full lap when they touch the start/finish tile again. If they have, their currentLap variable increases by one, and their LapProgress is reset to 0. Otherwise it just resets LapProgress to 0. This prevents most exploits, but may need refining further.

So, yeah. Progress has been made, but we've still got a long way to go! Next goal: Making the graphics and code to have the different hazards appear on the track (which means I'll have to figure out how to draw a swarm of bees).

Host

oooo i like that the track gets permanently harder with each lap. these art assets look absolutely incredible also!!

(+1)

Thanks so much! The track getting permanently harder is part of the central mechanic of the game - you have to finish with the most complete laps, but each completed lap makes the track harder. Players are meant to try and "cash out" with a certain number of complete laps when they think the track is so hard that all the other players won't be able to complete another lap. It's kinda hard to explain. :P

Host

yep no that totally makes sense! it's dealing a lot with with some risk and reward

Submitted

This is shaping up nicely, looking forward to playing it!

Interesting to read about the LapProgress check. I always wondered how racers take care of that.

Thanks! Hopefully it'll actually be fun to play when finished - I guess we'll have to wait and see! :P