GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - A Lode Runner Story Page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
View previous topic :: View next topic  
Author Message
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Sun Dec 22, 2013 2:36 pm    Post subject: Reply with quote

Lately, I've been touching up some of the finer points of the game. I tweaked the controls just a little bit, making the up/down movement keys initiate left/right movement if you're facing sideways. If you're running to a ladder and you switch to the up key prematurely, the game will interpret "up" as meaning "I want to keep running until I reach that ladder." To an extent the game already did this "auto aiming," but previously you had to be touching the ladder already. I'm trying to make the controls feel as responsive as I can, and I think this will especially help with gamepads, where you could very easily slip from "right" to "up" on the d-pad inadvertently, or prematurely, while running from the bad guys.

I also added a minimap to the game a little while back:

Minimap


The main menu has a map screen that lets you fast travel to town areas, but sometimes you just want a quick look at where you are without hitting up the pause menu. in the image above, the gold areas designate levels that you have completed (collected all of the gold). (I've got to do a little work on the readability of the town names!)

A couple of days ago I finally finished adding gold, enemies, and enemy respawn points to all of the levels in the game, and now I'm beginning the process of making sure you can collect all of the gold in the game.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Sun Dec 22, 2013 3:20 pm    Post subject: Reply with quote

I love the color palette, but that looks a bit visually noisy. It's getting hard to discern everything that the level contains in one glance.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Sun Dec 22, 2013 7:54 pm    Post subject: Reply with quote

Is it the background layer that clashes a little bit when you look at it, Gil? (The minimap isn't a permanent part of the display, of course.)

I should include some configuration options for that background layer, even if they're stuffed into a manually edited config file. A player who had a harder time seeing the level could edit it down a bit (or hide it altogether), or vice versa. I'm going to add a character to the same that comments on that setting, too. Awesome.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9328
Location: Not Finland
PostPosted: Sun Dec 22, 2013 8:04 pm    Post subject: Reply with quote

Quote:

Is it the background layer that clashes a little bit when you look at it, Gil?


Yeah, I think that's it. Perhaps you could push the background from red toward brown, so it blends less?

Seeing the game in motion, it might not be a problem at all. But you know how screenshots are... heh.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon Dec 23, 2013 12:36 am    Post subject: Reply with quote

I don't think it's the background layer actually. I think it might be more that the tiles themselves are a bit visually noisy. I'm not sure though, just a gut feeling.

I'd have to see it in motion and play it to be sure. If you don't feel like what I'm saying affects the game, disregard it :)
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Sun Dec 29, 2013 7:51 pm    Post subject: Reply with quote

I recently finished a complete run-through of the game's non-quest-related single player content, collecting all of the gold and finishing all of the special levels. My testing process found 20 of 30 inaccessible gold pieces, a few of the challenge levels had scripting bugs, and still others felt too hard.

This means that the single player mode is approaching a "content complete" state. I need to make some small additions, and I also plan to incorporate a minimal achievements system, but from top to bottom it looks pretty strong now. After some much-needed tweaks to the input handling, the game is controlling really smoothly now.

At the end of my recent run-through, I had a level 38 character. The game has 6 skill trees with 3 levels of each skill, meaning you can only spend 18 - 24 skill points throughout the entire game. Leveling up beyond that point doesn't have any particular value (currently), so I'll need to spend some time figuring out an appropriate rate of XP intervals for each level. I don't need to make it "perfect," but I don't want level 50 characters running around a game where levels stop meaning anything after level 25... it'd devalue the idea of leveling up, take away some of the reward / incentive for players to finish levels.

On a finer note, I updated the "press enter to ..." popups to type out "press button 1 to..." if the player most recently used a gamepad device. Whenever you use the keyboard or a gamepad, the game makes a note as to which device you used more recently. When the game needs to render one of those "press x" dialogs, it checks that flag to determine which text has the most relevant for you.

We're just about ready to finally jump back into the cooperative side of things, sometime during the next week or so. I only have so many remaining tasks that I can tend to, such as playing around with the background color levels and such, perhaps.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
DBAce9Aura
Contributor

Joined: 24 Feb 2009
Posts: 351

PostPosted: Mon Dec 30, 2013 6:19 am    Post subject: Reply with quote

The only suggestion in regards to EXP is incorporating some sort of EXP Bonus system where collecting gold within rapid succession (or something along those lines) will increase the EXP gained from missions (since this is partially based on Deus Ex's mechanics). Also, getting killed and reloading would result in a penalty (might need to find a way to make this not annoying and not apply to loading other games after getting killed).

Just a little something I feel will help the game stick to the more arcade-like nature of Lode Runner while helping it trek into the Lode Runner meets Deus Ex territory you seem to be striving for.
View user's profile Send private message Send e-mail AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Tue Jan 07, 2014 6:38 pm    Post subject: Reply with quote

DBAce9Aura wrote:
The only suggestion in regards to EXP is incorporating some sort of EXP Bonus system where collecting gold within rapid succession (or something along those lines) will increase the EXP gained from missions (since this is partially based on Deus Ex's mechanics). Also, getting killed and reloading would result in a penalty (might need to find a way to make this not annoying and not apply to loading other games after getting killed).


I think at one point I had a similar idea, where I would add in some extra EXP if you completed a level without dying. IIRC I chickened out due to concern about the interplay with loading/saving games, or something like that.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Tue Jan 07, 2014 6:47 pm    Post subject: Reply with quote

I finally got the game back up to speed on the windows "operating system." Between knocking that out down and the new year and stuff, I haven't shot out of the gate at full speed this year.

With a properly functioning setup for both platforms, I'm in a better position to test the netcode's performance. I'll hopefully get a start on that sometime during this week. I spent some time tweaking the code to theoretically hide small amounts of lag from the player.

I also adjusted the level-up logic, allowing each story mode to define its own minimum experience requirements for each level. The quests got the same treatment, with simple quests (the first quest is just to find someone and talk to them) giving you low XP and the more complicated quests raking in a lot of XP.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Sat Jan 11, 2014 6:47 pm    Post subject: Reply with quote

We had a successful test of the cooperative mode this evening. I'll need to spend a little time polishing up a few rough edges, and I still only have a couple of levels for testing, but it went very well for a first run.

On a side note, I did adjust the color balance of the background layer to skew towards brown. No screenshot, but I can see that it makes it easier to rapidly identify the background as "noise" rather than "signal," if you will.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
I_are_n00b
Member

Joined: 12 Oct 2005
Posts: 88
Location: Houston, Texas
PostPosted: Mon Jan 13, 2014 11:18 am    Post subject: Reply with quote

How can I get in on some of this testing action?
_________________
http://www.optionalquest.com
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Mon Jan 13, 2014 6:11 pm    Post subject: Reply with quote

I_are_n00b wrote:
How can I get in on some of this testing action?


I sent you a PM.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Jan 17, 2014 6:46 pm    Post subject: Reply with quote

I added the "continue game" feature today. Whenever the game saves during the story mode (or in theory any story mode), it saves to file the path of the save (typically an autosave) and the level set you're playing through. Meanwhile, the main menu checks for the existence of such a file. If ti doesn't find it, then it preemptively "hacks" into the menu's xml and removes the "continue game" option before creating the appropriate menu screen. it works, too, which is a plus.

I added audio controls to the game. For once in my life I went beyond a simple "on/off" setting, allowing you to adjust a slider instead. To save the changes, though, you have to deposit 5 pieces of gold from your last known save game.

I've gotta fix a small crash bug on the cooperative mode. Basically I forgot to add in the "next level" parameter to the first level, and the game decides to crash when it can't find the reference. The levels need to have those parameters in them, but the game should also do something more friendly than crashing to the desktop as a fallback.

The main game now has a couple dozen "vending machines," that's what I'm calling them, where you can load up on bombs. It works just like talking to an NPC, except you're talking to a vending machine. Getting them online took a little bit of wrangling. Because each machine operates in the exact same fashion, I figured I should define a global script and import it on the fly. When you visit a map, the onload script searches for any known vending machine. If it finds one, it has to load both a global script (used to initiate the shopping sequence) and a global conversation file (shopping for bombs is technically no different from any ordinary conversation, codewise). I fumbled around with the cards in that house for a little longer than I'm comfortable admitting.

I like that I'm getting this stuff done, but I'm not getting it done very efficiently. Most of these jobs are pretty uninvigorating!
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Jan 31, 2014 5:47 pm    Post subject: Reply with quote

I've been making minimal progress on this over the last couple of weeks.

I did finally decide on how to let the player enter their name in the game. It is a fairly organic approach, which is nice and healthy. I did a little bit of a touchup on the cooperative mode, taking the lag correction code I use for enemies and duplicating it for fellow players. You can also dig while standing on top of another player's head now.

At some point I'll get back into gear and take care of a handful of remaining minor bugs in the cooperative mode, then craft a modest set of levels for that mode. At some point!
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Feb 07, 2014 6:16 pm    Post subject: Reply with quote

I'm continuing to plod forward, slowly but somewhat steadily.

This evening I added in dynamic tilesheet loading for each level set. I doubt that I will make extensive use of this feature, but I wanted to include it in case I decided to create new level themes for DLC content. With the new system, a level pack can specify a custom tilesheet to use in place of the default tilesheet. The game doesn't have to have loaded the given tilesheet at runtime.

I cleaned up a few bugs in the cooperative mode as well. The game now properly remembers your nickname and your player colors, so you don't have to redefine those every time you start a new game. Also, the game browser now checks to make sure you have the level set that the host is using... if you don't have it, you have to download it before joining. I need to spend just a little bit more time polishing a couple of minor UI issues, but overall the cooperative mode is looking really great! :)

The "continue last game" option now lists a little tooltip listing your character level, etc. from that last game, just as a refresher. These, the thrilling parts of working on a game that's far closer to done than not, I guess!
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Feb 21, 2014 6:03 pm    Post subject: Reply with quote

I finally found a dose of motivation and used it to work on the achievements system.

In my previous Errro game, I had challenges on each level. For performance reasons, I would process only one challenge at a time, can't remember if I ran one per frame, one per second, something like that. This time, though, I decided to implement a simple "hook" system, whereby upon certain activities I will execute the hook (e.g. player collects gold, player completes level, etc.), and any achievement that has a potential relation to that hook will evaluate the state of the achievement.

Each achievement, then, contains one or more scripts (using the scripting engine I put together for the core gameplay itself), each one monitoring to see if and when you complete an achievement. One of the achievements requires you to collect 100 pieces of gold, so it simply adds a script to the "collect-gold" hook; whenever you pick up a piece of gold, the game runs that hook. If the associated script observes that you have collected your 100th piece of gold, it will flag the achievement as complete.

I also placed the state tracking for these achievements in a global user / config directory, as opposed to tying them to any particular save game file. If you finish the game but only complete 10 of the achievements, then no doubt you shouldn't have any need to redo those same achievements. That'd be pretty lame! When you start a new game, the application checks that global file and preemptively flags the previously completed achievements as complete immediately.

Each of the achievements also has a special script dedicated to retrieving the status of the achievement. The collecte 100 gold achievement, as an example, will construct a string "n / 100" so that you can monitor your progress in the achievements menu. (The script technically dumps the status into a temporary session variable because my scripts do not have the ability to return values. An oversight, perhaps, but this is the only scenario where I would utilize a return value, so I don't consider it an issue for this game.) This "get the status" scripting approach makes generating the status line very convenient, as I do not have any need to fuss about with a dozen different flags to define whether or not an achievement has a counter, tracks this data type, that data type, etc.

Currently I have a list of 25 achievements, and I think I will probably hold at that number. I want to add enough to keep people engaged, but I don't want an intimidating (excessive) bunch of them, and I wouldn't want so many that you're completing achievements every time you turn around. They wouldn't really be very special anymore if that happened...
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Alex
Developer

Joined: 05 Sep 2005
Posts: 1159

PostPosted: Sat Feb 22, 2014 9:55 pm    Post subject: Reply with quote

I like reading these. Seems like you're in an advanced stage of development where you go around to random parts that need adjusting,etc.. Maybe I'm wrong since I've never been there, but it sounds interesting.
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Feb 28, 2014 4:08 pm    Post subject: Reply with quote

Alex wrote:
I like reading these. Seems like you're in an advanced stage of development where you go around to random parts that need adjusting,etc.. Maybe I'm wrong since I've never been there, but it sounds interesting.


That's a good description, I think, but part of it too is all of the small things that I neglected along the way because I didn't want (or need) to execute them at the time. Works great until you get to the last corner of the room and you have a big pile of things you didn't want to do. :)
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Fri Feb 28, 2014 4:13 pm    Post subject: Reply with quote

I've added the majority of the achievements to the game. I still need to test a number of them, but most of the testing is pretty straightforward.

While doing a playthrough I found a rare crash bug relating to entity movement. I tried very much to reproduce the crash bug by just playing the game, I loaded up the exact level it happened on and I tried to do the same exact thing I did when it crashed (as best as I could remember to do), but I couldn't reproduce it a single time.

After failing with that approach, I followed the original crash's stack trace and managed to reproduce the crash programmatically. This basically involved explicitly placing the player character at a precise location, setting a couple of movement properties (last movement on each axis), and then making a "move down" call on the player. Once I had the means to reproduce the bug, I applied a minor fix and validated that the bug no longer existed.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Tue Jun 24, 2014 2:59 pm    Post subject: Reply with quote

I have not worked on this very steadily over the last few months, as you can see. I'd like to say that I wanted to, but I couldn't get into it. (Or anything else, that's how it goes...)

In the last few weeks I have taken care of a few things, though. Most of the stuff is low-level or tedious, but I did a little bit of level editing as well, taking the levels from my last Lode Runner game and porting them to this new game.

Before and After


Looks better now. Plays a heck of a lot better (better AI and controls, faster paced). Most of the levels are straight ports from the previous game's data files, though I did make alterations to a couple of the levels. I also had to add in player/enemy spawns and such things.

I think I've finally finished all of the menu screens now, too. I'd ignored a couple of "fluff" screens for a long time, e.g. the gameplay statistics screen. Simple stuff, but not really exciting to program. One of them is actually kind of neat though, I'll post it next time.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9328
Location: Not Finland
PostPosted: Tue Jun 24, 2014 4:40 pm    Post subject: Reply with quote

Dude, you've got to be really far into development at this point. How much content creation do you think you've got left?
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Wed Jun 25, 2014 6:51 am    Post subject: Reply with quote

Quote:
Dude, you've got to be really far into development at this point. How much content creation do you think you've got left?


Content creation is pretty much done. I have another set of levels I need to do "content editing" on (spawn, connecting levels in a sequence, etc.), and I also need to test the cooperative levels for solvability and fairness.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Tue Aug 26, 2014 6:07 pm    Post subject: Reply with quote

I reworked the DLC system to use zip files instead of downloading every file within a level set individually. I can't say I did this for any specific reason, but I think it makes sense to bundle as much as possible to reduce request overhead. It'll also make the downloads faster (although we're comparing 200KB to 900KB in most cases, not a big difference in the broadband era). Python has a reasonably nice little zipfile library that makes it about as easy as opening and closing a file handle.

I cleaned up some trivial menu issues, such as placeholder text on the save/load game screens, and I finally added a fullscreen flag into the options menu.

Each level set now has a release version. If you try to join a cooperative multiplayer game with another player, the game checks to make sure you're using the same level version. If you go to the level browser (dlc), your game will automatically detect which level sets are new, which are updated, and which ones you already have (fully updated). Let's say I release this game tomorrow (hahaha) and someone shows me a screenshot proving a piece of gold is unreachable, and they're right. It's cool that with the level browser, I could fix the level design bug, put it online as version 1.01, and then players could redownload the level files to correct the bug.

About 6 characters have no dialogue, so I need to script some stuff for them to say. Speaking of that, I also added support for "priority level" for the random lines of dialogue (nag messages). I can designate some message as higher priority, and it will win the "random" selection the first time you talk to the character. The other lines (tied at lower priority) will then cycle at random, once each. After the NPC says all lines, priority loses its meaning; the NPC will then make a truly random selection of all of the nag messages, ignoring unread status and priority. I have all of these 6 or so people to code probably less than 50 lines of dialogue, but apparently I needed to add that feature. Maybe I'll use it more in a future project...
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Thu Aug 28, 2014 9:36 pm    Post subject: Reply with quote

Don't act like you don't know what I'm saying!



Okay, so I'm going to have to fix the container sizes now, I guess. :)


_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1609
Location: Your consciousness.
PostPosted: Thu Aug 28, 2014 9:58 pm    Post subject: Reply with quote

mikedoty wrote:
Don't act like you don't know what I'm saying!
Die deutschen Texte sehen aus, als kaemen sie von einem automatischen Uebersetzungsprogramm. ;) (... had to write ae instead of &aauml; and Ue instead of Ü as the board software does not seem to allow those characters when typed in directly)
_________________
0xDB
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - A Lode Runner Story Page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Game Developer's Refuge
is proudly hosted by,

HostGator

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.