Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Publius

Pages: [1]
Design / Re: Skill category problem
« on: May 18, 2017, 07:28:49 PM »
Anyway, another maybe strange category is for building and mining skills which I've named 'working'.
I would use 'construction' or maybe even 'engineering' as a term for that. Technically, when you mine you also need some supporting structures so the dungeon won't suddenly collapse. Even if in games you usually just dig and don't care :P But I'm also not a native speaker.

Early Dev / Re: An early modern sociopolitical simulation
« on: April 20, 2017, 07:34:18 PM »
Especially since you said you are disengaging, I will only address this:

Doesn't look real at all. Take a look at medieval france. Your map gives the impression there's easily between 5 to 20 more villages in the same amount of space
It's hardly a map of villages in medieval France. Maybe I mean villages more like "hamlets", and this causes the confusion. The "towns" are light red, if I remember correctly. Here's a map showing more important town and cities in a part of France, in 1604:

Also have to say that I disagree with the "premature optimization" statement. I feel that you just throw it in here as a piece of common wisdom; I see from my experience that the generation part quickly reaches annoying levels of complexity/usage, and I don't see why the simulation part would be different. Somehow Dwarf Fortress is famous for being taxing even for modern hardware. The approach of optimizing strictly when "everything" is ready is hard to execute if optimizing things reasonably has to mean redesigning architecture fundamentally. Also, the main possible harm of optimization is impeding the current or future development, which I am emphatically trying to avoid.

If it's not clear from my previous post, I overall respect the skepticism. Still, I'm going to do it my way, keeping the possibilities for shrinking the project's ambitions open, depending on what will turn out to be possible.

Early Dev / Re: An early modern sociopolitical simulation
« on: April 19, 2017, 08:53:33 PM »
Is it going to be open-source? :)
A tough question. Maybe, no promises. I found myself writing some utility functions and macros which I will opensource almost for sure. But I understand it's not what you're talking about.

javelinrl, I very much appreciate your post and the questions! :) Maybe they weren't meant to be answered on forums, but I found it worthwhile to answer most of them, well, in some way. Somehow it gave me more motivation, so thank you for this.

one is that I agree with the comment made on the link itself (the maps do feel very similar to each other)
Well, I take it as an argument for giving the map generator some more freedom. Currently it's some kind of cellular automaton, and I can feed it with more diverse start states.

there are way way way way way too many cities. When you have too much of one thing, in a game, it's just like have nothing as well because you can find it everywhere in abundance - for example, what the point of having gold if you're getting a million gold for every quest you complete? In that sense, you would do well to remove all minor towns and keeping only 20% to 10% of what you have there.
I just think it makes the map feel more real and impressive. Daggerfall has an insane amount of space and villages, for one: they're mostly repetitive, but they become a respectable feature in themselves. But these villages and provinces have also a strategic meaning in my game, since each one of them can be conquered, occupied, hold as a land property etc.

The second approach I'd like to try here is to play devil's advocate and act like a possible investor if you were trying to sell me this (as a publisher or on kickstarter, whatever). (...)

I will be happy to help you test your releases and see this project grow but, honestly, if you don't immediately have a solid, good answer for even one of these questions, you should seriously sit back and consider if you're really ready to start something this big right now. As an investor or kickstarter backer, I wouldn't put a red cent on your project if I wasn't satisfied with every single answer, because you're currently a one-man team and you're proposing to accomplish something many professional teams would shudder to even consider, much less on a budget of exactly zero moneys to get it done from start to finish.
Well, personally I don't frame it as a potential Kickstarter or "investable" project just yet. For now, I don't expect monetary or even emotional investment from anybody. Just wanted to share a vision of a cool hobby thing I'm making. Not saying if I will finish it. It will be okay to me if I'll eventually come to a conclusion "okay, so I will implement the chosen 10-20% of this grandiose feature set, stop there, and call it an interesting gamedev experience". (Possible also release something.) So I don't think the risks are high. I just find it so much easier to motivate myself to do moonshots. Constrained goals I have in the work and uni.

Questions like open source or commercial, single or multiplayer are undecided for now. It may be foolish from the biz or even realistic perspective. Okay, it is. But honestly I'm interested to see how the things (read: the simulation) will work in terms of hardware usage. I try to do aggresive math/serialization hacks to keep the memory usage low. I plan to use probabilistic statistical models (close to my current area of study) to reduce computation of offscreen things. I just find it an overall fascinating thing to do with my time.

So for now, I wouldn't concern myself with distribution. Hopefully I can use some questionnaire from you on this in future!

What sort of planning do you have in place to get this done? You cannot pull out something this big by just feeling your way through it.
Currently, I have a set of things I want to have in my next babystep "stage". It's mostly integrating global maps into the voxeljs and implementing NPC generation & placement. You should be able to walk through the world, see people (probably just markings "this person is generated there") and read their biographical descriptions.

I expect to go from milestone to milestone in this fashion, for a time being.

Why should I play your finished game and not other complex simulations like Ultima Regum, Dwarf Fortress or even strategy games like EU, Civilization...?
A short answer (and the only one I have for now) is because it is different. Most of these games focus on management. In my game you should have more of roleplaying one character and their immediate milieu, with the "big history" in the background, at least most of the time. Honestly I don't know if Ultima Ratio Regum offers similar level of world plasticity during gameplay that I want to have. I should install that Wine sometime, I guess (to run it on Linux).

You mention you want team work but you plan to use CLisp, not only a rarely used language, but also a rarely used paradigm. Help is hard to find even with C# or Java. How will you find voluntary help that is both skilled in CLisp, expert enough to write a complex program like yours and willing to do voluntary work?
Why are you dead-set on using CLisp and not other more modern, accessible languages, or some other more modern Lisp dialect like Clojure?
I'm not dead-set. It's just way easier to use CL to do exploratory programming where I'm able to build and debug and change/refactor things very quickly. Some time ago I attempted to make a much less ambitious game in C++, and amount of repetitive work to do very simple things felt just atrocious. I couldn't force myself to test different approaches to one thing, once it barely works.

I don't rule out rewriting parts of the code that become more stable in some less abstract language, when I already know how a given module is gonna work. (I consciously force myself to write clear, even verbose code to hopefully make it a bit easier if necessary.)

I do like that CL lets me actually mix paradigms and be functional/imperative depending on what seems more convenient for programming a given thing. It's very flexible and lets you really abstract things how you want. Although I did see much overengineered (to me) Common Lisp code in the community. I do admit that some constructs can be hard to port, but still, it should be possible to use the CL implementation as a "spec" what should the code do.

Besides, coding is not the only area one can use some help in. There is also artwork, design and content writing. I have some friends that can help me at least in the latter, which should be important even for the first "milestone".

In games, Lisp is usually known to be used for stateless software like MUD servers and so on. What tools and established examples are you going to use to make sure a very big CLisp project like this is maintainable once it grows very big and complex, as are your goals?
I don't have practical experience managing this big and complex software projects, but I do program for years. Just don't have significant open source/public things to show. I can only say that I use asdf/Quicklisp (which are standard CL solutions for package and depedency management), with clear separation of modules for different things, follow my own rather strict style guide etc. Also, since it is apparently not that obvious in the roguelike community, I do use version control, extensively :P

What other successful game projects of yours can we look at to determine you're capable of handling something this big, complex and ambitious?
The short answer is no.

Do you think your game will have enough of a player-base to justify all the work put into it? Give me examples of existing similar games with many players.
Well, maybe games I listed as inspirations. After all I wanted these titles to ring some bells. But I don't see the size of player-base as the main "justifying" factor. And by this I mean, I'm willing to wait for it (the player-base) to build up slowly.

From each of the games you've listed as influences, describe one thing you like about them, how it relates to your project and how they'll work together.
Dwarf Fortress - focus on story behind each individual character, and stories emerging from the complex simulation.
Daggerfall - the faction/reputation system, and the sheer size of the explorable world.
Europa Universalis - putting a researched historical reality (as a historian, I think the term "historical reality" is fishy, but anyway...) into a set of gameplay rules.

Why is this game a roguelike? Being procedurally generated doesn't make it a roguelike. How many elements of the Berlin Interpretation will you have?

I think I would have those things:
  • Random environment generation
  • Permadeath
  • Grid-based
  • Complexity
  • Resource management (the main resources being your personal wealth and social connections/popularity)
  • Single player character
  • Monsters are similar to players (well, "monsters" in a sense)

Also, possibly:
  • Tactical challenge (I really would like to have to this one)
  • Exploration and discovery

What is your core gameplay loop? Also, how would you define your game in a single sentence?
Well, this is clearly an important question, but it's hard to say. I'm aware of the possible trap of trying to simulate "everything" without focus. Will work on that.

What sort of testing (unit and systemic) approach are you going to use to make sure this huge thing doesn't break as you develop it further?
Currently I'm content with having tests for some algorithmic functions that are hard to test manually, but possible to test in general. (Some I consider very hard to test, like random generation as a whole - I could test that the output fits some probability distribution, but I don't think it's worthwhile.) Otherwise, I strive to write functions with clear purpose for each one of them, which are potentially testable. I will probably have to devote some time to write these unit tests at some point, but for now I don't want to sink my time into that. Many parts of this code I may nuke soon anyway.

What sort of communities and support can you go to for your technical problems? Does CLisp have a strong community on forums, Stack Overflow, etc?
You can get help for your problems with CL on IRC channel #Lisp in Freenode, where many quite knowledgeable people hang out. But most of the time, the language specification and the "Practical Common Lisp" book are sufficient for me.

What third-party libraries and game engines are you going to use to reduce your own work load in writing custom code?
I don't want to devote that much time to graphics, so I keep the "server" part clearly separated and would probably use some third-party engine for that (ie. the "client" side). Currently, it's voxeljs, which is pretty straightforward once you manage to fire it up.

Early Dev / An early modern sociopolitical simulation
« on: April 17, 2017, 09:03:57 PM »
TL;DR: here are some generated maps, which is the only thing I'm showing for now.

What it will be about?

I'm mainly inspired by two DF games, namely (of course) Dwarf Fortress and Daggerfall, maybe also Paradox games like Europa Universalis and well, me being a History B.A. (What I'll describe reminds me a little of Bay 12's Liberal Crime Squad, but I'm not that familiar with it.) The setting is mostly historical (1608 I believe?) but there may be some fantastical elements (like "horrific abominations from underground").

You shouldn't get to be a typical video game "hero" in this game.
You can act bold and heroically if you want, but one-man armies should be impossible. Instead, you will have to learn to be a part of social structure of early modern Europe. To accomplish big goals, you have to organize people to help you in what you want to do: either as your serfs, supporters or companions.

The estate you were born into matters and determines what the society will let you do. But the game by itself shouldn't enforce that. For example, the law forbids noblemen engaging in trade or crafts. Technically you can do that, but people will start to despise you and eventually a court decision can kick you out of nobility. Society expects noblemen to fight in army and do politics. As a peasant, you should theoretically farm land for your lord, but you can also flee and become a bandit. Or, if you're lucky, strike a deal with your lord that you will rob people (or trade) and give him a share.

But all this should be ultimately changable. I want it to be possible in the game to do peasant uprisings and even completely dismantle feudalism, but this should be extremely, extremely hard and probably require some serious bloodbaths and propaganda. Well, almost like in real life.

Mechanics: bloody wars & epic speeches

I devised a relatively simple, but strategic way of representing all public assemblies: local conventions of nobility, town municipalities, the parliament, courts, parties of soldiers/bandits and so on. The game will be heavy on that kind of politics. I want a (modifiable) legal system functioning in the country. Also, we'll have a couple of wars going on, which means some focus on warfare and guerrilla.

It will be very important how your character is perceived by others. It is, to a large extent, based on some special statistics. Probably they will be Honor, Might, Love and Effectiveness. Of course, you won't be able to max them all out. For example in order to be effective, you sometimes have to do some dishonorable things that people won't love you for.

While the setting is roughly historical, randomness will be far-reaching. For example, the stat effects of each ~20 of ethnic identities and ~10 of religions will be randomized. I hope to have interesting emergent outcomes. Or a mess, but that's fine!

Cold reality of coding :]

Now, it is clear that this is one of those monumental simulationist endeavors. I will see how far I will get, but at some point (if the project survives) I would probably want to make it more of a team effort. I write the logic in Common Lisp (which is great) and currently use voxeljs as my graphical engine, but I'm not that commited to the latter. Many things I leave to figure out later.

Here are some "global" maps of the game area: [LINK].

I do have some issues with those maps. They still feel a little not enough big and detailed to me. Probably I will force that mountains can't be too populous. Also I'm not sure if wacky rivers are more of a bug or of a feature.

More details (including the title) will come when they'll come :)

Early Dev / Re: Infojack (browser-based cyberpunk roguelike)
« on: March 19, 2017, 07:58:22 PM »
After seeing the screenshot I wanted to give you points for nice retrocomputing style. Might be a way to make the game look "good" (relatively) cheaply.

Design / Re: Stealth RL ideas?
« on: March 19, 2017, 07:45:54 PM »
I presume you played Brogue, which has some stealth mechanic: Personally I find it annoying (too random to be reliable: in true Rogue-the-original-game tradition), but maybe it's just me.

I also like the episode "Balance of Terror" from the original Star Trek series. Both sides try to deceive the enemy about their position, which forces them to abstain from attacking (to keep the cloaking device up), act dead etc. I think many movies about cold war submarines have similar themes. It would be interesting to have such tactics in a game.

7DRLs / Re: GOB! [7DRL 2017]
« on: March 13, 2017, 07:18:30 PM »
I don't think arcade is the best description here since arcade gamers are seldom turn-based.
You're probably right, I meant arcade as in coin-operated machines, referring mainly to level of complexity I expect from such a game. It should be fun because of its simplicity. Maybe what I'm trying to say is just that the feel of GOB! makes me expect something like that, and not roguelikey depths of gameplay.

7DRLs / Re: GOB! [7DRL 2017]
« on: March 13, 2017, 06:49:58 PM »
The game feels very arcade (which is supported by graphics & sound) and I don't think it needs additional complexity: it's extremely playable as it is. Although I have to admit that I find the second level impassable already :( (and I'm annoyed just enough to retry, so that's OK)

edit: Ok, now I see that you have to actually equip the special weapons. Silly me :P

One issue I found: cannons can be generated facing the wall of the level.

7DRLs / Re: Sleeping Beauty (7DRL 2017)
« on: March 10, 2017, 05:17:57 PM »
I played, won on the first try, but liked it. Actually, if I don't plan to invest that much time into a game, I prefer it to be not that hard: this one could be a little more difficult though. Nice building around a theme... story... whatever.

The most obvious thing to notice is the combat system. I understand we seek alternatives to bump-into-enemy system. In later floors I noticed that it does require some strats, but it can never surprise you, right? I think that surprise/uncertainty is an important aspect of combat.

Also, using combinations like ctrl+h can trigger some browser shortcuts like showing history in Firefox. Maybe it can be prevented in JavaScript by calling event.preventDefault() or something.

Pages: [1]