Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 07:23:43 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsKREEP - Steam!
Pages: 1 [2] 3
Print
Author Topic: KREEP - Steam!  (Read 7960 times)
Spidi
Level 1
*


View Profile WWW
« Reply #20 on: September 06, 2015, 08:41:50 AM »

Hello everyone!

This update took a while, a little sickness and a lot of work are to blame Sad...
I've finished implementing all the mutators planned for the final version. The most interesting (means crazy Evil) ones, which required a lot of work, are the "explosive" mutators. Overall I'm satisfied with the result. They do indeed vary the rules to a level, that in most cases it feels completely different to play. Sometimes in a fun way Smiley, sometimes in a chaotic/hard-core way. Mission accomplished.





Made a video about the explosive stuff, since again this is a bigger addition. With the completion of the mutators, I've left the code/system in a state, that if I decide to later on, I can add new ones with ease. Going to do a similar refactoring on the map system, since I do not plan on shipping a map editor, but at least would like to include the possibility of adding self-made maps.

Did someone mention GIFs?! As always, captured some animations about the new graphical elements:


Rocket launchers:
Get ready to swap your lasers to sweet rocket-propelled grenades.


Bomber Blaster Dynaman:
As a secondary weapon players drop timed explosives.


Exploding corpses:
The armor of players hold a timed explosive, activating when going out of business.

Also, it was a long time ago since I've added new screenshots, so here it goes:





With this update I got close to finishing the implementation of most of the planned features and mechanics. Based on my todo list, it looks like, some content (tiles, maps etc...) and mostly finalization and polish are left, but of course a whole lot of that. Don't know yet what the next update will hold, since from here on many things will be touched, but nothing will stand out much. Maybe some fancy pics about the menus and user interface? A bit boring I know, but already put work into it and it is slowly becoming pretty realized.

Greenlight "progress" have slowed down after close to three weeks to an extent, that it is starting to worry me a little. Maybe I'm in for a looooong wait or simply steam is out of my reach yet. I know, that KREEP is not a typical mass-appeal game, so as a retro/niche game I was kind-of expecting this. Will see, still hoping Smiley, fingers crossed!

If you did not vote yet and like KREEP, now is the time Wink!
http://steamcommunity.com/sharedfiles/filedetails/?id=502188847


@nkm
Thx, you've got my vote too for Stacks Beer!!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #21 on: September 12, 2015, 11:41:12 AM »

Hi there!

Small update this time. This week I've completed the final tile set for the game. Not so many new ones, but they were really missing from some of the maps to finalize the look & feel. Updated most of the maps, some new screenshots:





Also gave some love to the thrusters and pipes of the space ship levels:

   

While I was working on this update, I made a GIF just for fun.
Behold the SPACE ROCKET DRILL:



Been planning to showcase the UI/menu design, but it's not there yet. Close to being fully functional, and it is starting to look fun and fitting, but needs some time. I guess no biggie, menus are usually boring. The next update will most probably feature it though...

Bigger plans do not seem to work out too well. When I fixed the feature set mid project, shortly after deciding to try Steam Greenlight, I estimated to finish the project by the end of September. It looks like the release is going to be postponed a little. Thankfully just a small glitch, mid October seems to be more accurate now. Also Greenlight is not looking good. It seems, that a Steam release is not going to happen, still looking for votes Beg. So if you like KREEP and want to see it there, please give a thumbs up!
http://steamcommunity.com/sharedfiles/filedetails/?id=502188847
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #22 on: September 20, 2015, 12:21:33 PM »

Hello again!

So I've been working on the menu of the game and it is close to being finalized. Not happy with all the sprites and colors, but I think I've achieved a "retro sci-fi" look which fits the game really well. Captured some footage from most of the screens in action (sorry for the minor bugs, cut it together from multiple recordings):





Other goals, beside achieving a good style, were presenting all the relevant settings and match info whenever possible, while not being too cluttered and having a straight-forward workflow. I hope I've got this right?!

Took some screen shots this weekend too:





Okay, so we are over the "boring" part (I guess no one gets fired up by some menu screens Shrug), onto news. I have a kind-of release date. No exact day, but based on the work left and the free time I will have put aside for development in the upcoming month, it is safe to say, that after three more weeks (max four Roll Eyes) the game will be complete. From the beginning I've planed to release a demo too and no change on that front. Probably within two weeks I will have it ready. Stay tuned...
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #23 on: October 03, 2015, 06:21:42 AM »

Hi everyone!

Long time no see. It is, that time of the year, everyone gets sick, first my fiancée, than me, and shortly after my cat followed Sad. Still had some time to work on KREEP, but had no energy to prepare and post updates lately, sry. But, HUGE update this time Wink!

It looks like I can keep the middle of October release. Last two weeks were mostly about extra content, polish and "would love to have it, if time allows" features, upcoming two will be similar as I'm preparing for launch Smiley! Biggest addition this time is a so called "graphics revamp". After I've finalized the menu, I looked over the remaining tasks, plans and parts where I wanted to beef up the atmosphere and looks of the game. I've introduced some new audio-visual effects where I felt it was necessary to have more cues about certain events (e.g.: re-spawn, teleport etc...), and tried to enhance the overall visual looks of the game with a glow and scan-line effect.





I know, that people are divided regarding pixel art + programmed effects, like: glow, scan-lines and shaders, so the effects, as seen in the video, can be fully disabled, but I really like the end result, and I think it fits and enhances the style of the game, so they will be on by default.

Little technical details: I know, adding effects like these to a game is no biggie from a technical standpoint (just a few line of HLSL or GLSL from the net and you are done Grin), but I thought I throw in a fun-fact about my solution. I used the fixed pipeline only, no shaders. No I'm not out of my mind Roll Eyes, also I know how to apply a simple blur in a shader Tongue. Simply I found it refreshing/interesting to do it this way, and since it was a relatively simple thing (XNA/MonoGame due to it's DX9 roots allows it without any hustle), it wasn't more complicated doing it in an old-fashioned way.

Here is a little technical overview of my rendering steps:


Little cheat: the actual glow part (steps #1 to steps #5) is repeated multiple times, due to groups of sprites covering each other and hence the "glowing" pixels too, like one for the map and one for the UI elements on top of it...
The core logic is essentially down-sampling than up-sampling using an off-screen buffer and LINEAR clamping (blur) and overlaying the result using ADDITIVE blending (glow).

Added some new sprite effects, for more "readability" of what is happening. They work like a charm!

Teleporter effects:


Re-spawn effects:


Score counter:


Latest addition to the UI was the "KREEPometer", showing the progress of the KREEP occupying the level:


Also, I think the glow and scan-line effects add a great deal of extra life to the UI:


Been active adding new maps to the game. Next time I'll post some more screen-shots, but here is a pic about the "Gargantuan":

The pest alarm signaled the crew into the engine room of the largest ship in the fleet.

By the end of next week, the game will be in a quasi finished state. I think only minor patching will be needed here and there. I will try to come up with an exact date (probably somewhere around 16th of October) and other details about the release, plus will put together some cohesive writing about the project.
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #24 on: October 30, 2015, 04:06:38 PM »

Hello there!

Me getting sick again == release delayed by three weeks Sad. But I'm sort-of okay by now and the game is finished Smiley!!!
Ladies and gentlemen, I present you: Operation KREEP





You can pick it up on http://spidi.itch.io/operation-kreep for 2.99$, or if you are kind of interested, but don't really know if it is for you, there is a demo version showcasing most of the features with limited content (local co-op is included Wink!).

Super happy Smiley KREEP is released (ACHIEVEMENT UNLOCKED). I hope you try it out and it will be to your liking!

A little about the last three weeks, what happened, why the delay, anything else made it to the final build since?

As mention, I got sick, had no energy and time for doing a full test, fixing bugs and shipping a non-rushed final version, so instead of a week, the "release" took three weeks Sad. Still not okay yet, docs. don't know the exact ~root-cause, but feeling much better currently, so I decided, that this weekend will be THE weekend Smiley!

I added a few new maps since the last update:


The KREEP goes round and round the asteroid ring miner station.


The most famous eight-legged deep space dock, now welcoming an uninvited guest...


Science cruiser on an important mission; examine the KREEP life form.


Run-down space station, built on an asteroid field. Out of staff full of aliens.

Also poured some time into fine-tuning, to add an extra level of polish. Here are the ones with the most impact:
  • Implemented some tricks in the AI. Now it is much more fun and interesting playing with and against them. They possess a "strategy" now and they act more like a human player would (still pretty dumb though :D). Just to give you a better idea, some words, that describe the various long and short term goals are: survival, sneaky, money, revenge.
  • Better tutorial: Now the game has a rich interactive tutorial which is not just a wall of text. Through instructions, game play events, and playing with/against an AI agent the tutorial actually explain the core components of the game Smiley.
  • Huge amount of bug fixes and fine-tuning, from correct settings saving with %APPDATA% fallback, to alt-tabing and pausing the game-play on loosing window-focus, a lot of minor but not so interesting features were added to the game...

As always, I'm open for suggestions and critique, especially regarding the final product. If you try it out and have something to say about it, anything actually, or you encounter a problem, I'm all ears Wink!

I would like to thank everyone who helped me achieve this goal, and all of you following me on this journey! It means a lot to me, thx again.
I plan to take some time off (but not too much Tongue, only one or two week(s)) from work and game making alike, just to fully recover and to get back with a refreshed mind Smiley, but I plan to write a little postmortem-ish like thingy about KREEP afterwards, especially if there is interest!

See ya, take care!
Logged

nkm
Level 1
*


Ludere ergo sum


View Profile WWW
« Reply #25 on: October 30, 2015, 10:59:27 PM »

Congratulations!
The game looks great!

 Beer!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #26 on: November 20, 2015, 09:12:22 AM »

Hi everyone!

Wow, almost three weeks passed since the release in a glance.
A lot has happened with me and KREEP, but I wasn't really active on these weeks Sad...
I think it's kind of time to talk about KREEP in past tense, though it's story is not over yet, but I'm focusing less and less day by day on it and starting to move onto new things. First a little shameless promotion, than I jump onto a postmortem kinda thingy and future plans:

KREEP got released, sold practically none in it's first weeks (as I predicted, so it was expected), but got some nice view and demo-download numbers, at least compared to my previous hobby project. But a rather pleasant happening lately:
KREEP got into a groupees bundle!


Groupees – High and Strange bundle – curated by Remute
A couple of days are still left, so if you would like to get the full version for dirt cheap + some other goodies go go go Wink !!!
Heard bad stories about how this devalues your product etc., but in hindsight it wasn't a bad decision to participate. KREEP was never intended to be the next Minecraft or Fallout 4 (its a cool game though Tongue), especially not financially, and it resulted in a lot of people who tries out the game and a lot of greenlight votes which is really nice!

It got a little press presence for which I'm really thankful and now you can reach it at multiple stores (+ more to come):


itch.io


IndieGameStand

Mini-mortem:
KREEP was my second more serious hobby project which I intended to finish. Looking back, my older projects were more like "free time spent well", but never really got serious about actually finishing anything, so again, the final verdict is SUCCESS! My original plans were more humble though. I got a little carried away with features around mid project when I was locking down the final feature set. From that point of view it was a bit of a failure, since it took much more time to complete, than the original vision. This happened due to me deciding to try steam greenlight at that time, because I thought, that the game is pretty fun even in a half-finished state, so with some extra features and more polish it may actually could make it + why not. In the back of my head I actually knew, that plans about more content will not be enough for that, but still went with it. It was fun though Smiley, maybe next time will work out even better!

Some numbers & facts:
It took from start to finish close to 430 hours to make, spanning over 6 months.
From this, programming and testing was around 190 hours, it took 140 to produce the content and around a 100 went into "marketing" (haven’t made that much stuff on marketing front but I count here every media material preparation, so as an example writing this blog, or creating the trailer too).
The code is a little bit over 5000 lines in C#, sitting on top of a bigger pile of code which I named MagicItem. It is a bunch of code I’ve been developing for years now in spare time, running games using XNA/MonoGame, but while making KREEP it was mostly left intact.
My final Assets folder contained 142 files (without sub-directories and only pre-processed content) from which 39 were images, 23 were sound effects and the rest 80 were general purpose resource files (tile-maps, animations, fonts, strings etc… mostly in xml).
Used the following tools for development:
Windows PC
Visual Studio 2013, XNA/MonoGame
Notepad++, GIMP 2, piskel, Tiled, sfxr, Audacity, Bosca Ceoil, Fraps and blender

I'm generally really happy, I deem it as a success. For a I time I hoped, that it would get on steam, because it would have been a wonderful achievement as a creator and a really cool learning experience. It may still happen, thanks to some colleagues, friends and bundle people Smiley I received a lot of votes lately. If it does, I will jump back to the drawing board and fill the game with steam achievements as + goodies. For now, I'm already focusing on my next game, starting out with some MagicItem "framework" developments, which I will showcase soon because it is fun/useful.

See ya in a few weeks with new ideas!
Logged

nkm
Level 1
*


Ludere ergo sum


View Profile WWW
« Reply #27 on: November 21, 2015, 12:11:39 PM »

Congratulations, well done!

You try stuff, learn and try again. That's product development. Keep up the good spirit!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #28 on: December 29, 2015, 11:44:59 AM »

Hi there!

Woke up on the 28th of December, checked my mailbox and gazed over a mail with the following subject:
Congratulations, Operation KREEP has been Greenlit!
I was shocked Screamy, checked the mail in a hurry, than the greenlight page of KREEP, crossing my fingers and hoping, that it is not a joke or a fake mail Smiley.


I have to tell you, I did not expect this at all. I believed, that the game is going to be stuck on greenlight, since it was a really simple game, with a niche target audience and humble results so far. I already moved on to starting the design phase of my next project and preparing technology for having a smoother development process for my upcoming games.

After 133 days on greenlight:


I'm super happy now Smiley!!!

As I've mentioned before, I knew it is not a big thing nowadays getting a game on steam, but still, it is like a dream come true. I learned a lot while creating this game, and actually putting the game onto steam will be even more useful from that point of view (both from a technical and a creator perspective).

I decided, that I'm going to sit back to the "KREEP drawing board" for a little while, and I'm going to make an update for the game, besides the steam integration, to further polish it and fill it with some extra content. I feel like I really have to make the most of it, especially now, since I'm really grateful for all the votes, and for everyone who already bought the game!

I'm still sorting out what I'm going to update and for how long it is going to take. I don't want to spend too much time on it though to not fall into feature-kreep (pun intended Tongue), so I'm going to draw a line the same way as I did at the beginning of the project. I'm thinking of two months now. That should be enough to add some juice to Operation KREEP.

I'll keep you updated on the state of the game.
Thanks again everyone, and I wish you a happy new year!
Logged

Ayrik
Level 0
**



View Profile
« Reply #29 on: December 29, 2015, 12:17:19 PM »

Congratulations! It is well deserved   Smiley
Logged
Spidi
Level 1
*


View Profile WWW
« Reply #30 on: January 10, 2016, 01:01:09 PM »

Hello all!

Small update regarding Operation KREEP. I’ve started working on the game again. As I’ve mentioned before, it is number one priority now. When it comes to decision making I’m usually really slooooooooow, but this week I came up with all the must have and all the won’t have time for them (but still would love to have them) features and their designs. I guess the hard time limit worked miraculously. This means the following for the Steam release:

  • It is going to happen in the first week of march.
  • Some new features will be added by than (not only to the Steam version).
  • Most probably a few minor patch may follow, containing new content too besides bug-fixes, if there is even more interest towards the game.


As I wrote the last time, I really don’t want to overdo this, but there were some "love to have, but they aren’t going to make it" features when the game was first released, so some new stuff will find it’s way in there, with a proper Steam integration. Here they are, the plans I’ve cooked up and started to implement this week:

  • Achievements (not exclusive for the Steam version).
  • Some new maps.
  • A few extra mutators to stir the existing rules up a bit Smiley.
  • And possibly a “challenge” mode (sort of like a single-player mode).

No time for more sadly. Even these additions will require some overtime during the weekends Tongue, but I’m excited about extending the game, so I’m going to make it happen! There are still things in the back of my mind what I would love to add (like full controller support besides XInput, or extra map elements like “trap” tiles etc…) but those are going to happen as post-Steam-release updates only.

Stay tuned, will write updates about my progress as I go…
See ya!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #31 on: March 26, 2016, 12:45:37 PM »

Hello everyone!

Still working on the game, but haven't progressed a lot in the last couple of months. At least not much happened worthy to be mentioned, due to not having enough time to focus on development. The first week of March was the planned finish (maybe even release!) date for the Steam update for Operation KREEP. Albeit it was a vague plan, still, here I'm close to three weeks after and I'm not even finished with the extra content.
Planning is hard, keeping yourself to your plans is even harder Sad...

Oh well, at least huge progress this week Smiley! Here they are, the new goody goodies I've added to Operation KREEP:
Three new mutators made it into the game and they are fun as hell Evil.


Chaos KREEP in action. This is what I call "hard" mode, or "really chaotic" mode. The KREEP not only spawns it's "KREEP-lings" every second or so, but moves around the map too.


Slow missiles is really weird Shocked, players can race their projectiles Tongue.


I suspect Explosive vandalism is going to be a real game changer but only in case of short matches, or it will enforce careful play, so players don't blow the whole map up in an instance by shooting at large group of props accidentally Smiley.

Besides designing and implementing the new mutators, I made some subtle modifications on the user interface. Since I plan to add a few new levels next week, the number of levels are going to be close to twenty, and I realized, that navigating a rather lengthy list with only the arrow keys is going to be cumbersome...
I didn't want to overhaul the whole UI, so instead of adding mouse control or redesigning to have a grid based level selection, I've implemented page-up/down, home, and end key support. While I was at it, I added entry number indicators to make the scroll-bars more useful.



That's a wrap for this week. I think it's still too early to declare a finish date, especially based on my progress during the last two months, but I'm getting close now, so I think by the end of next month, the new content and the Steam build is going to be mature enough to release it.

As always, I'm open for critique and suggestions, and stay tuned for the next update!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #32 on: May 16, 2016, 08:15:48 AM »

Hi there!

I'm not going to go into a big yakking this time about the obvious again. Summarizing: still not advancing as planned and my online presence is still far from adequate, but the update I've been working on is "finished". Finished in the sense, that I've added all the features, fixes and fine-tunings I really wanted to add, but it is not yet released, so a final test and a last big "marketing" push is ahead of me...

This time I would like to talk about the last feature I've implemented, and as the title suggests, it is input handling related. I feel like it was bit of a daring act, but in the final stage of the development I've decided to rewrite most of the input handling logic of KREEP as the finishing step. Yep, it was kind of a bald move, and took some serious effort, both design and implementation wise, at least compared to other features I've been working on lately, but it made such a huge difference, that I'm really glad I made it!

A while ago I had a rather lengthy test session with some friends and colleagues. They told me they had a blast, but I could squeeze out some constructive (negative Smiley) criticism too. It was targeting the input handling, notedly the movement of the player characters. While I was observing my peers playing, I noticed this sentence come up a couple of times: "it's not moving in the direction I want it to move". It wasn't angry/bad, but heard it enough to start thinking about it, but when I asked around, no one could actually pinpoint the problem, or describe it in more detail, only there was "something annoying" about the feel of the player control.

Some other developer friends, actually praised the controls before, stating, that it is really tight, and feels like older Pac-Man or Bomberman games, so it took me some time to figure out the problem, but approximately two weeks ago I had an "a-ha" moment while playing and realized what was bugging my buddies. The game indeed feels like old Pac-Man or Bomberman games, but I discovered some problems with this scheme (at least with my implementation). The movement is discrete as in the mentioned games, so by pressing a direction key, your character will not stop until it reaches the next tile and the game is pretty fast. It takes 0.2 seconds, so 12 frames (with 60 fps fixed loop), for a player character to move a full-tile distance. When trying to do tight "maneuvers", so turning around a corner, or entering a door, or simply changing your direction at the right moment, you have to be spot on, otherwise you can miss the corner/door! Based on what I've found, this 0.2 seconds is already lower than the average reaction time for humans to a visual stimulus (which is 0.25 seconds by the way). This is pretty common in games, so reducing game speed was not something I planned to change though, especially because it would modify the design and game-feel a lot. I went further down the rabbit hole and found, that not only you have to be spot on in KREEP, but the logic I've implemented for deciding which direction to "prefer", when multiple keys/buttons are pressed in a given frame, does not "aid" the player. It is pretty much stupid (simplistic) and fails utterly in a sense, because in the before mentioned situations (maneuvering), you usually have two buttons pressed...

Here it is what I'm talking about, what the user intends to do is on the first GIF, and the second and third GIF shows what happens from time to time:

   

In the first "failure" case, the player is holding down "Right" and "Down" together for a split second and releases "Right" too late, and in the second case "Down" is pressed too late. The latter problem is really hard to battle, but can be done to some degree (still experimenting with that, more on it a little later), but the first one is actually not "fair" (at least the players feel that way: "it's not moving in the direction I want it to move") and it can be fixed using a simple idea + a full rewrite of my previous input handling logic CheesyTongue.

So previously I used a pretty simple input handling logic for controlling the player character movement (warning, warning incoming pseudo code):

Code:
void handleIdle() {
    if input.isPressed("up") {
        startMovement("up")
    } else if input.isPressed("down") {
        startMovement("down")
    } else if input.isPressed("left") {
        startMovement("left")
    } else if input.isPressed("right") {
        startMovement("right")
    }
}

Input handling in "Idle" character state.

Code:
void handleMoving() {
    if input.isPressed(currentDirection) {
        continueMovement()
    } else if input.nonePressed {
        stopMovement()
    } else {
        // this will handle direction change
        // the same way as in "Idle" state
        handleIdle()
    }
}

Input handling in "Moving" character state.

There is a huge problem in both parts. One is that a direction "preference" is hard-coded, so "Up" beats "Down" beats "Left" beats "Right" and the other is that while "Moving" the current direction is again "preferred" over other directions, for no real obvious reasons (except for it is easy to code Roll Eyes).

Both problems and the previously mentioned "multiple buttons pressed" issue can be eliminated easily by adding time-stamps to button presses! Instead of simply checking one button after the other, we always check each direction and the later a button was pressed the more "preferred" it is, due to a simple logic which is: the last button pressed by the player is most probably is the "intended" new direction. This logic off-course can be further enhanced with another trick. It is most probably isn't the "intention" of a player to face a wall when multiple direction buttons are pressed and some of them would mean simply trying to move into concrete, so besides time-stamps, possible directions are checked also.

Here it is, the further enhanced "smart" input handling algorithm (warning, warning incoming pseudo code again):

Code:
bool canMoveTo
direction target
time pressed

void handleIdle() {
    canMoveTo = false
    target = null
    pressed = time.min
   
    detectTarget()
   
    if canMoveTo {
        startMoving(target)
    } else if (target != null) {
        changeDirection(target)
    }
}

void detectTarget() {
    foreach direction {
        if input.isPressed(direction) {
            if canMove(direction) {
                // prefer movement over hitting a wall
                // if no walkable target is detected yet use this one!
                if pressed < input.pressedTime(direction) or not canMoveTo {
                    targetDetected(direction)
                }
                canMoveTo = true
            } else not canMoveTo {
                if pressed < input.pressedTime(direction) {
                    targetDetected(direction)
                }
            }
        }
    }
}

void targetDetected(t) {
    target = t
    pressed = input.pressedTime(t)
}

New input handling in "Idle" character state.

Code:
bool canMoveTo
direction target
time pressed

void handleMoving() {
    canMoveTo = false
    target = null
    pressed = time.min
   
    detectTarget()
   
    if canMoveTo and target == currentDirection {
        continueMovement()
    } else {
        if canMoveTo {
            changeDirection(target)
        } else if (target != null) {
            changeDirection(target)
            stopMovement()
        } else {
            stopMovement()
        }
    }
}

New input handling in "Moving" character state.

And here is the representation of the inner workings of the new algorithm in action:



The direction arrows represent the pressed direction buttons by the player and the lighter color means the most recent button press. Both possible directions hold an orange question mark until the decision about the direction is made (this is not actually checked or saved anywhere until the respective frame). The frame in which the decision happens is "frozen" for a tad bit in the GIF so the choice is clearly visible.

It worked wondrously Smiley!!! The movement become a bit easier using the keyboard, the multi-press problem disappeared, but the gamepad + thumbstick based control feel got a real "level up" due to this modification! It is really cool. After completing and trying it, I felt that all the updates I've added to the game (new maps, new mutators and achievements) are simple gimmicks compared to this modification. It really makes a difference and I'm really happy I made it.

After a lot of testing, I've found a situation where the new logic was kind of detrimental, and I felt like it may not actually follow the players intention. When a corridor gets blocked by a dynamic entity (a player or the KREEP), the new logic actually "tries" to move the player in a different direction, like in the following situation:



Here the player presses "Down" than a bit later "Left" in both cases, but in the second case another player blocks the corridor. Since "Down" is still pressed, due to the new logic, the player starts to move downwards as there is nothing in the way. I felt like in most cases this could be counter intuitive, since the player usually tries to move towards these "dynamic blockers" (due to the game rules this is the most logical goal), so I introduced some extra code, which separates dynamic and static blockers (collidable map tiles) and handles dynamically blocked tiles just as much "preferred" as walkable tiles, so that only the button-press time-stamp makes the difference in these cases. Again this worked like a charm, but all-in-all it is pretty ugly and "duct-taped" (so no pseudo code this time Tongue) + the whole thing took a long time to experiment, implement and test thoroughly.

What I'm still fiddling with, but is not going to be in the upcoming Steam release, is the second issue from the original "perceived" control problems: pressing the intended direction too late. This is much trickier and it is much more a player fault than the first one, but can be helped a little with an "input window". For one or two frames, you buffer specific situations where different input state would have ended in a different direction. Than later you reposition the player, if still possible / makes sense, and it is much more likely, that the given direction is only a late press (e.g.: in the new position it would be blocked by a wall and no other directions are pressed at the current "late" frame). Most probably in these situations a one or two frame continuation in the same direction will not be noticeable by players, but will extinguish almost all late-press annoyances. Here it is, a little animation showing the inner workings of the "input window" algorithm in action:

 

In the GIF there is a one frame "window" represented. This frame in which the decision and reposition happens is "frozen" for a tad bit so the choice is clearly visible. The second GIF shows the animation sped up to the same level as the characters move in the game. Even on this GIF with rectangles and lines, the one frame "window" and repositioning is barely visible so I have high hopes, but the implementation is tricky, so it's going to take some time + I'm already in a "I really want to release this game on Steam" mood Smiley!

Overall working on this problem was a wonderful experience, because it taught me how much difference good input handling makes (input IS king Wink!), and that it is worth putting energy into seemingly miniscule issues/ideas too, since they may end up awarding huge benefits (+ I F'ING LOVE GAME DEVELOPMENT Kiss).

I'm planning to release the update in two separate turns. First giving it out to those who already bought the game on itch.io and IndieGameStand within a week or two, than releasing the game on Steam a week or two afterwards.

Sorry for the long write again, stay tuned for more Wink!
Best regards.
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #33 on: June 02, 2016, 12:02:52 PM »

Hi all!

Small update (~announcement) this time. Operation KREEP 1.1 is available:





Now if you buy or re-download the game on one of these store-fronts you get the latest version Wink.

I made a little teaser too this week for the update:




Still working on releasing it on Steam but based on the tasks left, it is only a matter of days. I didn’t really wanted to set a fixed date, like next Friday or something like that, but it is safe to say, that by the end of next week it will be ready.

I will write a “mini-mortem” for this 1.1 update and the Steam release once the whole thing is behind me, since a lot can be learned from these summary goodies + compared to the development of the original game I feel like my level of discipline and the overall organization of the project was a mess Tired, so I have to draw my conclusions and keep this lesson in my mind.

Take care!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #34 on: June 10, 2016, 09:40:48 AM »

Hello there!

Small update but big announcement this time Smiley!
Operation KREEP is one years old and it is available on Steam!

Here it is, its Steam store page in its full glory:
http://store.steampowered.com/app/446050/

Technically speaking, it is a tad bit older than one year. I wrote the first draft of the design doc in 2015. May 22. and the repository + the project files were created in 2015. June 2., but it is pretty close. So it took a year of part-time work (occasionally off and no more than two days any given week) to get it from the concept in my head to the Steam store. So the release today was an appropriate birthday gift Tongue.

Thanks for all who helped me getting here. From all the praising words to the helpful comments.
Thank you!

Currently I still have a lot to take care of regarding the release but I did not forget about the punctual postmortem this project and I desperately need to write. Next time...

Best regards.
Logged

bittwyst
Level 1
*


Twitter: @bittwyst


View Profile WWW
« Reply #35 on: June 10, 2016, 04:37:06 PM »

Congrats! Good time to do a mac port? :D
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #36 on: June 10, 2016, 10:34:51 PM »

Congrats! Good time to do a mac port? :D

Thx!

About the Linux/Mac port:
Currently it is not planned (takes much effort/time and I would like to start my next project + I do not own a Mac  Concerned), but I'm still considering it since many asked about it + a while ago the game was somewhat working on my Linux box...
So no definite answer yet, no promises, but it may happen.
Logged

Zukas
Level 0
**


Gamer and an Indie Developer!


View Profile
« Reply #37 on: June 12, 2016, 09:35:44 AM »

Gives me vibes of Miniclip times, aaahh the nostalgia!
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #38 on: July 09, 2016, 10:37:43 PM »

Hi everyone!

Haven’t been around the INTERNETZ lately, sorry for that (been busy with a lot of work and important decisions to make Undecided).
I promised a postmortem kind-a thingy after the Steam release of Operation KREEP, so here it goes!

Before I jump into numbers, I’m going to describe the project a little, what went well, what didn’t, the usual mortem content...
The Steam update and the release itself for the game was designed, developed and tracked as a project separate from the original game. This was done mainly due to being greenlit only a few months after the release. I already started working on new projects back than and the good news kind-of shocked me. Wasn’t expecting it and I didn’t want to rush it to the market, so I decided to take my time with the Steam release and prepare a "free" update for the game (note: I always referred to this as a free update, since all the original buyers received it on various stores for free...). While working on this update and the Steam release preparation, feature KREEP (pun intended Giggle) and a smallish burnout (combined with a semi-serious health-issue) almost took the head of this project Concerned. It took a little longer than six months, but I finished the update and released my first Steam game on the 10th of June, 2016 Smiley!!!

The good:

I released a game on Steam! That alone is a great reward and a memorable experience!!!
Also while preparing for it, I could revisit a game I made and finished/released already and I could give a little more love and polish to it. In one way, that was really cool. I guess many probably had some bad feelings about finishing a project and still wanting to add some more to it here and there.
+ Steam integration was nice and surprisingly- easy/well documented Smiley.

The bad:

Making the update was a CHORE. The actual procedure got pretty boring fast. I had an existing game of which I made the most out of I could on the first try, and now it did not feel special. I felt, that most of the modifications only added more to the game but did not make it any better (except for the input handling enhancements Smiley, working on that feature was pretty cool!).

And the ugly:

I made the same preparations as with my previous two projects, written down and estimated tasks, and planned important milestones. I also tracked my progress while working on the update the same way, but this time, disciplined and organized work did not save me. I felt a rather big urge to make a better game out of Operation KREEP, because "it is going to be on Steam" Addicted, so a small feature-creep clouded my sight. Also I had semi-serious health problems with my stomach and duodenal, so I spent the last six months in glum mode Sad.

Some numbers to certify these results/problems:
The original game took 430 hours to make, spanning over 6 months, where my original estimations and milestones predicted 300 work hours and somewhere between 4 to 5 months. Not the best probably, but certainly not bad results.
This update also took 6 months, but only required a tiny little less than 190 work hours. This mostly shows my rather bad work ethic regarding this project (and the bad mood Sad), since the estimation was even closer to the end result, than with the original game. I estimated around 150 work hours and around 3 months top to execute it! Based on my results with Operation KREEP, the update with the Steam release could have been done in three months with same amount of weekly work-time spent on the project, but I guess sometimes life just happens Sad.

So, mortems have to have some conclusions, on how to do better next time, right?
I think, next time if I feel, that some tasks and features do not really add much to the game overall + I feel like I’m loosing interest in the project, I will re-evaluate my designs and plans, or I will start a tiny pet project parallel, so that I do not fully waste a lot of my gamedev time and efforts. Also I’m certain I will take the mentioned stuff into account regarding milestones.

Did it sell?!

I guess this interests many, so here goes nothing: it did not sell...
Before going any further, I have to mention, that for saying "it did not sell", I’m taking into account, that it is a small and niche game + my marketing efforts took much less time and/or money, than half of the project costs, as it is the case with AAA titles Tongue. I wasn’t expecting it to sell thousands of units at all in the first place Smiley. Nevertheless, even with this in mind, selling only a few units leaves a rather bad taste in my mouth Concerned.
The Steam release did not reach 100 units. Based on the wish-list additions, it may reach 500, probably if I drop the price later on, and that number sounds better, but I feel like the price was totally reasonable even for the original release. I guess it is common sense, but this is another example, that a game alone is not going to reach many people, not even on Steam. Real effort has to be poured into pr and marketing to actually get the word out and to find people interested in your game. I guess a more interesting game wouldn’t hurt either, but what can I say, I’m a sucker for retro and pixels Smiley.

Still, I’m thankful for those sites and press people who tried the game, and even more thankful for those who wrote about it. Indie Retro News wrote a really cool review Kiss, especially thankful for that!
+
For my next game, I’m going to work a lot more on the marketing front too, to reach a broader audience, who may enjoy it.

Future plans:

Recently I worked on many cool gamedev stuff and I’m prototyping my next game (not ready to show it yet, but it’s getting there).
+
I made a huge life-changing decision lately, which I’m going to keep as a "secret", no official statement, because I suspect, I would get a lot of "Are you out of your mind?!" responses, and I don’t know how to handle that properly, but I guess it is not hard to figure it out. Here’s a hint:
Still here, writing about game development, the one and only job that keeps popping up in my life no matter where I go and what I do. A profession which I could spend a lifetime practicing, a profession which is intertwined with the person I am.

I tried many times to make a weekly habit out of writing these gamedev related post, but I failed miserably Roll Eyes.
Now I’m going to have a lot of time to try it again, so expect my next post soon SmileyWink!
Best regards.
Logged

Spidi
Level 1
*


View Profile WWW
« Reply #39 on: November 14, 2016, 09:20:30 AM »

Hello everyone.

I decided to do a small update for Operation KREEP and to change the "scenery" a little, last week I took a little more than two days off from the development of Unified Theory and made it happen. Thankfully my estimations were correct and the updated builds are ready to be delivered to various stores (and yes it is indeed a tiny update only). Preparing all the marketing materials for this update (trailer, announcement texts etc...) is going to take a few days so I'm guesstimating, the release will happen somewhere around this weekend or early next week. Until than, I'm going to continue working on the Alpha build of Unified Theory too parallel since I've made significant progress on the visual presentation of it in the last couple of days (a post with fancy pictures coming in a few days Wink ), but the focus currently is definitely the "marketing experiment" of the KREEP 1.2 update.

This time I'm going to dive into the technical details of the update, its design and the reasons why I decided to create it even though imposing serious time and scope constraints on myself.

Level design

The 1.0 version of Operation KREEP featured 13 levels and the 1.1 update increased it to 17 arenas. With this update I'm bumping that number up to 20, so adding in 3 extra. Even though this sounds like a relatively small number, from the beginning I went for quality over quantity with the design of the maps. My goal was to make both mechanically and visually distinctive levels delivering the possibility of varying tactics and play-styles on a per-level basis. Adhering to this goal made each consecutive level harder and harder to design and thanks to it I made various mistakes too, but I think I succeeded and with this update I'm also delivering refinements and fixes to the old levels.

Just look at the first few levels how blunt and simple they were, but the overall picture is vivid, lively and seems to be full of surprises and varied tactics Smiley .

A little about the level fixes:
The most common mistake I discovered is choke-points and too enclosed larger rooms "favoring" the KREEP. If the players get close to defeating the KREEP but it ends up within a larger room with low number of entry points, it becomes close to impossible to purge it. There is a "solution" where the players let the KREEP spread out of the room/choke-point and can destroy it more easily when it is spread thin, but obviously this was a mistake from my side either by not making this obvious to the players or by allowing a situation like this to happen...
Here is an example of where the map named "Vessel" was modified to be more fair (sometimes less obtrusive modifications were enough tough):

6 previous maps were modified with various fixes while making the 1.2 update.

Fine-tuning

A couple of small modification got into the update related to accessibility and difficulty. These are changes which are not immediately obvious or visible for the end user but they do make the game better, more balanced and a much less hassle to play (e.g.: UI streamlining). A short list of what this covers:
  • Two new options on the "game-over" screen. Previously you could restart the match on the same level, with the same player setup and the same mutators (rule settings), or you could go back to the main menu to start a new match with a different setup. Now the new options allow to keep the player setup (because in a couch co-op you usually play with the same number of people after you first configured) and change the mutators or the level too for the upcoming match.
  • I modified the KREEP power levels just a tiny little, to make the last couple of seconds of a match even more easier/harder based on the outcome, so if the players are close to victory it is now easier to score, and if the KREEP is close to eat the whole map it becomes even faster.
  • I tried to make the "sudden death" mechanic play a bigger role in the game because I discovered, that some plays end up in a quasi stalemate situation, where players can not kill the KREEP effectively enough to destroy it (due to a lack of good tactic or PvP). Previously the KREEP got a speed/power boost when it reached 60% occupation of the level, but these stalemate situations kept the KREEP size just under it for long minutes easily, so I introduced a 2.5 minute timer to boost the speed/power regardless of the KREEP size, so a "stuck" situation will result in KREEP victory (yep I'm evil) instead of a long, grueling and probably boring match. I'm not really afraid of the negative implications of this modification since most matches tend to be between 0.5 to 1.0 minute and I feel 2.0 minutes is already a pretty lengthy play in this game (it is pretty intense and action packed). Of course the "No Sudden Death" mutator setting will disable this timer too!

Marketing

I talked multiple times about this update being a "marketing experiment". This means I'm going try to promote the game (or this update + the game) with close to as much time investment as with the Steam release. Besides the usual key mailing, I will try some new stuff too, focusing on the dark humor within it (funny poster, new logo/splash screen and Steam trading cards!). If it does not yield good returns it will not be a devastating blow on me, since both the update and the pr + marketing effort totals not much more than a week worth of work, so it is no biggie, but I really wanted to give a little more love + chance for the game to succeed, hence the phrase.

P.S.
While I was testing the new levels, my fiancée found one of the test cases fun to look at so I decided to record it as a bonus for this entry, because it is indeed fun to watch the KREEP sped up overtaking the levels Cheesy . Enjoy:




Br. and take care!
Logged

Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic