Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1401605 Posts in 67929 Topics- by 61477 Members - Latest Member: peting

July 01, 2022, 03:49:02 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCardinal Nexus - A fast-paced 2D action runner
Pages: [1]
Print
Author Topic: Cardinal Nexus - A fast-paced 2D action runner  (Read 711 times)
FTGDev
Level 0
*



View Profile
« on: April 15, 2022, 01:56:28 PM »


Devlog #01 - A prototype in the works.

First of all, greetings to anyone who reads this!

As I approach the demo state of my upcoming game, Cardinal Nexus, I've decided to start a development blog to document/showcase this entire endeavor. I feel it'll help me collect my thoughts, and if I can manage to entertain or amuse even a single person along the way, all the better. Any feedback I can possibly get will be the cherry on the cake. So, moving on!

Note: English is not my native language, so I thoroughly apologize if something sounds... wrong. It probably is.


So, what is Cardinal Nexus? The concept itself is simple enough: Cardinal Nexus is a 2D side-scrolling runner game, with heavy elements of action and combat, made entirely in Unity. The player takes control of a robotic combat unit, and must safely navigate to the end of each level, while avoiding obstacles and environmental hazards, and dealing with enemies along the way. A fast-paced game that rewards quick reflexes and multitasking.

​I suppose there's no particular reason why I picked a runner game. I've seen countless advice on what genre to focus on, keeping an eye out for popular trends, doing a lot of market research before even starting to sketch out the project itself... and that's okay, I suppose it's logical. But I didn't follow any of that, I simply went with what I wanted to make at the moment, as long as it fell within my possibilities and my skills. I fancied a runner game, I like robots, and I like lasers and explosions. Say no more.

Currently, Cardinal Nexus is in a very early state of development. A lot of the main mechanics are already in place and working as intented, but most of the content is still at the concept art stage. But what better way to get a quick impression than seeing it yourselves?




​This is what the game currently looks like. Let's break it down a little bit, shall we?


In its current state, the gameplay mechanics can be (almost) entirely broken down by the degree of interaction our robot lady has with her environment. Let's see:

MOVEMENT

The player has generally high freedom to move around the screen. Although stopping entirely is never really possible (since the screen itself moves forever forward), it's possible to reach pretty much any point on the screen by accelerating (D), decelerating (A), double-jumping (W) or rocketing down at high speed (S). Which is all very necessary, since manoeuvrability is obviously key for a game like this.

​​​​

The entire movement is built on simulated physics (no actual forces being applied), and uses velocity control to detect collision, go up/down slopes, simulate gravity, etc.

​Additionally to the whole moving around, it's also possible to crouch (S) down onto a lower stance, which allows passage through 1-tile gaps. The crouching mechanic also affects the functionalities of melee combat. Let's see how that works:

​MELEE COMBAT

Melee (E) can easily dispose of most enemies in the game, with some exceptions. Right now, two kinds of enemies exist, walking ones and flying ones. Walkers can only be killed in melee, and are impervious to the laser beam, while flying ones are affected by both. Of course, there's an added risk of having to get close and personal with your foes, but it's far more powerful than ranged attacks, most targets get shredded in one hit.


Melee works simply by contact. Any of the blades touch the enemy's hitbox? You get minced meat metal. Depending on whether the player is standing or crouching, a different attack will take place. Standing prompts a quick circle-shaped slash that covers the whole area around the character (including behind her). On the other hand, attacking while crouching starts a slightly slower piercing stab with far higher forward reach.

However, if you need to reach even further beyond, where your blades (or you) can't afford to reach, that's what lasers are for:

RANGED COMBAT

In order to attack at long distances, a penetrating laser attack can be used by holding left click. It's a hold-to-shoot mechanism, and the more you hold it, the more it overheats. If overused, it goes into cooldown mode. The laser can damage almost anything in the game, but its damage output is lower than the melee blades.


The laser works with a raycast. Depending on what the player is hitting with the cursor, the game acts accordingly. Pretty much everything has colliders, so the laser can hit and leave a blazing trail on everything, even the buildings in far distance on the background.

In the enemies' case, only the red weakspots are susceptible to damage. Hit it, and damage over time will be applied. Miss it, and bad things will happen. But there's also solutions for that:

SHIELDS

When under heavy fire, a shield can be activated by holding right click. This barrier will do nothing to stop melee enemies from hurting you, or physical obstacles from making you explode to pieces. However, it will stop most proyectile-based sources of damage. Certain very specific threats (like some boss attacks) will be completely unblockable, but in general most range threats will be avoided. However, like the laser, it can also overheat, specially under heavy pressure.


The shield acts as a physical collider that envelops the entirety of the character, therefore causing any incoming proyectiles to crash into it before they can crash into her.


So, how does the world of Cardinal Nexus work? Well, to keep it simple, it's generated in a pseudo-procedural way. The entirety of a level is constructed from a combination of chunks​: tile-based, premade pieces of terrain that randomly scramble and mix together to build a randomized layout for the level. Since it works with a set amount of possible pieces, some chunks can spawn several times within the same level, but the layout of chunks itself is guaranteed to be different every time a level is started.

Every chunk is made of several layers of tiles, designating the physical parts of the level, the back walls, ceilings, etc. On addition to that, every chunk has an assortment of "nodes" where decoration assets are placed (which are, also, picked at random from a pool of assets). Finally, enemy spawn points are also embedded into each chunk, meaning the game can be played from memory, as long as you can identify what chunk you're in.

"Example of chunk structure. Pre-placed enemy visible, asset nodes in yellow."

​Additionally to randomly constructing a level, the level generator also allows to force certain chunks to spawn at certain points within the level. This is precisely how the start and ending chunks are forced to spawn, or how checkpoint chunks are included.
During the Story Mode, all the levels will feature very specific chunks, unique to each level in particular, with the level generator filling up the remaining space with random chunks. During the Endless Mode, the entirety of the level will be randomly generated over and over, until the player eventually, inevitably dies as the difficulty slowly ramps up.


So, what's it about, from a story point of view? I'm guessing this would be a pretty accurate synopsis:

"Among the sea of metal and light that encompasses the entire world, not a single machine questions the authority of The Great Link, the vast network that connects the minds and bodies of everything and everyone. Every piece is in place, every cog of the machine fulfils its purpose in bliss, never doubting, never hesitating. On top of The Great Link, the Nexus stand. Otherwordly entities that transcend logical thinking and rational cognition, their rule is absolute.

However, trouble is stirring. Proxy factories across the planet have begun to malfunction, spitting out troves of incomplete, flawed proxies and pawns. Entities that scream at The Great Link asking for freedom, asking for a sense of liberation. A desperate voice that can’t, and will never be heard.

Amidst the chaos, a specialized combat unit is designed, with the specific purpose of quelling the insurrection, and uncovering its origin."

The gameplay mechanics might end up being refactored and polished, but the actual plot is already laid out and planned, not likely to change.

=========================

As it stands now, Cardinal Nexus is in a very early stage of development, as I previously stated. Almost everything described in this article is already implemented and functional, but it's still a long way until a final product is ready. Any and all feedback I get along the way will be immensely appreciated!
I'll bring more updates as progress moves onward, including a playable demo, so stay tuned if you're interested!

Thank you for reading!
Full Threaded Games, out.
Logged
LazerRock
Level 0
**


lazerrock.itch.io


View Profile
« Reply #1 on: April 16, 2022, 08:03:41 AM »

This has to be one of the most well-organised and pleasing to read devlogs I've ever seen. Good job!
I think the procedurally generated levels are super cool. However, the controls seem to rely on the player having a qwerty keyboard, which some people (myself included) don't use. It would be really great if you could add control mapping in the future if that's not already implemented.
Logged

lazerrock.itch.io
FTGDev
Level 0
*



View Profile
« Reply #2 on: April 16, 2022, 08:16:33 AM »

This has to be one of the most well-organised and pleasing to read devlogs I've ever seen. Good job!
I think the procedurally generated levels are super cool. However, the controls seem to rely on the player having a qwerty keyboard, which some people (myself included) don't use. It would be really great if you could add control mapping in the future if that's not already implemented.

Thank you, I'm glad you enjoyed the read and the concept!

About the controls, by all means, control mapping is a planned feature. Actually, I already have most of the UI menus planned and fleshed out, they just need the graphics (there'll be a devlog entry about the UI in the future), and a "Control Settings" menu is already there. So yes, control mapping will 100% be implemented.
Logged
FTGDev
Level 0
*



View Profile
« Reply #3 on: April 30, 2022, 12:41:39 PM »


Devlog #02 - UI design and integration.

So, here we are again, 2 weeks later. And what a wild 2 weeks they were. Does it ever happen to you, that you know you need to get something done but you kinda disregard it until you actually need it? Like, “Yeah, I’ll have to do this one thing.”? Then you get to it, and you realize it wasn’t nearly as simple as you thought it was going to be? Yeah, that feeling, I’ve gotten used to it, unwillingly.

But here I am nonetheless, and it’s all okay. So, enough chit-chat, and let’s get down to business.





I’ll never get tired of that wonderful feeling when you picture a concept in your mind, and then suddenly see it coming to life before your very eyes. From the moment I designed this UI for the first time, I knew I was getting myself into unnecessary trouble, that I could probably get away with something much simpler, but I fancied the idea of a dynamic, world-integrated UI so much that I couldn’t resist going for it.

And yes, the intro sequence can be entirely skipped. Just a graceful touch on the spacebar will allow you to go right into the action.

So, here’s how it works. The UI takes the shape of a wall of machinery and monitors. Each of those monitors displays a particular menu, and the player moves between them by clicking on the corresponding buttons, like so:

​​​​
​​​​

Let's cover some of these menus, at least the ones that are currently implemented:

​THE START MENU


This is the starting menu the player sees when starting the game, and it connects to every other menu in the game, as well as granting access to the profile save/load system. More on that later.

As of now, of the 4 menus on the sides, only the Settings Menu is implemented and operational. The Credits Menu is a work in progress, and it'll probably be until the very last stages of development. The Database Menu will hold a wide array of player stats, achievements, lore, and more, and it won't be adressed until the demo has been released and more content is available. About the last menu on the bottom left corner, that belongs to a future addition, not ready to be disclosed yet!

​THE SETTINGS MENU



Well, it's a settings menu, and therefore allows the player to change settings, like you would expect a settings menu to do. The following things can be changed in here:

- Several video quality settings, like screen resolution, texture resolution (can look crisp in up to 4K resolution screens), and bloom intensity (can go from no bloom at all, to disgustingly strong. Pick what you like).
- Audio levels of sound effects, music and ambience, as well as master volume.
- Every single control setting can be customized, including mouse. It doesn't matter what kind of keyboard you have, or if you're right-handed, left-handed, etc.
- Language can be set either to English or Spanish.

I’d like to make a remark about language. I made sure to build from scratch a fully integrated localization system, which would allow me to easily add or remove languages from the game. At first, the only supported languages will be English and Spanish, since those are the ones I’m fluent in, but more could be added in the future with little additional effort! Well, little effort besides the actual translation, that is.

​THE PROFILE MENU


This menu can be accessed by pressing “PROFILES” on the main menu screen. It allows the player to create as many profiles as they want. The player profile holds every single bit of data about the player settings, their game progression and their achievements and highscores. If for whatever reason they feel like starting from a blank slate again, It’s just as easy as creating a new profile. The first time they start the game, the player will be forced into this screen, as a profile must be created before they can play. Profiles are saved locally on the player’s system, and they can be retrieved or backed-up like any other file.


This is where the fun part begins. The game menu displays the current progress of the player, and allows to choose what episode, stage and difficulty to play, as well as checking all possible unlockables and scores.


- Episode Selector: On the top of the screen, the arrow buttons allow to scroll through the different episodes of the game.
- Stage Selector: Every episode has a variable number of stages. At the left side of the screen, a scrollable list displays all the stages available within the currently selected episode.
- Mode Selector: On the right side of the screen, the info on the currently selected stage is displayed. The tabs at the top of this window allow to change between Story Mode and Endless Mode.
- Difficulty Selector: The 4 buttons below the stage info window allow the player to choose they want to play on. The 4th and last difficulty will require to beat the game first before being unlocked.

The contents of the stage info depend entirely on the chosen difficulty, meaning the scores and unlockables you get in one difficulty do not carry over to other difficulties. Each difficulty counts as an entire playthrough on their own.

​STORY MODE

On Story mode, the following stats are displayed:

- Badge of the Swift: Awarded for completing the level without being hit by enemies.
- Badge of the Undying: Awarded for completing the level without dying.
- Badge of the Reaper: Awarded for completing the level with a full combo. More on combos and the score system in a future devlog, those aren't even implemented yet!
- Chip: The chip is a collectible item that can be spent to upgrade the player’s stats (health, damage, cooldowns, overheats) on the “UPG” button at the top right. Can only be obtained once per stage, and it’s difficulty-dependant.
- Score: The maximum score obtained on the level. Underneath the play button is a Highscores button. It’s very likely this button will only be available on the Steam version of the game, and it’ll use the Steam username to register the scores, not the profile name.

​ENDLESS MODE

On Endless mode, given its nature, only 2 stats will be displayed, maximum score obtained, and maximum time survived, which will both appear on the Highscores as well.


I’ve also taken time to upgrade and polish the UI displayed during the actual gameplay. Enough of those dull, boring boxes! Programmer art is very, very useful, but sometimes you have to let go.


All previous elements of the UI have been reworked and polished. Also, a custom crosshair has been added, along with a score counter and a combo counter on the bottom right. These will be able to be disabled from the settings menu, since they might end up being distracting.

=========================

With most of the UI done (or, at the very least, the difficult parts/systems done), I can finally start work on the actual game progression, the score/combo systems and the cutscene system. Once those are out of the way, I’ll be all ready to start spitting out new enemies, new tilesets and new stages, and getting this thing looking like an actual game!

So, stay tuned for future updates if I managed to pick your interest. Any feedback, no matter how trivial, will be greatly appreciated!

Thank you for reading!

Full Threaded Games, out.
Logged
FTGDev
Level 0
*



View Profile
« Reply #4 on: June 25, 2022, 10:46:20 AM »

Devlog #03 - Cutscene system, tutorial stage.

How long has it been for this one, 2 months? Well, one way or another, here we are with another devlog entry. To be honest, I kinda expected this one to take a long time. Being a solo dev, things inevitably take all that much effort to pull off, and in my case, that’s specially true when it comes to art and graphics (sprites, animations, special effects, you name it). And the cutscene system had a hell of a lot of that. Speaking of cutscenes, let’s get into them!


​INTRO

So far, I had a functional gameplay structure that allowed me to build my own levels, with their own enemies and assets. I could just keep building level after level and, quickly enough, start walking the road towards having a full game. But for me, that didn't feel right. I know that this game has a very arcade-like gameplay, like something you’d see in classic arcade machines: you start a level, you get through it killing enemies and avoiding obstacles, and then you get to the end and a score shows up. In essence, that’s all it is, and that’s okay.

But I feel like I need to tell a story in the process. In the end, almost every game has some semblance of a story being told, a message at the very least. Some are astounding, jaw-dropping cinematic experiences, while others just give you freedom to build your own story, One way or another, the concept is always there, which is why this game didn’t feel complete unless I had a story to tell, and the means to do so. And I did have a story to tell, I just lacked the means. Until now, that is.




That was a couple of fragments of the starting intro cutscene of the game. Let’s see how this works.

​CUTSCENE STRUCTURE

There are 3 different types of cutscenes that can trigger, and all of them can fit quite smoothly into the actual progression of a stage. Despite having slightly different mechanics, all of them share a similar structure:


The entire cutscene can be represented with a sequence of localized dialog blocks, with events in-between. These events can be anything: sprite animations, UI changes, script events, etc. These dialog blocks can sometimes be a dozen lines long, and sometimes they are just a single line. Each block also contains data about the “speaker” (as in, who is talking that particular line of dialog), their voice (the sound that plays when each character shows up on the dialog box), and the speed at which the text appears.

​CUTSCENE TYPES

​SIMPLE CUTSCENES

A simple cutscene happens in a special kind of chunk, an “Event Chunk”. These chunks can be included in the level structure like any other ordinary chunk, and when entered, they loop over and over until something marks the end of the event (typically, the end of the cutscene). This type of cutscene triggers seamlessly, displays some dialog or some simple animations, and lets you go. Simple and quick.

​COMPLEX CUTSCENES

A complex cutscene also happens in an Event Chunk, but they are, as the name suggests, a bit more complicated than the previous ones. Once the player reaches the event trigger, the screen fades to black, and the camera switches to a whole different scenario located directly underneath the playable level.

Actual stage above, cutscene scenario below.

Once down there, the world is a canvas. Everything can be done without any concerns, and without risking interference with the actual player/level above (which would inevitably cause gameplay issues along the way). After the deed is done, the screen fades to black again and the camera returns up, to let the player continue on their way.

​CINEMATIC CUTSCENES

These are the most complex type of cutscene. They usually involve interactions and animations that simply don’t fit at all in the structure of a playable level. The intro cutscene you saw above is a prime example of this type.

These happen in their own separate scene, and they usually trigger at the end of certain levels. Also, they can be watched again from the level selection menu, where they show up in their own, distinct format.

All cinematic cutscenes show up as narrow buttons with a distinct icon on them.

It should also be noted, that every single cutscene can be skipped by holding the spacebar! Actually, it’s very likely that a “No Cutscenes” option will be implemented into the Game Settings menu eventually, which will prevent cutscene chunks from spawning at all, in case the player seeks a true arcade-like experience without interruptions (or they simply don’t care about the story or have already seen it, and don’t want to be bothered by it, I understand there’s all kinds of players, and that’s okay).


To be honest, the game could’ve easily gone without a tutorial. I mean, it doesn’t really have complicated mechanics or anything, it’s mostly moving around and killing stuff. But I fancied the concept anyway. Besides, it was a great way to play around with simple cutscenes, which is why I’m including it in this particular devlog entry!

Do not anger the big eye in the sky.

The very first time the player hits the START button on the main menu, they won’t be taken into the level selection screen as usual. Instead, the game will automatically get them into the initial intro cutscenes, and afterwards, they’ll be thrown directly into the tutorial stage.

It’s a completely scripted stage, with none of the randomness the level generator usually creates. It’ll guide the player through 4 different events, each one offering the basic guidelines for movement, melee combat, ranged combat and shield usage, as well as some simple trials to put those abilities to the test.

The trials consist of simple parkour areas with a couple of enemies here and there

Also, the tutorial can be skipped at any moment from the pause menu.


Once the tutorial is either completed or skipped, the player can never play it again, and the START button will always lead to the level selection screen from that point on.

=========================

To be completely honest, a lot more stuff was done over these last 2 months, but I didn’t want to extend this entry more than necessary. Besides, those new additions are totally unrelated to cutscenes or events, so that gives me even more reason to leave them out. I’ll save those for the next entry, which will probably come out in a week or two!

So, stay tuned for future updates if I managed to pick your interest. Any feedback, no matter how trivial, will be greatly appreciated!

Thank you for reading!

Full Threaded Games, out.
Logged
oldblood
Level 10
*****

...Not again.


View Profile
« Reply #5 on: June 27, 2022, 07:20:16 AM »

Just a note to say this is a really great devlog, lots of details, and very organized. Love the UI work you did, particularly with all the menus. It's quite impressive!
Logged

FTGDev
Level 0
*



View Profile
« Reply #6 on: June 28, 2022, 07:50:11 AM »

Just a note to say this is a really great devlog, lots of details, and very organized. Love the UI work you did, particularly with all the menus. It's quite impressive!

Thank you, I'm really glad you like it!

Regarding the UI, your words are very encouraging! There's still several additions and functionalities to be implemented in the menus, but it's good to know it's looking alright so far!
Logged
mobilelast
Level 1
*


View Profile WWW
« Reply #7 on: June 30, 2022, 10:35:06 PM »

The refreshing, icy feeling of the background graphics caught my eye in the hottest week of the summer yet. The color palette looks good in small images also. Game features could actually be affected by different backgrounds: in cold (blue) parts it would be easier to deal with overheating; on hot (red) parts, moving would get less slippery etc.

You have lots of good ideas and the right spirit for development. More risk, more reward -approach is a good philosophy for game mechanics in general, and it is wise to do the base work for transitions and cut-scenes early on (although I’m not a fan of cut-scenes myself). In these kinds of games, it is also crucial to perfect the screen size and scroll speed so the player has enough time to react to things.

UI design and implementation looks very thought-out. Just remember to test it regularly with new users. There are always surprises when someone else tries to figure out things that are obvious to the developer.

This is a great dev diary, and will be fun to follow in the future.
Logged

Avaruustaistelupeli (ATP) - a space combat game
- Free download from itch.io or IndieDB
- Dev diary here
FTGDev
Level 0
*



View Profile
« Reply #8 on: Today at 10:51:07 AM »

The refreshing, icy feeling of the background graphics caught my eye in the hottest week of the summer yet. The color palette looks good in small images also. Game features could actually be affected by different backgrounds: in cold (blue) parts it would be easier to deal with overheating; on hot (red) parts, moving would get less slippery etc.

You have lots of good ideas and the right spirit for development. More risk, more reward -approach is a good philosophy for game mechanics in general, and it is wise to do the base work for transitions and cut-scenes early on (although I’m not a fan of cut-scenes myself). In these kinds of games, it is also crucial to perfect the screen size and scroll speed so the player has enough time to react to things.

UI design and implementation looks very thought-out. Just remember to test it regularly with new users. There are always surprises when someone else tries to figure out things that are obvious to the developer.

This is a great dev diary, and will be fun to follow in the future.


Ah, yes, I'm also fond of the current color palette! I'm kinda going to miss it once I get to work on the following episodes of the game, since they'll all have different themes and palettes.
I somehow never thought of having external sources affect the overheating mechanics or the movement. I like that idea, I'm definitely noting it down! Not sure how I'll use it specifically, but I fancy the concept!

Regarding the work on the transitions, it's just as you said, I wanted to make sure I had everything I needed as soon as possible, before starting to work on the bulk of the content. I know some players don't specially enjoy cuts-scenes (like yourself, as you just mentioned), which is why I made sure everything can be skipped, or even permanently disabled in the options menu. It's hard to cater to everyone's tastes without straying away from my original vision, but I'll do what I can.

I'm very aware that nearly everything, not just UI/screen size/speed, can feel very different for players than for the developer. I have a couple of close friends I usually debate all of these concepts with, and I regularly ask them to test these early development builds. The feedback I got was invaluable. The game speed used to be much faster than it is now, and for me it was okay, since I knew exactly how everything worked and how every game chunk was designed. But it was extremely difficult for them, the speed was too much to react accordingly. I ended up tweaking the numbers a little bit, and the difficulty selector actually affects the speed as well.
The choices we make as developers aren't always the most obvious ones, aren't they? I hope I can soon get a public demo out, it'll definitely provide me very, very valuable feedback in that regard.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic