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 - Soulmask

Pages: [1]
1
Programming / Re: How to improve math skills?
« on: April 14, 2015, 09:16:52 PM »
Oh I don't consider myself an expert in math, merely half-educated, as I only had basic engineering math and statistic classes. I'm glad that your last post is much more reasonable than the one I quoted, seems like you're a reasonable person after all. Indeed, discreet mathematics could be called a sub-field, but's it's also one of the fields of mathematics that influenced computer science the most, especially in the early days of computing theory. It uses many symbols, and cluttering formulas with 3-letter notations like AND would make already big formulas too big in the end. Indeed the more "pure" mathematical circles might not use that notation, but in their own subfield they use it exclusively, and would find the use of and in their formulas as otherworldly as you do ^. In my opinion, the use of one character that is included in the default 255 ascii character table and doesn't mean anything else than and is the correct way to to write it, especially for computer science subjects since discreet mathematics is useful for "computer algorithms, programming languages, cryptography, automated theorem proving, and software development."(from wikipedia)

2
Programming / Re: How to improve math skills?
« on: April 14, 2015, 06:55:20 PM »
The thread might be on mathematics, but this subforum is about programming. You said you wanted to improve maths because you needed it for programming. I was exactly answering that. I'm the second person that tries to help you you tell to calm down in a very short span of time. You should probably go on a math forum, and hopefully after reading 20 math books you'll realize you ain't better at programming.

3
Programming / Re: How to improve math skills?
« on: April 14, 2015, 03:19:44 AM »
re: the offending formula on wikipedia:

That's indefensibly badly written, especially for a general audience. Use of that carrot notation for "and" is not widespread even in the mathematics literature. It just shouldn't be there. Unfortunately, wikipedia articles on mathematical topics that can be easily grasped by people outside of the research community are plagued with this kind of garbage. It gives the half-educated a sense of accomplishment to write expressions like that.

I was planning to be subtle but the way you insult people while saying incorrect statements is just too much. You imply that the notation for carrot AND is not widespread. Not only it doesn't matter at all, but discreet mathematics use it. Arguing about correct notations is like arguing over the best color. You refer to people outside the math research community has half-educated and laymen while calling a notation garbage. It is you who is trying to give yourself a sense of superiority over futile things, and not only that you're insulting everybody else in the meantime. You are criticizing the method rather than the concrete content. Especially in programming, many different ways can achieve the same thing.

4
Programming / Re: How to improve math skills?
« on: April 14, 2015, 12:25:58 AM »
Ok I think there's a lot of mathematical elitism in here so I changed this post.

Math is a tool. It is as good as you can use it. If you make a bad game with huge level math, you've haven't achieved anything. Einstein thought that creativity came with intelligence, but I think he was mixing the two kinds of real intelligence(not talking about g here). There's technical intelligence and then there's divergent thinking. Technical helps you understand math. Divergent thinking helps you being creative. A person who has both, like Einstein, can be a genius and invent new concepts that are actually true. Meanwhile, the people who have the best IQ might be living calculators but they will not achieve anything significant apart from being good in their day job.

There's a ton of technically good programmers, but a lot of them are code hermits. They focus on making the best code, the best physics engine and high level maths. Meanwhile, their game sucks. On the other spectrum, only "better than average" IQ people with divergent thinking make unique fun creative games. Then there's the high technical intelligence AND divergent thinking people who are good at both.

Finally, if you think programming is about mathematics, you are wrong. It's about abstraction. If there's 2 games, and in both you have a dwarf smashing a rock with his warhammer in 2, but in one game it uses complex physics and the other uses simple abstractions, the most efficient game is the latter one. We're not making scientific simulation software. To the player, both games will be the same, but it will have taken a lot less time for the latter game to be made, allowing more time to complete the game and focus on other things. The more realistic the physics you try to make into the game, the more you'll break your teeth on the code and the more likely weird stuff will happen in the game afterwards because it's too complicated(dwarf fortress).

Unfortunately, both technical intelligence and divergent thinking can't be thought, but the more you focus on mathematics and the less you focus on the actual GAME. What's the point of making a game if all you do i think about maths and physics and you never think about the fun stuff?

5
Programming / Re: How to improve math skills?
« on: April 13, 2015, 11:57:25 PM »
If you only need to understand one thing from my post it is this, determine how you want the basic numbers to look like, and determine how they should behave. What does strength stat represent? Will having twice has much STR mean that I'm twice as strong or every 10 points of STR means that you are twice as strong? Do I want a normal distribution for attribute randomization? How high does the new game attributes need to be in order to represent correctly the attributes of a character VS a mob? Focus on what every variable means exactly and try to make them not be too broad, for example agility in my game represents quickness of muscles(str of muscle relative to body weight) and hand-eye coordination, while perception means acuity of the senses(mostly sight and smell). Also the detection and stealth skill represent training and experience(not game XP but real life experience). By that sense, a blind monk would have low perception but high detection skill. Once you know what every variable means exactly, its much easier to know how to give values to the numbers and build formulas for them.

6
Programming / Re: How to improve math skills?
« on: April 13, 2015, 11:28:07 PM »
I don't think reading math books will improve your programming skills.

This is something I found true of a lot of developers. Unless they use the most complicated math or physics, they think their game will be bad. Other developers who are good at math focus on making complicated maths and then when their game is done no one sees the math going on and the actual game sucks(while nobody cares about their I'm good at math look at my shiny maths rants). Focus on simulating realistic gameplay instead of trying to do real physics simulation. There is no difference between a direction, speed and acceleration variable together and a mathematical vector. A matrix is not much different then an excel chart. A lot of people reading this will think I'm saying this because I suck at math but in fact I don't. Math comes naturally to me. Complicated math doesn't belong in a game, the player won't notice any difference between realistic simulation vs real physics simulation and like in dwarf fortress the physics even if based in reality will end up making weird game play like whips being lightsabers, some blunt weapons being super bad, and naked+4 adamantine cloaks being the best armor.

If you need to focus on math, you should try to think a lot about "financial" type math, ie exponential functions(x=x+x*0.1 recursive loops), if you want RNG, look for mersenne twister and int normal distribution libraries and real normal disbution, if you're in c++ then there's random in the STL which is FAR better than rand from c.

For reference charts I mostly use excel and do a beta chart, and then when I finished the design of the chart(every basic thing as a value) I look for formulas that could automate the charts. Once, the tab I came up with was too complicated to ever find a formula without wasting ridiculous amounts of time, so I just made a function that took an int and then returned an int. This started with my "Building" skill, I wanted to get a quality modifier depending on building skill of a character to randomize building quality. I'll attach the chart I finalized.

So maybe this can help you so I'll describe the process that I used to come up with this chart, at first I was trying for formulas to automatically get % for quality types, but I never came close to get a beginning of formula. If anything I'd have to get 10 different and huge formulas to make a chart resembling this I think(I might be wrong). In the end I chose to do the whole chart by hand, but even this needed some work. I started from the terrible quality at 100% odds. then it decreases rapidly, and for every other quality except the 2 last ones the "peak" is 30% so I chose my numbers depending on that and sometimes approximately approaching a normal distribution and sometimes a "thinner" distribution.

So you cant see the terrible at 100% and masterwork at 100% that ended up in the code, but it's very simple really, I just took 5% from terrible at every step(for 100% terrible you need negative skill which you can only have with debuffs) until it reached 0 and gave the 5 percent somewhat randomly and to get at masterwork 100%, I took back 4% of the last quality past skill lvl 50 and gave them to exquisite and masterwork(if the quality has <4% then i take it all and the rest from the next), then when exquisite and masterwork were 50-50, i gave 5 percent from exquisite to masterwork until it goes to 100%. The "hardest" thing was to know how to add percents between 0 and 50 skill, and once I went with "every quality has a peak of 30% except the first and 2 last ones" then I built around from there. The end result is not perfect, but it's charming, at least to me, and I think I ended up with a good solution.

edit: also the normal skill cap is 50 and you can only get to 100% masterwork with a lot of skill buffs.

I'll never use overly complicated maths like integrals in the code, this is a game after all and not a scientific simulation software. I'm not bad at math, if anything I'm good at it, but I have the principle to use the simplest method until I'm forced to use a more complicated one.

Heres the link to excel file
http://www.filedropper.com/buildingqualityhiroguetemple

I hope you read my whole post and deduce that reading math books is not the best option for you :D

7
Programming / Quick changes, Huge improvements
« on: April 13, 2015, 10:49:43 PM »
So now I'm pretty deep into development and usually programming simple things can take a long time, but there has been exceptions where huge improvements to the game where done very quickly. I have two on the top of my mind:

1. Main map navigation: I'm making a strategy roguelike, inspired a bit by dwarf fortress in that there is a "base map", where you do most of the gameplay and you have to navigate in it. At first I thought navigation would be super hard to do, but in the end it probably took me less than 30 mins to implement and now I could navigate through the whole map! I was pretty inexperienced in programming at the time compared to now, I improved a lot imo, but even in my noob programmer stage it took me less than 30 mins and map navigation is the first thing that gave me the feeling I was in a game when running my program! Sweet memories.

2. Font for ASCII games: For 80% of the dev time I was experiencing what I call "the blur". When I ran the game, the map was blurry, and I had this feeling like my game looked like crap, which my ego rationalized as non-sense, my game couldnt look like crap it was just because I wasn't used to it right? Well at one point when I finalized the first version of my "Character Sheet" menu, I looked at the first time my game with a lot of text in it, and the blur was still there! I thought the blur would be gone when reading text, but no. So now I thought, if it's blurry even when in mostly text form, it most mean the font itself sucks and not the characters/colors I chose for the actual ascii graphics. Took me 5 mins to find what I was looking for(I'm french so word for font is police in french, I also tried "ascii graphics" and "dwarf fortress graphics"), then I finally found I was looking for a new font, then it took me 10 mins to choose a new font: my only criteria was blurriness. To find blurriness I stood 5 feet from the screen, which maximised character blending and thus the blur, and when I found a font that had almost no blur(plus nifty semi-graphic walls(replacing line and double line characters)) and the actual implementation took me 2 mins(1 min because I forgot to add .png to the file address). Result? My game doesn't look like crap anymore! No blur at all, it even looked good. I had been working hundreds of hours and the biggest improvement I did took me 15 mins, and it's by far the most efficient improvement I've done so far. For reference I was using libtcod 12x12 font(the blur) and changed it to unknown curses 12x12 markvii walls font which can be found in the dwarf fortress wiki font page.

What are your stories about small improvements that drastically improved your games?

8
Design / Re: Experience Point cost per level
« on: April 13, 2015, 10:22:20 PM »
Nice and simple! I'd have a few suggestions which might or might not be better :P

As an idea, you could add a small exponential value each level, that starts at 0 and doesn't add much of anything for the first levels, but increasingly adds more experience so the last level is definitely longer to reach(easy to do with a float double converting to int). However if the game is small then it's definitely not recommended.

Also I found that using very small values increases the difficulty of balancing thing in big games. For example, if you have 50 different types of level 1 mobs, you might need 10-40 different exp values for all of those, and that would imply a value higher than 5 for level 2. However if theres only 4-5 level 1 mobs then its easy to make them give 1-3 xp each. Another issue is xp randomization, you'd want more inflated xp values if you want to randomize xp gain smoothly. Again if xp is constant and minions are streamlined  neatly then it's a non-issue.

Thirdly, and on another tangent, I'm really interested about xp gain depending on PC lvl vs Mob lvl, for example does a lvl 20 PC get same xp for killing lvl 1 mob than a lvl 1 PC? And the reverse is true, if a player finds a way to "cheese" he could run through game and kill high lvl "dumb" mobs for vast xp gain and some games like diablo prevent that from happening by giving significantly less xp.

Yet another point, you're talking about different races getting different xp, and I'm usually against this, at least the way it's been implemented so far in most games. Mostly because of dungeon crawl stone soup, where normally "good" races are the hardest(needs more xp with a limited non-respawning mob pool, also demigods can't use religion(fluffy but without religion the game is 2 to 5 times harder), trolls have to eat tons, etc),  while normally bad small races like Kobolds and Spriggans are the easiest because they level quickly. Also dislike that religion is mandatory if you're not an expert of the game, in D&D game masters usually don't force you to be religious. Should be renamed Religion Crawl really.

9
Early Dev / Re: Dark Lord
« on: March 12, 2015, 08:15:17 PM »
It is indeed early dev! In fact I'm programming right now :P. I'm developing at full speed until something terrible happens, which so far hasn't happened. I hope some of you guys are interested :P

10
Early Dev / Dark Lord
« on: March 12, 2015, 06:22:35 PM »
Hello I guess this is the official announcement of my game, which won't come out for a little while(stay tuned for more information!(tm))

I'm currently actively developing Dark Lord, and it's my first attempt at making a game. I'd call it an indie game with rogue-like inspiration(similar to dwarf fortress, which isnt a dungeon crawler(but adventure mode could be called rogue-like)). If I was to be creative, I'd call it a strategy roguelike, and it's called "Dark Lord".

First a little introduction, so I have to admit a lot of the inspiration in making the game was playing with dwarf fortress. DF is a landmark roguelike(even if its not a "traditionnal" roguelike) because it was deep(both in game content and literally digging deep :P), unique in being a fantasy "sim city" and it was made by only 1 guy. I'll start with the similarities. You start on what I call the "base map", this is the map you will build your base on, and it's "similar" somewhat in design with the gameplay of DF where you never leave the map(in DF you never leave the map that is, in my game you'll definitely can). Instead of a dwarf caravan, you start with your single lone Dark Lord. So except the base building(vs fortress digging) and the fact you spawn in a randomly generated map, and the fantasy settings of course, the broad similarities end here. First of all, you won't be digging rooms and there won't be different "Z levels"(I might implement elevation, but this will be implemented as a stat of a tile and not in different z layers). There will be a way to make mines, but you won't have a direct imput on their layout(this is a strategy game after all, while DF is more of a sandbox with a theme)(and also mine layout generation is not a priority at this moment :) ). So the main basic gameplay will be making your base and recruiting minions in various ways(I won't elaborate, I want to keep the mystery :D). Let's go into the more crunchy stuff... There will be a world map where you will send your minions on missions, such as trade with other civs, diplomacy, scouting regions to find hidden things, patrolling nearby regions to know if enemy forces are coming to your base and of course INVASIONS! Also, DF had a prob whenever you had too much Dwarves(mostly because of pathfinding), so the way to control this if it ever arise in my game, is that you will be able to send your minions to make camps on the map. You'll send a camp leader and some minions, and there will probably be different kind of camps(goblin camps being one). After all, Sauron's main base was barad dur and there most of it's minions weren't directly near it, they were spread all over Mordor, in many different settlements. Next, the combat. The combat will be turn-based, final fantasy tactics style(!!! I know right?) you will put minions in units, which depending on the size stat of the minion you'll be able to put multiple units in a tile or else they occupy more tiles. The magic system will have many different schools of magic, based on elements. Also, the way npcs will interact with you will be through text-based events, and thats also how diplomacy will work. I find diplomacy bouts in reality often revolves around a single issue or a few issues, and that is handled well in text. Often strategy games shoots a diplomacy screen with many different options, and most often than not that system doesnt work since either the AIs are pushovers or they're psychopaths. Last of all, as a bonus side-game, there will be dungeon-crawling. You'll send a party of minions(you can go too) with different roles, right now I have the spearhead role(the guy who goes first and open doors), the scavenger role(the guy who search for hidden loot and secrets), and the logistic guy(the guy who determines which loot is carried by which minion, since you probably wont want a goblin carrying a very high value item, also his perception stat will be of importance if one of your guys does try to steal something). It will have different floors with combat, traps and special events, also bigger dungeons might divide into branches.

I was a little worried about revealing a lot about the game in the development stage, but really if somebody beats me to make such a huge game and it ends up being good, then my hat is off to him. I think I have a good shot at finishing the game because I'm a very result and game design oriented programmer, and I have an easy time coming up with programming solutions. If I continue seriously to develop the game, the first alpha which will have the basic features and be able to win an actual game(the goal is world conquest) and will probably be around in december 2015. In order to finish a satisfyingly deep version of the game it will probably take me at least 2 years. You know the guy who did dwarf fortress did it alone, and in my opinion he wasted a lot of time making complicated stuff work, like temperature and fluid movement, and imo the fluid movement isnt perfect. Also, the game world generation is massive, but in the actual game in fortress mode, which is the better game, the game world is hardly even used. I'm a much more pragmatic guy. World gen will be directly focused with gameplay in mind, it will be compact, but still fun and be able to make complex or interesting maps. The creatures and minions will be a mix of the most defining LOTR and DND ones, and a lot of the common western mythology monsters will be there, with my touch of creativity of course :D . Also, while the development process has been slow at first, I'm picking up pace, and I really think I can make it(like I said this is my first game).

I made a youtube channel to market the game, right now it only has one video and although theres an image of Dark Lord on there you have a lot more info in this post. Nevertheless, I'd be grateful if you watched the video and maybe even Like and comment if you are excited about my game, I'd be ever grateful. Watching the video, I realise how much I can sound like a bum sometimes lol, but be assured, I'm 100% serious about Dark Lord.

So the video is not about dark lord itself but i do talk about the inspirations about it and a lot of the tips come directly from my development style, it's called 6 tips for indie game developers: https://www.youtube.com/watch?v=iHpuYiy_pg4
I hope I'm allowed to post a self-promotional video link...

Anyway this is definitely a big step for me, it's an official announcement and it's the start of my marketing(no shame). I hope I got you as excited as I am about this. Take care!

11
Design / Re: 4x roguelike
« on: March 12, 2015, 05:59:50 PM »
Ok so I tried to find forum rules to not infringe any for about 10 mins but I couldn't find any so I'm just going to go on and just hope nothing bad happens.

I'm currently actively developing Dark Lord, and it's my first attempt at making a game. I'd call it an indie game with rogue-like inspiration(similar to dwarf fortress, which isnt a dungeon crawler(but adventure mode could be called rogue-like)). If I was to be creative, I'd call it a strategy roguelike, and it's called "Dark Lord". Since this is the game design subforum I'll talk a little bit about the design of the features in the game, since it's not a bread and butter roguelike but rather has quite different game modes.

First a little introduction, so I have to admit a lot of the inspiration in making the game was playing with dwarf fortress. DF is a landmark roguelike(even if its not a "traditionnal" roguelike) because it was deep(both in game content and literally digging deep :P), unique in being a fantasy "sim city" and it was made by only 1 guy. I'll start with the similarities. You start on what I call the "base map", this is the map you will build your base on, and it's "similar" somewhat in design with the gameplay of DF where you never leave the map(in DF you never leave the map that is, in my game you'll definitely can). Instead of a dwarf caravan, you start with your single lone Dark Lord. So except the base building(vs fortress digging) and the fact you spawn in a randomly generated map, and the fantasy settings of course, the broad similarities end here. First of all, you won't be digging rooms and there won't be different "Z levels"(I might implement elevation, but this will be implemented as a stat of a tile and not in different z layers). There will be a way to make mines, but you won't have a direct imput on their layout(this is a strategy game after all, while DF is more of a sandbox with a theme)(and also mine layout generation is not a priority at this moment :) ). So the main basic gameplay will be making your base and recruiting minions in various ways(I won't elaborate, I want to keep the mystery :D). Let's go into the more crunchy stuff... There will be a world map where you will send your minions on missions, such as trade with other civs, diplomacy, scouting regions to find hidden things, patrolling nearby regions to know if enemy forces are coming to your base and of course INVASIONS! Also, DF had a prob whenever you had too much Dwarves(mostly because of pathfinding), so the way to control this if it ever arise in my game, is that you will be able to send your minions to make camps on the map. You'll send a camp leader and some minions, and there will probably be different kind of camps(goblin camps being one). After all, Sauron's main base was barad dur and there most of it's minions weren't directly near it, they were spread all over Mordor, in many different settlements. Next, the combat. The combat will be turn-based, final fantasy tactics style(!!! I know right?) you will put minions in units, which depending on the size stat of the minion you'll be able to put multiple units in a tile or else they occupy more tiles. The magic system will have many different schools of magic, based on elements. Also, the way npcs will interact with you will be through text-based events, and thats also how diplomacy will work. I find diplomacy bouts in reality often revolves around a single issue or a few issues, and that is handled well in text. Often strategy games shoots a diplomacy screen with many different options, and most often than not that system doesnt work since either the AIs are pushovers or they're psychopaths. Last of all, as a bonus side-game, there will be dungeon-crawling. You'll send a party of minions(you can go too) with different roles, right now I have the spearhead role(the guy who goes first and open doors), the scavenger role(the guy who search for hidden loot and secrets), and the logistic guy(the guy who determines which loot is carried by which minion, since you probably wont want a goblin carrying a very high value item, also his perception stat will be of importance if one of your guys does try to steal something). It will have different floors with combat, traps and special events, also bigger dungeons might divide into branches.

I was a little worried about revealing a lot about the game in the development stage, but really if somebody beats me to make such a huge game and it ends up being good, then my hat is off to him. I think I have a good shot at finishing the game because I'm a very result and game design oriented programmer, and I have an easy time coming up with programming solutions. If I continue seriously to develop the game, the first alpha which will have the basic features and be able to win an actual game(the goal is world conquest) and will probably be around in december 2015. In order to finish a satisfyingly deep version of the game it will probably take me at least 2 years. You know the guy who did dwarf fortress did it alone, and in my opinion he wasted a lot of time making complicated stuff work, like temperature and fluid movement, and imo the fluid movement isnt perfect. Also, the game world generation is massive, but in the actual game in fortress mode, which is the better game, the game world is hardly even used. I'm a much more pragmatic guy. World gen will be directly focused with gameplay in mind, it will be compact, but still fun and be able to make complex or interesting maps. The creatures and minions will be a mix of the most defining LOTR and DND ones, and a lot of the common western mythology monsters will be there, with my touch of creativity of course :D . Also, while the development process has been slow at first, I'm picking up pace, and I really think I can make it(like I said this is my first game).

I'm sorry this turned into an announcement post... I made a youtube channel to market the game, right now it only has one video and although theres an image of Dark Lord on there you have a lot more info in this post. Nevertheless, I'd be grateful if you watched the video and maybe even Like and comment if you are excited about my game, I'd be ever grateful. Watching the video, I realise how much I can sound like a bum sometimes lol, but be assured, I'm 100% serious about Dark Lord.

So the video is not about dark lord itself but i do talk about the inspirations about it and a lot of the tips come directly from my development style, it's called 6 tips for indie game developers: https://www.youtube.com/watch?v=iHpuYiy_pg4
I hope I'm allowed to post a self-promotional video link...

Anyway this is definitely a big step for me, it's almost an official announcement and it's the start of my marketing(no shame). I hope I got you as excited as I am about this. Take care!

Edit: ok since this is an announcement I'll also post this in the game forum. But I thought this had it's place in game design since there's a lot of game design stuff that hasnt been done before. If you want to talk about game design though, definitely answer here!

12
Design / 4x roguelike
« on: September 14, 2014, 11:45:26 AM »
Hey im in the early development of my game called Warlock and I've wondered why there werent much 4x roguelikes made right now.
Basically here to gauge the interest in such a game, do people not want to make/play 4x indie games?

To explain why i call it a 4x roguelike, its essentially roguelike because if your main guy dies then its game over, and procedural generation/rng all over the place with ascii graphics.

Pages: [1]