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.

Vapourware Codexian Game Development Thread

Gandalf

Arbiter
Joined
Sep 1, 2020
Messages
766
I consider myself a humongous failure at going solo dev.

I've designed most of the game, with over 30 pages of formulas and concrete game design info. I'd say 90% of the game design/RPG system is in, at least the foundational, hard stuff is in. Adding mechanics on top is easy now.
I've spent 2 years coding all the tools, so I have a world editor, which is pretty complicated and does a lot of fancy shit, an item editor, a mob editor, and a bunch of other editors. They're not just editor extensions in Unity, they're standalone and allow for non-technical users to work in them, without ever installing any shit at all. Other than the quest editor, I'm done with the editors.

I have a custom engine, by the way, which was certainly a big mistake.

I have coded the movement, inventory, equipment, communication, battle logic, ability logic, buffs, and some other minor stuff for the server. It's all replicated to the client. The client displays it all.

But I'm not even half way there. I didn't fill the world with anything. There's a shitload of mechanics still necessary to be coded in. And I'm tired, I can't look at it anymore. Whatever enthusiasm I felt, and it was a great one, has evaporated a long time ago. I look at it, and feel nothing but exhaustion. I haven't touched the code in almost a year now. I can't bring myself to.

And at the same time, I know time is running out. AI will start doing all the shit that I did, and will render all my efforts useless.

I have enthusiasm for other projects, but I know if I start them, I'll burn out years before release and then it'll be the same thing. Also if I start a new project, this'll be really it for the old one. And I can't bring myself to say it's over. So I'm paralyzed into doing nothing.

I feel like I'm a big fucking pussy. Men should have more control over their actions.
Making a complex RPG as a solo dev is kind of crazy. Yeah, you're such a pussy to not be able to make a work of a game studio on your own...lol. You've made things, you should be proud of yourself! Game dev is hell.

What kind of perfect dream RPG had you in mind?

Maybe it wouldn't be a bad idea to use the tools you've already have in stone and design & make a new, smaller game with them?
 
Developer
Joined
Oct 26, 2016
Messages
2,284
If you haven't worked on your project in a year and you're still feeling sick at the sight of it, then just call it dead and move on. Sucks to admit you failed, but it's better than pointlessly spinning your wheels.

With that out of the way, take the tools and knowledge you have and come up with something new that you can actually complete in a reasonable amount of time. Don't try to make the biggest fucking thing ever... figure out the core gameplay loop, write down all the features you want, and then cut everything except what is absolutely necessary for the concept to work. Then you're ready to start.
I think this is really solid advice. I think sometimes I have bitten off too large a project, for what little time I have available. If I keep going at the current rate it will be many years before I release. I would probably in hindsight prefer to release something smaller than have this drag on another 7 years. And although this project has taken 7 years so far, if I was working full days everyday it would probably only be 1 year of solid work, so maybe not as bad as it seems.

And also ultimately I am not in a terrible position to pivot to a smaller project.

Yes I will lose 50% of the work or more but some can be transferred and the lessons learned will always be there.

That would be the best advice Bester I can think of. Are you in a position to pivot to a smaller project, and can you reuse at least a portion of the work?
 
Vatnik
Joined
Sep 28, 2014
Messages
12,176
Location
USSR
Maybe it wouldn't be a bad idea to use the tools you've already have in stone and design & make a new, smaller game with them?
Are you in a position to pivot to a smaller project, and can you reuse at least a portion of the work?
It was already an N-th iteration of the design, designed to be the smallest possible. The only caveat is that...
it's an MMO.
 

Agesilaus

Antiquity Studio
Patron
Developer
Joined
Aug 24, 2013
Messages
4,509
Grab the Codex by the pussy Codex USB, 2014 Steve gets a Kidney but I don't even get a tag.
Agesilaus

Are you still working on any game?
Yes and no... I decided to put aside my remake of one of my favourite late 80s games (which in turn was why I put aside my ancient Greece game, to improve my skills/familiarity with the tools), and I have been focused on making a final edition of my choose your own adventure philosophy book. So if a choose your own adventure book is a game, then yes.

I finished the manuscript on October 1st, about 70k words, but am now revising and editing it. Will publish it in a couple of months I think, then return to that 80s project. If anyone wants to read the first 10 pages or so of the manuscript and tell me their thoughts, it would be much appreciated of course.
 

Abu Antar

Turn-based Poster
Patron
Joined
Jan 19, 2014
Messages
14,194
Enjoy the Revolution! Another revolution around the sun that is. Shadorwun: Hong Kong Divinity: Original Sin 2 Pillars of Eternity 2: Deadfire Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
Agesilaus

Are you still working on any game?
Yes and no... I decided to put aside my remake of one of my favourite late 80s games (which in turn was why I put aside my ancient Greece game, to improve my skills/familiarity with the tools), and I have been focused on making a final edition of my choose your own adventure philosophy book. So if a choose your own adventure book is a game, then yes.

I finished the manuscript on October 1st, about 70k words, but am now revising and editing it. Will publish it in a couple of months I think, then return to that 80s project. If anyone wants to read the first 10 pages or so of the manuscript and tell me their thoughts, it would be much appreciated of course.
Gotcha, so Siege of Plataea is more or less dead?
 

Agesilaus

Antiquity Studio
Patron
Developer
Joined
Aug 24, 2013
Messages
4,509
Grab the Codex by the pussy Codex USB, 2014 Steve gets a Kidney but I don't even get a tag.
Agesilaus

Are you still working on any game?
Yes and no... I decided to put aside my remake of one of my favourite late 80s games (which in turn was why I put aside my ancient Greece game, to improve my skills/familiarity with the tools), and I have been focused on making a final edition of my choose your own adventure philosophy book. So if a choose your own adventure book is a game, then yes.

I finished the manuscript on October 1st, about 70k words, but am now revising and editing it. Will publish it in a couple of months I think, then return to that 80s project. If anyone wants to read the first 10 pages or so of the manuscript and tell me their thoughts, it would be much appreciated of course.
Gotcha, so Siege of Plataea is more or less dead?
Yeah, for about a year I would say. My current plan is to publish the book this year, do the 80s game remake to work out my game dev muscles, and then return to Plataea.
 

Agesilaus

Antiquity Studio
Patron
Developer
Joined
Aug 24, 2013
Messages
4,509
Grab the Codex by the pussy Codex USB, 2014 Steve gets a Kidney but I don't even get a tag.
Actually, if you guys are feeling generous with your time would you mind reading this pdf and giving feedback:

https://easyupload.io/4w9xba

It's the opening scene to the text. I want to make sure the writing is painless and clear, because there's another 300 pages of it.

Edit: ffs the site deleted it, had to re-upload elsewhere.
 
Last edited:

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,305
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Agesilaus I still remember your character portrait from Ultima 7. (I just wrote and then deleted Final Fantasy 7. That's the default "7" game that comes to mind for me.) There was that forest kid who you had to go to so he could make a whistle or something for you. And during that scene, the kids gets embarrassed and turns away while he's making it, and at the time my 13-year-old mind imagined that the forest monkey kid was somehow using his thingy to make the whistle.

Why don't you share files via Google Drive or something?

Also, a choose your own adventure philosophy book? 300 pages? You might misremember how those books actually worked. They were absolute drivel, about 100 pages each (and a read-through might reach half of those pages), targeted at 12-year-old nerds. Do you have a target audience in mind? Are you hoping to make any money from this project? Planning to turn it into a VN maybe?
 
Vatnik
Joined
Sep 28, 2014
Messages
12,176
Location
USSR
giving feedback:
I'll do it, but don't get pissed off like many people do, it's subjective and I'm not a professional.
I want to make sure the writing is painless and clear, because there's another 300 pages of it.
I think it's clear from reading a couple of pages that you're going for a casual, easygoing style, but you have a tendency to use words that are more complicated than necessary. "Desired" instead of "wished for", "featured" instead of "came up", "unshackle yourself" instead of "break the chains". The easygoing style doesn't mesh well with the usage of words that you wouldn't use in a casual conversation. That said, it doesn't preclude usage of words that most people would have to look up in a dictionary. It makes writing more stimulating, sprinkle them around at the rate of one per page when you broach complicated subjects.

Don't reuse of the same words so close to each other, "signing up to online communities, eagerly discussing planned communities".

Don't use the 7 colors of the rainbow for description, unless it's necessary. "Red wall" is too simple of a descriptor.

Don't spend too many adjectives describing something trivial, e.g. "stands a plain, wooden table". Unless it's got intricate relief carvings or it's not made of an unusual material, not describing the table lets the reader assume that it's plain anyway. "Two men sit behind a table" should do it. Not "individuals", because you'd immediately know their gender.

You should add some character to the dialogue lines by the two monks. They obviously have strong feelings about tattoos (primitive tribal behavior) and piercings (self-mutilation), and this would seep into their dialogue lines. Especially since their next line is "let people know your thoughts", so they should do it too.

I stopped at page 4.
If you thought my feedback made sense, I'd like to encourage you to read the author who nails the style I think you were going for - Alexander Wales. Some of his stories are published for free on his website.
 
Last edited:

beardalaxy

Educated
Joined
Jun 10, 2023
Messages
117
Any advice from people who manage to put in consistent work into their project for years (5+) without burning out, losing interest, despairing ? Looking at you, Nathaniel3W among others.
I've been working on my project for 8 years now and I have burned out and lost interest many times.
However, the thing I have found that helped me the most, and got my motivation back to what it was back when I started the project, was forcing myself to work on the game every day. Even if it's just 30 minutes, for practically every day for several months I worked on the game a little bit. Now I'm back to working on it for at least a couple hours a day most days of the week. Motivation has also frequently come to me while looking at videos about other indie games, or even older games with small teams that managed to create something amazing. Watching retrospectives on RPGs is great for me, because I'm building an RPG and it gets me in the mood to actually make stuff.

I think the reasons why I've been working on it for so long instead of just jumping to another project are that I have involved other people in the development that I don't want to let down, I have people who have been looking forward to the game for a long time I don't want to let down, and I've spent a pretty good amount of money on it. I CAN'T let it go.

Something else that I think has really helped me solidify this game as something to work on for this long, as opposed to all of my other projects which I stopped working on in less than 2 years and never finished, is the way I built it up. Most games I'd just have a crap ton of ideas and start working on it immediately. This one I started from the framework and worked my way up. Had a design document of what I wanted the game to be like, maps of dungeons, the entire main story, all the weapons and monsters, basically all of that stuff written down and put in spreadsheets and grid paper before I started seriously working on the actual GAME. I found this method worked so well that I am definitely going to be using it going forward. My next game I have planned literally just needs to be programmed and have the art/music done because the story and puzzle/level design are all totally complete.

Of course, if there's something that you're not sure you will be able to do or not, it's totally fine to prototype it out and such. I'm not saying your entire game has to be there before you start programming it, but the more you have to build off of the better it will help give you an understanding of your goals and what you need to accomplish to finish the game. It's been very rewarding to see things on paper come to life, so to speak.

Oh yeah, and don't try to make an open world game or an online game for your first ever serious project. Big mistake. I wouldn't have been working on this thing for 8 years if it was linear, and I wouldn't have spend nearly as much money or had to reach out to so many people for help. The mechanics could have been more refined. It takes a much larger group of people than a solo dev to make something like that happen in a timely manner, let alone have it be profitable.
 
Developer
Joined
Oct 26, 2016
Messages
2,284
Actually, if you guys are feeling generous with your time would you mind reading this pdf and giving feedback:

https://easyupload.io/4w9xba

It's the opening scene to the text. I want to make sure the writing is painless and clear, because there's another 300 pages of it.

Edit: ffs the site deleted it, had to re-upload elsewhere.
Oof 300 pages of that??

The lack of quote marks was distracting. After one page I did not really want to continue reading it TBH.
Lots of laboured language and a distracting "zen" vibe throughout.
The people have no character whatsoever in the dialogues. The imagery is boring and I did not feel like trying to imagine it.
I was expecting something far more interesting from a "mystic school of scholars".

I cannot really give much in the way of suggestions because I am not sure what you are going for here.
 

Agesilaus

Antiquity Studio
Patron
Developer
Joined
Aug 24, 2013
Messages
4,509
Grab the Codex by the pussy Codex USB, 2014 Steve gets a Kidney but I don't even get a tag.
Agesilaus I still remember your character portrait from Ultima 7. (I just wrote and then deleted Final Fantasy 7. That's the default "7" game that comes to mind for me.) There was that forest kid who you had to go to so he could make a whistle or something for you. And during that scene, the kids gets embarrassed and turns away while he's making it, and at the time my 13-year-old mind imagined that the forest monkey kid was somehow using his thingy to make the whistle.

Why don't you share files via Google Drive or something?

Also, a choose your own adventure philosophy book? 300 pages? You might misremember how those books actually worked. They were absolute drivel, about 100 pages each (and a read-through might reach half of those pages), targeted at 12-year-old nerds. Do you have a target audience in mind? Are you hoping to make any money from this project? Planning to turn it into a VN maybe?

Google Drive seemed like too much of a bother, I figured there would just be some drag & drop website that would spit out a download link. Lesson learnt, but it worked out because now I have a lot of good advice and input both from here and elsewhere.

The target audience is anyone who has a strong interest in ancient greek and chinese philosophy, likes to discuss metaphysics, and likes to visit historical sites. Also, hates the current state of philosophy books churned out by modern academia. At minimum, this book should be a nice, quiet visit to a place where people enjoy talking about certain metaphysical/philosophical topics. You can engage with them, or you can just go to the canteen for lunch, walk outside and go to the gym, then retire to the guesthouse and go to sleep. For those who are especially interested in metaphysics, the book may be considered special because it puts forward a certain Eleatic/Parmenidean account of reality.

I will charge money for a printed copy of the book, you have to charge a certain amount for it to be printed by amazon. I am not intending to make a lot of money from the book. I might turn it into a VN if there is a lot of interest. However, I wrote it because it is an expression of my own philosophical beliefs, and I think there is an empty space for it to fill. People should still read the pre-socratic fragments and secondary source material, especially that which relates to the Eleatics, but here is something fresh for people to pick up that is unrelated to the endless mountains of drivel that comes out of western academia.

If you want to know the philosophy, skip to the "Boundaries of Coherence" bit at the end, which is where the reader is first smacked in the face with the truth about reality. Then they can either scuttle away to go get lunch, disagree with the speaker, or move on to the main exhibits. It then branches out from there, you can tell from the "Welcome Guide" that there are several different regions or zones in the book.

giving feedback:
I'll do it, but don't get pissed off like many people do, it's subjective and I'm not a professional.
I want to make sure the writing is painless and clear, because there's another 300 pages of it.
I think it's clear from reading a couple of pages that you're going for a casual, easygoing style, but you have a tendency to use words that are more complicated than necessary. "Desired" instead of "wished for", "featured" instead of "came up", "unshackle yourself" instead of "break the chains". The easygoing style doesn't mesh well with the usage of words that you wouldn't use in a casual conversation. That said, it doesn't preclude usage of words that most people would have to look up in a dictionary. It makes writing more stimulating, sprinkle them around at the rate of one per page when you broach complicated subjects.

Don't reuse of the same words so close to each other, "signing up to online communities, eagerly discussing planned communities".

Don't use the 7 colors of the rainbow for description, unless it's necessary. "Red wall" is too simple of a descriptor.

Don't spend too many adjectives describing something trivial, e.g. "stands a plain, wooden table". Unless it's got intricate relief carvings or it's not made of an unusual material, not describing the table lets the reader assume that it's plain anyway. "Two men sit behind a table" should do it. Not "individuals", because you'd immediately know their gender.

You should add some character to the dialogue lines by the two monks. They obviously have strong feelings about tattoos (primitive tribal behavior) and piercings (self-mutilation), and this would seep into their dialogue lines. Especially since their next line is "let people know your thoughts", so they should do it too.

I stopped at page 4.
If you thought my feedback made sense, I'd like to encourage you to read the author who nails the style I think you were going for - Alexander Wales. Some of his stories are published for free on his website.

Thank you for the clear feedback, this is all good stuff. I agree I have to be more careful about reusing words close together, and some of the language choice can be more formal or complicated than might be expected. I posted this little excerpt specifically for the writing style to be critiqued, and I'm glad you sensed the style I want: "casual, easygoing". If the reader can just breeze through the words while still understanding what is being said, and not cringing at some awkward turn of phrase, then I'm pleased.

I will check out Alexander Wales, thanks.

Actually, if you guys are feeling generous with your time would you mind reading this pdf and giving feedback:

https://easyupload.io/4w9xba

It's the opening scene to the text. I want to make sure the writing is painless and clear, because there's another 300 pages of it.

Edit: ffs the site deleted it, had to re-upload elsewhere.
Oof 300 pages of that??

The lack of quote marks was distracting. After one page I did not really want to continue reading it TBH.
Lots of laboured language and a distracting "zen" vibe throughout.
The people have no character whatsoever in the dialogues. The imagery is boring and I did not feel like trying to imagine it.
I was expecting something far more interesting from a "mystic school of scholars".

I cannot really give much in the way of suggestions because I am not sure what you are going for here.
The lack of quote marks is what it is, can't win them all. The bulk of the text is dialogue, so it appears in regular font, and any descriptive or narrative text is given in italicised font.

Regarding this being a "mystic school of scholars", the presentation of their views begins with the "Boundaries of Coherence" section. That section should present the reader with a jarring account of metaphysics. Although there is a softer introduction in the "Welcome Guide", which is accessed via the inventory. If the Mystic Scholars are still boring or otherwise offensive to the reader, the reader can go grab lunch and explore other topics and areas.

At minimum, as mentioned above, I want the book to be like visiting a comfy, quiet historical site. Hello, welcome, here's some stuff we do here, have a bowl of soup, call it a night, please come again soon. For those with strong interest in philosophy, the adherents of the temple will probably contradict what you believe, and hopefully that will agitate the reader and make people think. I have a set of philosophical beliefs that are rooted in certain ancient works, and here is a little place everyone can visit to appreciate philosophy.
 

std::namespace

Guest
fluff idea:
vegan adventure game with anthro fluff like zootopia where the cats are kings and queens and dogs are the knight caste and all pets are some kind of analogy with a twist, for privileged pets
pigs and cows etc are low castes, slaves, meat for the grinder
and pests like rats are even worse of
you'd play an lgbt sjw animal turning the society to communism!1

this must have been already done, right? kek
 

Twiglard

Poland Stronk
Patron
Staff Member
Joined
Aug 6, 2014
Messages
7,509
Location
Poland
Strap Yourselves In Codex Year of the Donut
I have a custom engine, by the way, which was certainly a big mistake.

I have coded the movement, inventory, equipment, communication, battle logic, ability logic, buffs, and some other minor stuff for the server. It's all replicated to the client. The client displays it all.

But I'm not even half way there. I didn't fill the world with anything. There's a shitload of mechanics still necessary to be coded in. And I'm tired, I can't look at it anymore. Whatever enthusiasm I felt, and it was a great one, has evaporated a long time ago. I look at it, and feel nothing but exhaustion. I haven't touched the code in almost a year now. I can't bring myself to.
Add abstractions that make writing code less bugprone and take less time. You could make the engine code more declarative for example.

Recommend taking a sabbatical to learn Common Lisp. For example from this book.

Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
-- Eric S. Raymond, How to Become a Hacker.
 
Developer
Joined
Oct 26, 2016
Messages
2,284
Eeeehhhh if you are writing an isometric game you need a custom engine pretty much. So, a big fat no to using an engine like Unity, and guess again. 1-0.

For MMO IDK I guess it depends what kind of MMO it is. I do not think just "using" an engine necessarily gives you much advantage here if you are incompetent.

Having said that, what would put me off making an MMO are all the associated server and infrastructure costs and maintenance you need without even ever touching a line of code. I dont know what the hell you were thinking Bester
 
Vatnik
Joined
Sep 28, 2014
Messages
12,176
Location
USSR
The server is extremely optimized and lightweight, in part due to a specific game design, which eliminates the problems of the server infrastructure. Everything's been thought through. The only problem was the human part of the equation.
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
Any advice from people who manage to put in consistent work into their project for years (5+) without burning out, losing interest, despairing ? Looking at you, Nathaniel3W among others.
I've been working on my project for 8 years now and I have burned out and lost interest many times.
However, the thing I have found that helped me the most, and got my motivation back to what it was back when I started the project, was forcing myself to work on the game every day. Even if it's just 30 minutes, for practically every day for several months I worked on the game a little bit. Now I'm back to working on it for at least a couple hours a day most days of the week. Motivation has also frequently come to me while looking at videos about other indie games, or even older games with small teams that managed to create something amazing. Watching retrospectives on RPGs is great for me, because I'm building an RPG and it gets me in the mood to actually make stuff.

I think the reasons why I've been working on it for so long instead of just jumping to another project are that I have involved other people in the development that I don't want to let down, I have people who have been looking forward to the game for a long time I don't want to let down, and I've spent a pretty good amount of money on it. I CAN'T let it go.

Something else that I think has really helped me solidify this game as something to work on for this long, as opposed to all of my other projects which I stopped working on in less than 2 years and never finished, is the way I built it up. Most games I'd just have a crap ton of ideas and start working on it immediately. This one I started from the framework and worked my way up. Had a design document of what I wanted the game to be like, maps of dungeons, the entire main story, all the weapons and monsters, basically all of that stuff written down and put in spreadsheets and grid paper before I started seriously working on the actual GAME. I found this method worked so well that I am definitely going to be using it going forward. My next game I have planned literally just needs to be programmed and have the art/music done because the story and puzzle/level design are all totally complete.

Of course, if there's something that you're not sure you will be able to do or not, it's totally fine to prototype it out and such. I'm not saying your entire game has to be there before you start programming it, but the more you have to build off of the better it will help give you an understanding of your goals and what you need to accomplish to finish the game. It's been very rewarding to see things on paper come to life, so to speak.

Oh yeah, and don't try to make an open world game or an online game for your first ever serious project. Big mistake. I wouldn't have been working on this thing for 8 years if it was linear, and I wouldn't have spend nearly as much money or had to reach out to so many people for help. The mechanics could have been more refined. It takes a much larger group of people than a solo dev to make something like that happen in a timely manner, let alone have it be profitable.
This is very much the best advice you'll ever get about the subject. Making a habit of it is the key to doing anything, from game dev, to physical fitness to learning another language. Something that infamous youtuber Louis Rossman taught me is that you should make write down what it is you want to do in a day/week, break it down into as many small steps as you can, and write down a generous timeframe for what you're doing. Feeling bad? Have that breakdown be over the course of a day. Feeling really bad? Have it be over the course of a week.
I will note that Breadalaxy doesn't quite go into why scope is so important, it's not necessarily that linear is better, it's just easier for a solodev to make in a reasonable amount of time at first. The scale of a game should be reasonably small when you're starting off so you don't end up creating a mountain for yourself to conquer. Start with a hill.
 
Joined
Dec 24, 2018
Messages
1,898
Today, implemented a function to build the tile adjacency map. Initially, the implementation was fairly simple: for each tile A, for each tile B, check each point in tile A's borders to see if it's present in tile B's borders. However, with roughly 1.5 million vertices across 32 thousand tiles, this took around 400 seconds (with a parallelized loop across 6 threads). Even though this is only done when importing tiles from an SVG (i.e., not when just loading a game, since the adjacency data is preserved when saving) that's still non-viable.
Adding a check to see if both tiles are in the same or adjacent map quad (herein meaning that the world is divided into 128 quads, 16 across and 8 down) before comparing them further reduces the time to around 80 seconds.
Adding a check to see if the tiles' bounding boxes intersect before comparing them further reduces the time down to 12 seconds.
Checking each point in Tile A to see if it's in Tile B's bounding box before searching Tile B's borders doesn't seem to reduce time any further - so I left that out (my guess is any savings from checking that early would be fairly marginal, and the check itself just trips up the branch predictor enough to cancel out the minor speed gain).

For this task, which is completely lock-free, parallelization is basically 100% efficient; time with all optimizations but single-threaded is 72 seconds; time with a thread pool set to 6 cores (hardware concurrency on this laptop, minus 2) is 12.
 

J_C

One Bit Studio
Patron
Developer
Joined
Dec 28, 2010
Messages
16,947
Location
Pannonia
Project: Eternity Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath
Working on a new map in Inkarnate. I'm populating the areas of interest along the coast of the inland sea first. I plan on letting the player take on some quests to clear pirates or sea monsters or whatever to allow sailing a ship to get from one port town to another.
Just wanted to say THANK YOU for bringing Inkarnate to my attention. I didn't know this tool existed but it's just the thing I need for my next project. :)

A little update from me. I decided that after a few years hiatus, I'm jumping back into game dev. First I was trying out Unity, but I just didn't feel comfortable with it. It is a great tool, but I realized that it is overkill for the simpler projects I create. So I tried out Godot and it's absolutely perfect for me. It is more complex than ...say Gamemaker, which I previously used, but it is not as complex as Unity. It is somewhere in between. And I can still code in C# with it, which I wanted to use.

So right now I'm getting comfortable with Godot, and after that I'm recreating my aircraft carrier/air combat tactical game in Godot (I had a prototype in Gamemaker previously).
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,305
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Today, implemented a function to build the tile adjacency map. Initially, the implementation was fairly simple: for each tile A, for each tile B, check each point in tile A's borders to see if it's present in tile B's borders. However, with roughly 1.5 million vertices across 32 thousand tiles, this took around 400 seconds (with a parallelized loop across 6 threads). Even though this is only done when importing tiles from an SVG (i.e., not when just loading a game, since the adjacency data is preserved when saving) that's still non-viable.
Adding a check to see if both tiles are in the same or adjacent map quad (herein meaning that the world is divided into 128 quads, 16 across and 8 down) before comparing them further reduces the time to around 80 seconds.
Adding a check to see if the tiles' bounding boxes intersect before comparing them further reduces the time down to 12 seconds.
Checking each point in Tile A to see if it's in Tile B's bounding box before searching Tile B's borders doesn't seem to reduce time any further - so I left that out (my guess is any savings from checking that early would be fairly marginal, and the check itself just trips up the branch predictor enough to cancel out the minor speed gain).

For this task, which is completely lock-free, parallelization is basically 100% efficient; time with all optimizations but single-threaded is 72 seconds; time with a thread pool set to 6 cores (hardware concurrency on this laptop, minus 2) is 12.
You only need to do that once per map, right? You create the map and build and save the adjacency info? For Himeko Sutori, I connected all the nodes on each battle map just doing the default octree lookup to see which nodes were next to each node. I started off doing it at the start of every battle, as part of initializing the map, but then I realized that was stupid and I only needed to do it once and save the info. But the lookup was so fast it didn't really matter.

Working on a new map in Inkarnate. I'm populating the areas of interest along the coast of the inland sea first. I plan on letting the player take on some quests to clear pirates or sea monsters or whatever to allow sailing a ship to get from one port town to another.
Just wanted to say THANK YOU for bringing Inkarnate to my attention. I didn't know this tool existed but it's just the thing I need for my next project. :)

A little update from me. I decided that after a few years hiatus, I'm jumping back into game dev. First I was trying out Unity, but I just didn't feel comfortable with it. It is a great tool, but I realized that it is overkill for the simpler projects I create. So I tried out Godot and it's absolutely perfect for me. It is more complex than ...say Gamemaker, which I previously used, but it is not as complex as Unity. It is somewhere in between. And I can still code in C# with it, which I wanted to use.

So right now I'm getting comfortable with Godot, and after that I'm recreating my aircraft carrier/air combat tactical game in Godot (I had a prototype in Gamemaker previously).
I'm glad you're getting back into it. Have fun with Inkarnate. Let us know how your new project shapes up.
 

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