Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Starting Development on First Game (Dev Journal)

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
All right! So, it's time for another status report. After I completed my entries to the illustrator's of the future contest, my hands were in very bad shape. I had to rest for a minimum of a week, and even then, working on code was slow going, due to other responsibilities. I have injured hands, and the sheer amount of effort I put into the contest really set them back a bit.

As if that wasn't enough, I also started drawing too soon again, as well as jumped into graphics work before I was 100% ready, and this too has cause a bit of a setback. Nonetheless, work on the code base is progressing, and so to prove that I don't have absolutely *nothing* to show for myself, here are some candle mason jar bottle labels that I designed as part of my work:

Hmm. Can't seem to upload images. Odd. How do I do it?

Now then, I shall speak no more about it. I've cleaned up a lot of the earlier code, and need to refactor one last aspect of the level traversal system, as the game segfaults when going up or down a level. I know why this is. Basically, I associate and load/unload a quadtree with each newly generated level. The quadtree holds lists of objects in leaf nodes that roughly correspond to monsters, items, features of interest, etc. I'm incorrectly storing and restoring pointers to the root of the quadtree, hence the segfaults. Oh! I also have some refactoring to do with npc ai and stuff, but really I barely implemented the early version of npc ai, so it probably counts as adding new functionality any way.

Now then, I'm looking at the end of the month to showcase what I've got. This next upcoming showcase of the game will be the last that doesn't have a build system, and the next release after this upcoming one will be the first that you guys will be able to download and play. (Well, sort of. It'll be Linux Binary only, at first.) And then, the release after that one, I'm thinking I'll also release the source code for anyone curious to peruse.

So... see you guys in August.
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Well, it's been quite the development cycle, for sure, I'll say. Development leading up to this 2nd update got derailed by my participation into a nation-wide art contest called the "Illustrator's of the Future" contest. A good friend of mine, QueenofEagles, participated in the sister contest, the "Writer's of the Future" version. These are large, prestigious contests, and they attract international top artistic and writing amateur talent. With this understanding in mind, I ended up really doing everything I could for this competition. If I was going to participate, I was going to leave no stop unpulled, and hence ended up not really doing much on the Kolldrunn development front.

But... with the conclusion of my entries, and with some few weeks of resting and icing my hands, I was able to get some development done on the Kolldrunn project. What follows is a video of my progress:



As you can see, things are looking considerably more roguelike! I now have implemented persistent level traversal, as well as scrolling viewports. Further, the monster functionality has been much improved and fleshed out. If you watch the video, you'll see that at first the level is pretty much empty, except for the player, but that as the video progresses, more and more 'c's start to emerge. This is because I have implemented proper spawning mecanics so that monsters spawn over time into the level. Right now, only a generic entity called npa, or Non-Player Actor, spawns in, and it pretty much just moves around at random.

Oh! You also can see on the screen a basic stats box with your name, gender, race, and class, plus basic stats. This stats panel will be fleshed out with status conditions, an in-world calendar, other types of stats, affinities, resistances, etc. Finally, we have the chatbox and the journal. You can think of the chatbox as displaying sound effects and dialogue from yourself and anything else within earshot and that makes sounds. This will definitely be game-play relevant, as I will describe in later updates.

The journal, on the other hand, is meant to display a 1st person description of what you, the character, encounter and react to through your great adventure and quest. Further, it is meant to do so in a running narrative style, as if an author were writing a book. Doing something like this is...usually considered very complex. And don't get me wrong, it probably will take a while. But I'll be saving time by augmenting and overloading objects' render functions. This is actually a good idea, because it keeps all immediate visual output to the screen, even if that output takes the form of a written journal, more or less along the same rendering pathway in immediate mode. This will save oodles of time when it comes time to switch to 3D stored mode graphics.

Now then, I've still got to implement item usage, menu systems, and a whole bunch of stuff. But instead of leaving with this post, I think that this would be a good time to expand upon precisely what sort of features I want for this game. So first, the basics:

  1. Vast, VAST levels. Far vaster than even DCSS. These levels, as you can see in the video, are already HUGE, but they're going to get even bigger. Like, a lot.
  2. A slightly more realistic emphasis on survival game-play elements and carrying capacity. Early level characters who are physically weaker(and hence lighter), will actually be able to carry more than early physically strong characters. As characters level up, however, physically stronger characters will eventually be able to carry much more. All characters will eventually approach an upper limit of carrying capacity, however. Likewise, basic needs mechanics are definitely in.
  3. Definitely going to be going the loverslab route and include hunger, sleep, thirst, urination, defecation, social, and fornication needs. Having said this, I've got a special approach for integrating them into the gameplay in a uniquely immersive and unobtrusive manner. NPCs will also have some additional needs internally which, hopefully, will make them act a bit more naturally.
  4. Again, I want explicit attacking, blocking, grappling, and throwing actions, so as to increase tactical combat possibilities. I'm also going to be including some explicit actions on the social side as well. And while the list of which social actions I want is yet to be finalized, some of them are definitely a go. In particular, I'm going to be including an explicit "ignore" action.
Now then, let's go over the items system that I want to implement. In the spirit of creating something truly worthy of being called a new major roguelike, it is a new, custom system uniquely it's own:

Items are divided up into 7 major categories:

  1. Clothing & Armor -- These items affect armor rating, encumbrancevalues, thermal retention, status values, and attractivenessvalues.
  2. Main Brandishments -- This includes most main weapons andshields, as well as large implements. It includes bladedimplements, constructed shields, items which may be used for magicinvocation (orbs), as well as large tools. (Torches, Shovels, et al.)
  3. Comestibles & Elixatives -- Basically, food and potions. Thoughthis also includes salves, elixirs, balms, drinks, most imbibables,or anything which may be applied to the body, such as compresses,bandages, etc. Most items of these types affect status conditionsand also status values (Though, most everything affects statusvalues). They typically do not have effects on the outsideworld. Just the applicant. There are two main exceptions in the Talking potions and the Elemelons. But more on those later.
  4. Trinkets & Baubles -- These items have little practical utility, but do affect sentimentality and status values. Money also falls under this category.
  5. Documents -- This includes letters, deeds, titles, identifying documentation, postcards, pronouncements, posters, and all other things of the sort. Also, runes, which are magical spells attached to documents, fall into this category.
  6. Implements -- Implements are small tools. Things like lockpicking kits, chisels, scalpels, caltrops, lanterns, harnesses, flint, etc. They typically have specialized purposes, but are useless for most forms of main combat.
  7. Bags, Trunks & Containers -- Items which are capable of storing other items. Very important, as without them, most normal entities can't carry much.
  8. Materials -- Materials are resources that, when refined, can beapplied to other items so as to modify them in some way, or that inthemselves can be used to craft other items. Basically, thecrafting system.
Unlike other crafting systems such as in Minecraft, Kolldrunn has a very flat possibilities tree. That is to say, there is a relatively small amount of base materials,and a very small set of valid combinations of materials. There is, however, a very large number of ways in which any particular material or combination of materials may be processed. This is intended to keep the crafting system light and unobtrusive in the main gameplay. Crafting is not meant to take up a significant amount of your time. The game *is* a roguelike, after all.

A WORD ON THE UPDATE SCHEDULE

So, originally, I thought that I was going to post to this thread on a semi-weekly basis. But while I will continue to make progress with the codebase, I'm not really very good at providing timely updates. So you can probably expect updates more or less monthly. Also, if you don't hear anything from me in a while, don't worry. Because when I do update, you can usually expect significant progress in the report, or an announcement that a large update is coming.

Also, I have revised my versioning schedule. From now on, the game versions will be in the form v0.Xa, where X is between 1 and 12 inclusive. Versions v0.1a-v0.10a are going to be major feature set implementations and update releases. You should see significant changes between these alpha versions. versions v0.11 and v0.12 are going to be documentation, bugfixing by the developer, and build system updates. These two versions are important so that I can hunt as many bugs as I can find personally, update and ensure the code documentation is clean, accurate, and comprehensive, and so that I can get the build system as portable as possible so that you guys can download and build the source on your own machines.

Finally, after v0.12a will come version v1.0.0B, where B is the Beta build. I'll be asking for people to help play test the game, give feedback, and report bugs. After incorporating bugfixes and minor feedback changes, I'll release version v1.0.0 source code on Github, and hopefully do whatever else needs to be to encourage major roguelike status.

That's all for now, folks. See you in... October? Maybe?

OH YEAH!!! I forgot to add the image of my candle jar labels that I designed for the etsy store I'm opening with my girlfriend in my last post. Here's the proofing sheet:

Hmm... So, I uploaded my image to imgur and put in the link. But... still doesn't work? Oh well. Just click the link if you want to see it.

https://imgur.com/a/0ZBs132
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom