paulkankiewicz.com Open in urlscan Pro
2606:4700:3030::ac43:9cfe  Public Scan

Submitted URL: http://paulkankiewicz.com/
Effective URL: https://paulkankiewicz.com/
Submission: On December 14 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

POST https://subscribe.wordpress.com

<form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;">
  <div>
    <input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address">
  </div>
  <input type="hidden" name="action" value="subscribe">
  <input type="hidden" name="blog_id" value="185113193">
  <input type="hidden" name="source" value="https://paulkankiewicz.com/">
  <input type="hidden" name="sub-type" value="actionbar-follow">
  <input type="hidden" id="_wpnonce" name="_wpnonce" value="855f09b67f">
  <div class="actnbr-button-wrap">
    <button type="submit" value="Sign me up"> Sign me up </button>
  </div>
</form>

<form id="jp-carousel-comment-form">
  <label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Write a Comment...</label>
  <textarea name="comment" class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" id="jp-carousel-comment-form-comment-field" placeholder="Write a Comment..."></textarea>
  <div id="jp-carousel-comment-form-submit-and-info-wrapper">
    <div id="jp-carousel-comment-form-commenting-as">
      <fieldset>
        <label for="jp-carousel-comment-form-email-field">Email (Required)</label>
        <input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field">
      </fieldset>
      <fieldset>
        <label for="jp-carousel-comment-form-author-field">Name (Required)</label>
        <input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field">
      </fieldset>
      <fieldset>
        <label for="jp-carousel-comment-form-url-field">Website</label>
        <input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field">
      </fieldset>
    </div>
    <input type="submit" name="submit" class="jp-carousel-comment-form-button" id="jp-carousel-comment-form-button-submit" value="Post Comment">
  </div>
</form>

Text Content

Skip to content


PAUL KANKIEWICZ

Current Quest: Ship an indie game on Steam with Very Positive reviews

Menu + × expanded collapsed
 * Home
 * About
 * Portfolio
 * Other Projects

 * LinkedIn


UNTITLED PVP GRAPPLE GAME – FIRST PLAYABLE PLAYTEST BUILD!

Work on my indie game – a 2D PVP platformer with grappling hooks – has been
going extremely well lately! So well, in fact, that I’m ready to invite people
to playtest the first playable build! Much of the game is still being stood up,
so the gameplay is a little bare-bones, but I find it’s important to get
feedback early and often. There’s enough of the game that’s been built now that
it’s time to hear what others have to say about it!

The build can be downloaded on itch.io here. I also created a survey to gather
playtest feedback.

In addition to working on the game, I’ve been creating devlogs to showcase my
weekly progress. If you’d like to check them out, you can find those here.

Posted bypaulkankiewicz89October 27, 2023October 27, 2023Posted inCareer, My
Indie Games, Play This, PVP Grapple GameTags:Ally Productions, Build, Dev Log,
Devlog, Feedback, First Playable, Game, Game Design, Game Dev, Game Development,
Grapple, Indie, itch.io, Platformer, Playtest, PVP Grapple Game, tikTok,
Untitled, YouTubeLeave a comment on Untitled PVP Grapple Game – First Playable
Playtest Build!


RANDOM GENERATION DONE RIGHT

Diablo 2 will forever be one of my favorite games. There are many aspects of the
game that they just got right – Itemization, skill synergies, and the variety of
monsters (Including affixes), to name a few. But one of the best things about it
was its randomly generated maps. The ever-changing landscape kept the game
feeling fresh even after thousands of hours.

Fast forward 23 (!) years: I played a lot of Diablo 4 at and around launch, and
while I really loved the variety of builds and the constant drip of progression
(Skill tiers, class skills, paragon boards, legendary affixes, etc), one of the
areas I thought fell short was the random generation of their dungeons. Here are
some examples of randomly generated dungeon layouts in Diablo 4:

These aren’t inherently bad, but something that really stands out is that the
grid is extremely visible, something designers should aim to eliminate in
today’s age of random generation. The loops and chunks used to generated the
levels are also obvious, leading to players easily noticing repeats.

So how can we make this better? Sometime around 2020, I worked on randomly
generated “dungeons” in a AAA 3D action game. While doing so, I did a lot of
research into how various games randomly generate dungeons and mocked up some 2D
prototypes of what the randomly generated spaces could look like using
GameMaker. My first iteration looked something like this:

(Ignore the red circle – That was just showing that some chunks aren’t connected
to the rest of the dungeon. Remember, this was just a prototype to prove out an
idea, so it didn’t need to be perfect).

Okay, so that attempt wasn’t great. The grid is obvious, and since chunks are
just rotated, repeated chunks are extremely easy to spot even in a small 4×4
dungeon like this. But making games (And prototypes) is an iterative process.
Let’s see if we can do better! Here’s the second iteration:

All right, that’s a little better, but it still has some of the issues mentioned
above. The grid is still extremely obvious. But repeated chunks are a bit harder
to spot due to the addition of black circles randomly within each chunk. In the
final game, you could imagine these being any sort of blocker to break up the
space a little differently, even when the same chunk is used – Boulders,
pillars, statues, holes, quicksand, trees, etc. I call things like this “axes of
randomness” – The more ways in which we can make an experience random, the
harder it will be for players to notice repeated content. See below for more
examples.

So we’ve made some progress, but let’s see if we can do even better! Here’s the
final iteration of the prototype:

Looks pretty good, right? Using more organic-looking chunks, I was able to mask
the fact that the chunks are placed on a grid. The random rotations and the
randomized black circles help hide the fact that there are repeated chunks, even
in a 7×7 grid like this and using just 20 unique chunks. At this point, we
decided the idea was worth pursuing in the real game, so I got to work building
the real thing, but here are some more improvements that could have been made to
these maps and the actual spaces within the game:

 * Create more unique chunks used to generate the spaces. This only used 20
   unique chunks, so we were guaranteed duplicates in a 7×7 dungeon like the
   prototype.
 * Make sure that the same chunk never appears in the same dungeon with the same
   rotation (Or maybe at all, if you have enough unique chunks).
 * Clean up the randomized circles so they’re placed in better areas, as opposed
   to randomly.
   * For example, we could use them to block off paths so traversal through the
     space was different even when the same chunk is used.
 * Add additional axes of randomness to mask the times when the player sees the
   same chunk.
   * Randomize enemy placements, types, and number within each chunk.
   * Randomize the textures that each dungeon (Or chunk) uses.
   * Randomize environmental effects – Fog, lighting, weather, spores, dripping
     water, etc. within each chunk (Or in the dungeon as a whole).
   * Randomize puzzle placement and type within each chunk.
 * Block off exits that don’t lead anywhere with rocks (ie, a cave in), vines,
   walls, magic barriers (Like in Gunfire Reborn), etc.
 * This would be a bit more expensive, but when connecting these in 3D, you
   could use non-axis-aligned rotations and simply connect the entrances using
   something like sockets, allowing you to rotate these chunks at “any”
   arbitrary angle and escaping from the grid entirely.

In case you’re curious, here are the 20 unique chunks used in the final version:

Fun fact: The “dual entrance” design was inspired by Castles of Mad King Ludwig,
a board game recommended by my lead when I started these prototypes.

Now, these are all just prototypes, but the bones of the design are definitely
present, and turning this into a finished product is totally doable. Going back
to Diablo 4, it’s not that Blizzard did a terrible job with their randomly
generated dungeons – They’re fine enough and get the job done, and certain
dungeons definitely have a different feel to them (I particularly enjoyed the
Flooded Depths). My main gripe is that their dungeon maps are obviously gridded
and have the tell-tale signs of being randomly generated, which I never really
noticed in Diablo 2, a game the same company made over 20 years ago! Nowadays,
with a little work we can do wonders to hide these things from players, making
the dungeons feel much more organic and realistic. The Diablo series used to be
at the forefront of random generation, so it’s a bit sad to see Diablo 4 fall a
bit flat in that area.

Posted bypaulkankiewicz89August 18, 2023August 18, 2023Posted inGame
DesignTags:2D, Axes, Axes of Randomness, Axis, Axis of Randomness, Blizzard,
Design, Diablo, Diablo 2, Diablo 4, Dungeons, Game, Game Design, GameMaker,
GameMaker Studio 2, Generation, Layers, Layout, Maps, Procedural, Procedural
Generation, Procedurally Generated, Prototype, Random, Random Generation,
Randomly Generated, Randomness, Rogue like, Rogue-like, Roguelike, Roguelite,
SpacesLeave a comment on Random Generation Done Right


MY NEW ADVENTURE

After much deliberation, I decided to leave my job at BioWare to try my hand at
indie game development, which has always been a dream of mine. While I have no
delusions that going indie poses its own challenges, I’m extremely excited to
take creative control into my own hands and to be able to make the decisions I
feel will lead to the best game. The change in scale of the games I’ll be making
warrants a change to my current quest:

New quest: Ship an indie game on Steam with Very Positive reviews.

Be sure to keep an eye out on this space for future updates!

Posted bypaulkankiewicz89July 25, 2023August 18, 2023Posted
inCareerTags:BioWare, Indie, Indie Development, Quest, SteamLeave a comment on
My New Adventure


HOGWARTS LEGACY LAUNCH

I’m a tad late in writing this post, but Hogwarts Legacy has launched! I worked
on the game for roughly a year very early in development. I worked remotely with
folks at Avalanche Software on side missions, and helped them develop some of
their mission tech and structure. I was also very fortunate to get some training
and experience in Unreal Engine for the first time ever. The game was incredibly
ambitious and had many difficult challenges to overcome, but it’s incredibly
exciting to see the game launch, especially with all the praise it’s been
getting! At the time of this writing, Hogwarts Legacy has an 84 Metacritic
score.


Posted bypaulkankiewicz89February 24, 2023February 24, 2023Posted inCareer, Play
ThisTags:Avalanche, Avalanche Software, Design, Game, Harry, Harry Potter,
Hogwart Legacy, Hogwarts, Launch, Legacy, Mission, Potter, Release, Trailer, WB
GamesLeave a comment on Hogwarts Legacy Launch


WHAT MAKES A GOOD QUEST DESIGNER?

I was recently asked the question, “What makes a good quest designer?” I’ve got
a lot of experience in quest design, but I had never sat down and actually
thought about what skills or traits made me good at what I do. After thinking
about it for a bit, I came up with an answer: Communication, creativity, and the
ability to be receptive to feedback.

Quest designers are the multidisciplinary focal point of the team, so being able
to concisely and accurately communicate the design vision to others, especially
to people working in different disciplines, is extremely important. Without good
communication skills, a designer could have an amazing design in their head, but
the rest of the team would likely be working on an entirely different vision of
the game, causing the experience to not feel cohesive. Games are made by large
teams of people, and being able to effectively communicate the vision of the
game is often the difference between making a unified experience and having an
amalgamation of various parts that don’t fit together.

Most of a quest designer’s job is to provide new and exciting opportunities to
the player, which is where creativity comes in. Creative designers will come up
with innovative new ideas that players haven’t even dreamed about. Having a
creative mind also allows them to breathe new life into old concepts, making
them feel fresh and novel again. In addition to the content they make,
creativity can help designers come up with different workflows or ways to solve
technical problems that less creative people would just accept as the way things
are.

Designers are constantly bombarded with feedback from all sides – Leads, other
designers, team members from other disciplines, playtesters, or even the
community. It’s easy to be overwhelmed or to take feedback personally, but a
good designer knows to accept even negative feedback as a positive thing, as
it’s a way to strengthen the design. Additionally, knowing which pieces of
feedback to act on and which ones to disregard is an extremely valuable skill
for a designer. Sometimes this means not listening to the vocal minority,
especially when a game has a huge online community. As an example, players might
say that a certain attack is underpowered, but maybe it’s mathematically
balanced and simply needs to feel more powerful with added visual or sound
effects.

So there you have it, the three traits that make a good quest designer. Focus on
communication, creativity, and receiving feedback and you’ll have a solid
foundation for any quest design role.

Posted bypaulkankiewicz89September 2, 2021September 2, 2021Posted inGame
DesignTags:Communication, Creativity, Designer, Feedback, How to, Mission
Designer, Quest Designer, Skills, TraitsLeave a comment on What Makes a Good
Quest Designer?


OVERWATCH MONTAGE VIDEOS

For the past year or two, some I’ve been playing quite a bit of Overwatch with
friends of mine. While doing so, I’ve been utilizing the Highlights feature
quite a bit, which, after thinking about it, is an extremely smart feature to
get people to create content to promote the game. I decided to try my hand at
creating a few montages using highlights from the past year or so – Check them
out!

LUCKY SHOTS



FAIL OF THE GAME MONTAGE



PLAY OF THE GAME MONTAGE


Posted bypaulkankiewicz89August 26, 2021August 26, 2021Posted inWatch
ThisTags:Blizzard, Compilation, Design, Epic, Fail, Fail of the Game,
FallenDemon, FallenDemon01, First-Person Shooter, FotG, FPS, Game Design,
Highlight, Montage, Overwatch, OW, Play of the Game, PotG, Video, Watch This,
YouTubeLeave a comment on Overwatch Montage Videos


CREATIVITY TIPS

A few months ago, a friend asked me for tips on being creative. We ended up
talking for a few hours about the whole creative process from start to finish,
and some of the ideas that we bounced back and forth were great tidbits of
information that I hadn’t really thought too much about before. After reflecting
on what we had talked about, I thought other people might benefit from our
conversation. So without further ado, here are some tips on how to be creative,
and for the creative process in general.

EVERYTHING’S BEEN DONE BEFORE

First and foremost, it’s very important to realize that 95% of creative ideas
have already been done before in some form or another. This should be a
liberating thought, not a debilitating one! Ideas aren’t created from the void,
they’re formed by combining other, already existing ideas in new ways (More on
that later). Don’t stress about things like “this has already been done before”
– Whatever you make will be a completely new experience for many people, and
your unique take on the subject matter will breathe new life into it for others.

JUST GET STARTED

Staring at a blank page can be intimidating, but I can’t stress how important
getting started is. Every great novel started with a single word, every work of
art with a single mark on the canvas, every AAA video game with a single line of
code. You don’t have to make that huge novel or painting or game all in one
sitting.

When making longer stories, it helps to start at a high level, then break it
down piece by piece. For example, if you’re writing a book, start by writing a
few sentences about what the whole book is about. Then try breaking it down by
chapter. Next break down what the first and second halves of each chapter will
cover. Once all that’s done, actually do the work of writing the chapter. Use
your breakdowns and notes as a guide, but don’t forget that those are just tools
to get you started – It’s okay to deviate from them if you come up with a cool
new idea.

FINISH IT!

Most creative people I know are really good at starting projects, but they tend
to struggle when it comes to finishing them. There are many reasons projects get
abandoned – Life getting in the way, perfectionism, moving on to new, more
exciting projects, or simply because finishing something is hard work. That
said, finishing is hands down the most important piece of advice on this list,
especially if you’re new to creative pursuits and are trying to get a job. It’s
better to have a single flawed, finished project than a bunch of perfect,
unfinished ones.

If you ever get stuck working on a problem, the best suggestion that I have is
to take a break. I know it sounds crazy, but stop working and go on a walk, get
some sleep, or just think about something else for a while. You will continue to
unconsciously work through the problem and a creative solution will very often
present itself. Brains are cool like that! All that said, don’t forget to return
to the project after taking a break – Don’t let this be what causes the project
to remain unfinished!

EASY WAYS TO BE CREATIVE

We’ve talked a lot about the process of making something, but how does someone
actually be creative? Here are a few easy ways to create new ideas:

 * Combine two things to make a new thing. A + B = C
   * If you’re having trouble coming up with a useful C in this example, start
     with random As and Bs and see if they lead you somewhere useful.
   * Still having trouble? Try an idea generator like this one.
 * Copy/steal from other creative works.
   * Don’t plagiarize, but use other works as inspiration. As long as you don’t
     literally copy/paste, whatever you borrow will become something new based
     on iteration, your own thoughts or edits, or the world you put it in. It
     can also help to take things from other mediums and see how they can fit
     your medium of choice.
   * “Good artists borrow great artists steal.” (See what I did there?)
 * Choose a theme and make decisions based around that theme.
   * Examples: Fear, library, greed, time
   * Or push this further: Choose two themes and combine them to make a cool new
     thing! For example, Zelda: Link’s Awakening = Nightmares/dreams + music.
     * This uses the tip above about combining things! A + B = C
   * Having trouble coming up with good themes? You can find theme generators
     online as well.
 * Brainstorm/play with the problem.
   * Creativity is just playing around with thoughts and ideas.
   * Playing with a problem, especially using humor and doubly especially with
     humor and other people you’re comfortable with, is a huge help when trying
     to think creatively.

CONCLUSION

So there you have it, my tips for being creative and the creative process in
general. My background might be in game development, but that’s just a medium.
These same tips work for writing, painting, crafting, or any other creative
endeavor. What are you waiting for? Go get started, but don’t forget to follow
through and finish it!

Posted bypaulkankiewicz89August 18, 2021December 29, 2021Posted inGame
DesignTags:Brainstorm, Combine, Creative, Creativity, Easy ways to be creative,
Everything's been done before, Finish, Get started, Good artists borrow great
artists steal, Help, How to, How to be creative, Ideas, Process, Theme,
TipsLeave a comment on Creativity Tips


POSTMORTEM: THE LOST ZIGGURAT OF NEPHTHYS

In case you haven’t been following along, The Lost Ziggurat of Nephthys is a 2D
platformer that focuses on a grapple hook mechanic that I developed for a game
jam with some friends – The Megaman Game Jam. I’m constantly looking for ways to
growth as a developer and learn from my mistakes, so I wanted to write a
postmortem on how the game turned out at the end of the game jam. Here’s a video
of the finished product, as well as my thoughts on how the process went.



POSTMORTEM

First and foremost, creating a time-based (As opposed to frame-based) platformer
is harder than I thought it would be. I didn’t realize you had to implement
literal physics equations to get platformers to work in a time-based structure.
I’m very fortunate to have paid attention in physics class in high school! That
said, I did “ship” with slightly (Maybe ~4 pixels) different jump heights when
at low (~30) or high (~120) frame rates – A problem I aim to look more into now
that the game jam is over.

Similarly, I had heard in the past that implementing moving platforms is hard,
but the logic for them is actually extremely simple – When the player is
colliding with one, move the player with the same velocity as the platform.
There are definitely lots of design considerations to think about – What to do
if the player gets squished, what happens if a horizontal moving platform runs
into the player, how do they interact with other game objects, etc – but the
implementation logic itself is simple. Unfortunately, I ran into a quirk in the
GamerMaker Studio 2 engine that ended up making an approximately 2 hour task
into a 10+ hour one. Long story short, GameMaker Studio 2 handles sprite masks
(Collisions) in whole numbers, which makes sense, since a sprite can only occupy
whole pixels. That said, x and y coordinates can be any range of float values.
This discrepancy ended up causing a ton of pain for me (I would have pulled my
hair out if I had any). Luckily, people in the GameMaker forums were super
helpful and pointed out my problem after I asked them for help saving my sanity!
Here’s a video showing the problem I ran into (I was so baffled by this problem
I had to create a separate project just to focus on debugging it!)



Postmortems don’t have to be all about what went wrong, though. Working on new
traps/objects was a ton of fun! I designed and implemented most of the gameplay
objects in a single day. I can’t wait to add more to the game – I already have a
large list of ideas! One thing I aim to do is create interactions between
objects (Especially the grappling hook). Currently, the only interactions that I
have are the grappling hook with walls, crumble platforms, and darts, and
falling rocks with crumbling platforms. Increasing that matrix of interactions
will help the game feel much deeper!

I’m so grateful I chose to add the grappling hook! The game would be extremely
boring without that mechanic, and the initial implementation only took me about
2 hours to add. That said, I did have to do a lot of tuning and bug fixing after
that initial implementation. The grappling hook also helped inform some of the
design of the game, such as level design, crumbling platforms crumbling when you
grapple onto them, and non-grapplable walls (Which I probably didn’t utilize as
much as I should have).

I think the simple “story” is the way to go for a game jam. Anything more and it
would have been wasted time. That said, if I choose to develop this into a
bigger game, I’m going to have to think more in-depth about the story and how I
can marry the gameplay to it.

The roguelike aspect of the game doesn’t really shine at the moment, due to the
limited number of rooms. I need to make way more levels, which will require me
to create more objects and fine-tuning my level design.

All in all though, I rediscovered my love for working on small projects! It was
a blast to come up with ideas, script object behavior, and tune the game’s
mechanics.

Posted bypaulkankiewicz89July 21, 2021August 18, 2021Posted inGame Design, Game
JamTags:Design, Game, Game Design, Game Jam, GameMaker, GameMaker Studio 2,
Grappling, Grappling Hook, Lost, Mega Man, Megaman, Megaman Game Jam, Nephthys,
Platformer, Postmortem, The Lost Ziggurat of Nephthys, Video Game, ZigguratLeave
a comment on Postmortem: The Lost Ziggurat of Nephthys


MEGAMAN GAME JAM SUBMISSIONS

We made it to the end of the first ever Megaman Game Jam! Here are the games
that were submitted.

SHOTS IN THE DARK

Shots in the DarkDownload

Created by Scout Clithero.

Description: A game of social deduction.

THE LOST ZIGGURAT OF NEPHTHYS

The Lost Ziggurat Of NephthysDownload

Created by Paul Kankiewicz (That’s me!).

Description: A 2D roguelike platformer where the player explores a dangerous
ancient temple using a grappling hook.

Notes:
I recommend playing it with keyboard and mouse, but it supports controller as
well.
Shift + S: Cycles between a few screen shake options if you want to reduce it.
Alt + Enter: Toggles fullscreen. Warning: If you move the window, you’ll likely
fall out of the world.

Posted bypaulkankiewicz89July 16, 2021June 26, 2022Posted inGame Design, Game
Jam, Play ThisTags:Design, Game Design, Game Jam, GameMaker, GameMaker Studio 2,
Grappling, Grappling Hook, Lost, Mega Man, Megaman, Megaman Game Jam, Nephthys,
Platformer, Shots in the Dark, Temple, The Lost Ziggurat of Nephthys, Video
Game, ZigguratLeave a comment on Megaman Game Jam Submissions


MEGAMAN GAME JAM PROGRESS: WEEK 2

With a second week down, the Megaman Game Jam is already halfway over. Here’s my
progress so far:



The main things I did this week were adding several traps, creating two levels
(Plus a few temp ones), randomizing which level the player gets loaded into when
they go through a door, and lots of tuning. The idea here is to make the game a
roguelike platformer. I think the game is already a lot of fun, but there are
still two weeks to get in all sorts of great things!

Posted bypaulkankiewicz89June 30, 2021June 30, 2021Posted inGame Design, Game
JamTags:Design, Game Design, Game Development, Game Maker, GameMaker, GameMaker
Studio 2, Grappling, Grappling Hook, Hook, Mega Man, Mega Man Game Jam, Megaman,
Megaman Game Jam, PlatformerLeave a comment on Megaman Game Jam Progress: Week 2


POSTS NAVIGATION

1 2 3 … 9 Older posts
 * Home
 * About
 * Portfolio
 * Other Projects

Paul Kankiewicz, Website Powered by WordPress.com.

 * Follow Following
    * Paul Kankiewicz
      
      Sign me up
    * Already have a WordPress.com account? Log in now.

 * Privacy
 *  * Paul Kankiewicz
    * Customize
    * Follow Following
    * Sign up
    * Log in
    * Report this content
    * View site in Reader
    * Manage subscriptions
    * Collapse this bar

 

Loading Comments...

 

Write a Comment...
Email (Required) Name (Required) Website