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
Hello!

So, basic boilerplate out of the way first. I'm a guy. I've never released a video-game, commercial or otherwise, and this is my first post. As it is my first post, nobody can see it except for mods, but which is fine, because I'm sure threads like these are a dime a dozen, and I don't expect anyone to take this seriously for a good long while, and I imagine most people assume I will fail anyways, so putting up a dev journal strikes me as inherently reasonable right now. At least, it can't make things any worse.

I'm starting development on my first videogame, and I want to have a thread where I post about it and my progress. It is a Roguelike project: Koldrunn. On the surface, my ultimate intention for this game is to create a new, major roguelike, which will ascend to the land of major roguelikedom, with many happy offshoots and other games inspired by it. But underneath, I also am aiming to structure the code in such a way that it becomes a natural shooting off point for an open world 3D fantasy RPG more or less in the same vein as games like Skyrim, etc.

No, no, it's all right. I'll wait for all of you to finish laughing before I continue.

All right, now that the laughter and mockery is behind us(for now, I suppose...), here are some basic features of Koldrunn(As in, desired features, not implemented ones.)

  1. Base the underlying RPG Ruleset and task resolution system off of my own personal expansion of the ARM: Advanced Roleplaying Mechanics Ruleset, which was created by the inimitiable R.E. Bridson. (My own expansion of the ruleset is called ARMcore, and has not been published.)
  2. Completely re-engineered class, race, and alignment system, as well as magic mechanics, from the ground up, with almost no overlap between the more traditional D&D based systems.
  3. Explicit combat initiation! No more simply walking into creatures in order to attack them! Likewise, expanded tactical combat! New and shiny explicit attacking, blocking, shoving, grappling, and grunting actions! Enhanced tactical possibilities!
  4. Permadeath gives way to Legacy Lines, where you may resume a game after death if you have offspring! Likewise, a robust romance and social engineering system.
  5. Integrated Social, Barter and Combat systems: Enemies may spare your life, if you're willing to accept certain... conditions.
  6. And Much More!

So, basically, you chase a figure from your past up 100 levels of a great tower. At the top, you meet the gatekeeper, and if he deems you worthy, then there are 4 Big Bosses for you to beat. If you manage to beat them and also meet certain conditions, then you unlock and get to proceed through 3 final chambers, where there are even bigger fatties for you to beat. And then finally you have a meeting with the figure from your past and a closing scene that resolves the mystery at the beginning.

I will be posting elsewhere on the forum, as well. Not *just* posting a dev journal. I also want to be a member of the community, too. But I wanted to get this thread out of the way. Expect me to update this thread with my progress on a... semi-weekly basis?

Well, we'll see.
 

Catacombs

Arcane
Patron
Joined
Aug 10, 2017
Messages
5,928
Sounds interesting. I would be interested in the code you're using to develop the game. What languages are you thinking?
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,003
Location
USSR
Likewise, a robust romance and social engineering system.
You're going to have to be a little bit more specific. How do you see romance in a roguelike? Is it a mini game? Is it a roguelike itself?
 
Last edited:

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Catacombs. Right now, the Roguelike just uses C++ and Ncurses. Later on, I want to basically swap out the Ncurses for SFML and OpenSceneGraph. The current code basically has every object render itself in immediate mode using ncurses library calls. I figure that these functions can be swapped out for ones that update a scene graph pretty easily with no large scale codebase changes, and all Ncurses initialization is done in a single method which can easily be swapped out for a single SFML initialization function.

Bester and hello friend , So, the romance system is based off of three principles:
  1. Lust -- Basically physical attractiveness. Females have the edge on this point.
  2. Protection/Provision -- Basically, what you can provide or if you can protect. Males have the advantage here.
  3. Intimacy -- how close you are to a person in terms of things they tell you. You can't just walk up to people and expect them to tell you their life's story. You have to prove yourself trustworthy through the other two points, various other things.
Actual implementation of these three principles, however, will have to wait for later. Need to get just the basics down first.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,003
Location
USSR
Right now, the Roguelike just uses C++ and Ncurses.
I also am aiming to structure the code in such a way that it becomes a natural shooting off point for an open world 3D fantasy RPG more or less in the same vein as games like Skyrim
Unless you write your own 3d engine, which is obviously instanity, your architecture will have to change drastically depending on 3d engine. So most of your code will be thrown out the window.

You have to prove yourself trustworthy through the other two points, various other things.
So, procedurally generated quests?
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Bester , Well, I'll just have to cross that bridge when I get to it, I suppose. As for procedurally generated quests, no, I don't think so. Having quest systems is too artificial, and it's too difficult to really have a lot of variety and naturalism. I'm thinking I'd like to try something else. Maybe extending the combat system to incorporate other types of activities?
 

Mastermind

Cognito Elite Material
Patron
Bethestard
Joined
Apr 15, 2010
Messages
21,144
Steve gets a Kidney but I don't even get a tag.
*never made a game in his life*

"Hey guys for my first project I'm gonna mix Daggerfall with The Sims, what do you think?"

Make a shmup or tower defense game from start to finish then worry about roguelikes with advanced social interaction.
 

Wayward Son

Fails to keep valuable team members alive
Joined
Aug 23, 2015
Messages
1,866,294
Location
Anytown, USA
I don’t tend to like to say this, but I kind of agree with Mastermind here. With something this complex, you might burn out early on, which I never want to see (more people finishing their games gives me more entertainment and reference material :P). Personally I’d start with like he said, simple shit so you become proficient with the libraries and languages you’re using. However if your heart is set on it, then go for it. At the very least your project is ambitious, even if a little too much so imo.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,003
Location
USSR
I think burning out and understanding what it is and what causes it specifically for you is an important lesson for success later on.
 

Mastermind

Cognito Elite Material
Patron
Bethestard
Joined
Apr 15, 2010
Messages
21,144
Steve gets a Kidney but I don't even get a tag.
I think a less ambitious project will give you a better idea of what it takes to make a game. Not properly planning even a medium complexity game will turn into a nightmare later on.
 
Joined
Mar 16, 2016
Messages
450
Since he is novice i doubt he can design shit. Can as well just make prototype and refactor it later on. As for less ambitious projects - he is not trying learn here, it's some kind of passion project. In such case it's better start coding right away doing features you want the most first.
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Hello, friends!

It's been a productive week. Time for an update on my progress. So, the code base is coming along fairly nicely... I've saved time by not implementing a build process using makefiles or cmake or similar. This means that the game is currently not portable, as I have to actively invoke g++ with the proper compiler flags for my system to get a running executable. I've also saved time by in general organizing everything within only one header file, kolldrunn.hpp, and one source file, kolldrunn.cpp. Modern computers compile code very fast anyways, so I don't really have to worry about multiple headers and sources until the codebase gets TRULY huge. So that's nice.

Here is a short gameplay video I've uploaded to demonstrate what I have so far:



Not bad, eh? Currently implemented is:

  1. Level traversal and Dungeon generation
  2. Some basic functional character creation screens
  3. basic item pickup (though inventory system is not yet complete)
  4. Insertion of monsters into the level
Quite nice, if I do say so myself! Though, there are some issues. First, monster behavior is very buggy. In the video, you see an 'M' standing perfectly still on the map. The monster is supposed to move randomly over open nearby tiles, but sometimes it will freeze like this. Other times it will move about a bit, and then freeze and stop moving. Don't know why. But I'll figure it out.

Some other cool things to note are the stairs!
  1. Stairs going up and down are represented by a single glyph: '/'.
  2. Going up stairs or down depends on whether you move onto them from the left or right!
  3. In the game, you can easily go up all the levels right from the very beginning, if you'd like!
  4. Though, you'd best be prepared for the consequences... lol.
I have a ton of refactoring, debugging, and general code cleanup to do before I add any more features on top of what I've already done, so I'll probably wait two weeks before my next update. Sorry about that, but you can't rush quality, you know. :3

Oh! I also already have the base stat system up and working, but I don't have the GUI up yet, so that'll have to wait for the next time I post here. Hopefully I'll be able to comment on all of your other threads, too, soon!

If you have any questions, please ask, and thanks for following along! :D
 

Catacombs

Arcane
Patron
Joined
Aug 10, 2017
Messages
5,928
Any plans to release the code? I've been teaching myself C, and I'm curious to see how a game like this is created through the code.
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Catacombs , Sure, if I can get the initial feature set of the game that I want implemented, then I've no problem with releasing the code. Having said that, it'll likely be a while before that happens, lol. But we'll see.
 

Catacombs

Arcane
Patron
Joined
Aug 10, 2017
Messages
5,928
Catacombs , Sure, if I can get the initial feature set of the game that I want implemented, then I've no problem with releasing the code. Having said that, it'll likely be a while before that happens, lol. But we'll see.

All good. I'll be on the look out!
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
so as to avoid circular dependency hell, and all that.
Forward declarations.

Yes! :D

Plus some other things. I group classes together in reverse order of dependency( less dependent items above more dependent) , and only use forward declarations above classes that store pointers to, but don't call methods or access internal data objects of unknown definition.

I also store methods in the source file in strictly the same order in which they are declared in the header, and define static members always directly above the constructor of their owning class. Likewise, defines and other preprocessor directives are always placed directly above the first object which has methods which use said define in the header.
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
UPDATE:

Hey everyone! Sorry for going ghost on you guys like that. My development was derailed because I am participating in the illustrious nation wide Illustrator's of the Future Contest, by the L. Ron Hubbard foundation. It's a national contest whereby participants submit 3 works depicting sci-fi and fantasy material, and it attracts the best of the best of the best. I originally had intended to finish my entries by the end of March, so as to enter the 2nd quarter of the competition. But I missed the deadline, and so I basically ended up having to put everything on hold and rush so as to meet the 3rd quarter deadline. I will be finishing up my submissions and submitting them to the contest by either the 22nd or the 24th of June. And then, after a brief resting period, will return to my video game project with some goodies. :D
 

Druidpeter

Literate
Joined
May 19, 2019
Messages
20
Due to contest rules, I can not post them anywhere until after the embargo period has passed, but I definitely will once that has happened! :D
 

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