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

Zep Zepo

Titties and Beer
Dumbfuck Repressed Homosexual
Joined
Mar 23, 2013
Messages
5,233
and while I'm at it maybe I should write my own operating system myself,

I actually had to write an OS (boot strapper and all) in Systems Analysis and Design class in college (1984-ish). All in Assembler, of course.

I've been around the programming block a time or two (going on 35 years now), young padawan.

Zep--
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,234
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
So tell us, how did your borrowed savegame system insert/change characters into your whatever that format is called you use? What exactly happened?

I don't see what you're getting at Zep. The system is working. Do you just want to see me sweat? Are you trying to prove that I don't actually understand something? And if you do that, who benefits?

I've been around the programming block a time or two (going on 35 years now), young padawan.

I'm 36 years old and I have not been programming as long as you. I started off college in computer engineering but changed to studying Arabic after spending some time in the Middle East and South Asia and having a hunch that there was something more I needed to know. I don't regret the decision. It led me to meet my beautiful wife and opened up opportunities for work and adventure that I wouldn't have imagined fifteen years ago. My technical skills have always been a tool in my belt, ready when needed. And now because of some smart financial decisions I made, I have the freedom to make a stupid financial decision and work on my game full time, learning a lot along the way. It has been a lot of fun, except when people on the internet give me a hard time.

But since you asked, I save the game by triggering my SaveGame function, which builds a JSonObject from all of the objects that I need to save. From there, I make a string using JSonObject.EncodeJson(), which converts the JSonObject into a string using a function in native code, or the precompiled C++ code that UDK users don't get to see. I paid for the full UE3 license, and I don't think I'm breaking my NDA if I mention that Epic put that function in their FacebookIntegration.cpp file, UJsonObject::EncodeJson. I just thought it was interesting that their savegame system is built on top of the code they wrote for making social games. It makes sense I guess, if JSON is how Facebook sends and receives data. Anyway, at that point the string is still just a string. It gets sent to Engine.BasicSaveObject, which once again calls a native function, this time UEngine::BasicSaveObject. There Unreal Engine inserts binary wrappers around parts of my otherwise human-readable JSON before converting the whole thing into an array of bytes and writing it to the hard drive. I honestly don't know what the binary wrapper is there for or why the engine needs it. The comment above the line that makes the wrapper is just "// use a wrapper archive that converts FNames and UObject*'s to strings that can be read back in." And if you want to gloat now, go ahead. The system works, I know what my problem was, and I don't actually want to dive any deeper into an issue that isn't currently causing any problems. If I needed to dive deeper, I'm confident I could. And if I needed to write data to the hard drive on my own, I could just import a .dll that I wrote for another project that does exactly that. But the truth is I have bigger issues than poking around in a system that is currently 100% functional, and I don't need to bring in my own code when the game engine handles this stuff for me.
 

Zep Zepo

Titties and Beer
Dumbfuck Repressed Homosexual
Joined
Mar 23, 2013
Messages
5,233
So your save system was throwing some binary into your file?

You know, you are a little butthurt about all of this. I asked the question because maybe someone reading this thread will have the same problem and wonder why.

If you talk nice to them, and have an good hobby idea, the UE people will cough that shit up for free. I know this from personal experience.

Of course you can't release anything until you 1. you pay for it or 2. sign a profit sharing agreement.

Zep--
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,535
Location
Russia
But since you asked, I save the game by triggering my SaveGame function, which builds a JSonObject from all of the objects that I need to save. From there, I make a string using JSonObject.EncodeJson(), which converts the JSonObject into a string using a function in native code, or the precompiled C++ code that UDK users don't get to see.

Why not just save it as text file https://wiki.unrealengine.com/File_Management,_Create_Folders,_Delete_Files,_and_More#Text_Files ?

Looks like you take worst from the both worlds - you have to serialize each field by hand, it works slower than binary serialisation, and result is not human readable/editable.
 

Reinar

Scholar
Joined
Oct 20, 2015
Messages
145
I had an urge to make something new and different. After thinking about it for a day, I started prototyping the game in Unity on saturday. By monday I had this:
WkYeeho.gif


Dungeon crawler on tiled map. Currently 64x64 tiles. I didn't know how to create and work with a map as a single game object so I did the ugly thing and each tile is a separate game object (so 4096 GOs just for the tiles). It isn't as bad as I expected performance-wise. They also have colliders, though they are enabled only on wall tiles. Initial floor generation takes around 170 ms, the first floor visualisation 100 ms, and switching between floors around 50 ms. When I switch levels, I use the same GOs, just change their properties (sprite and collider on/off). So it seems it can work on this scale (at least on solid PC).

At first, I wanted to make it more like a strategy game where you command several unit squads, but then I decided to make it just a party RPG. The player will take the role of the Dark Lord, his (anti)heroes are various evil creatures and people. The goal is to make your way through several underground levels to the surface. It's basically a mix of Cavewars and Dungeon Master. I can't decide how many characters should be in the party (6? 8?) and how deep the RPG system should be. Combat will be either realtime semi-automatic (characters move towards each other to fight, player can use their abilities) or turn-based tactical (characters would need more depth to be entertaining).

I also want the environment to play a role, so Swimming as a passive ability will come back once again. Caves aren't usually connected so in order to get to the stairs up, you have to dig your own path. That's where Mining will save you time. Then there's Crafting and Enchanting and Medicine to increase party regeneration.
zcyQISy.png


The game will have a time limit so you can't just slack around. Levels are randomly generated, so will be the enemies. It will be possible to set floor size, number of floors etc when starting new game.
In the end, it's just to work on something different for a while after working on prosperous trolls the last two months. I will probably drop the project soon (put it in the shelf next to 4 other projects). :)
 

Mustawd

Guest
The game will have a time limit so you can't just slack around. Levels are randomly generated, so will be the enemies

Just make sure you play test it for fun. Heroes of a Broken Land had randomized dungeons and enemies and it got repetitive after like 1 hour of playing.
 
Last edited by a moderator:

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,234
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
It's kind of hard to tell what's going on. Are the head, arm, body, and gun movements all completely independent of each other? Is the head on an infinite swivel? I'm sensing kind of an Exorcist vibe there.
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,535
Location
Russia
Head is supposed to have limits on how far it can turn, but it is not working quite right so far.
Currently, head and gun hand (with a gun nailed to it) turn toward where you aim at, rest of the body is controlled by animations.
Eventually, I'll sort out gun hand and head movements to be more anatomy-friendly.
 

Lexx

Cipher
Joined
Jul 16, 2008
Messages
324
Another vaporware screenshots from me. Who knows, maybe this shit actually gets done some day.

XPwr08.png


/Edit: Censored it a bit, because of maybe spoilers or some shit.
 

Reinar

Scholar
Joined
Oct 20, 2015
Messages
145
Stop following me, damn you!
CVUoTo2.gif


I downloaded some 2D pathfinding from asset store and modified it so it works with my movement mechanics. Party icons will probably look close to how they look now. Player will have some evil-looking one, while the adventurers will have various shields depending on party composition (lot of mages / lot of priests / mainly warriors). I am giving them random color so I can differentiate between parties while testing.

I tried making some UI elements and I must say the GameObject-oriented Unity UI is really giving me headaches. Feels like a step back to me. I want to display party characters - an image and a name for each. With the old system that means a group and one for loop drawing a label and a texture for each character. Five lines of code, five minutes of work, precise positioning. With the new system, I spent half an hour trying to figure out why is my image in the center in scene view and in the lower left corner in play mode. Then I gave up. I read somewhere that one of the bigger reasons why the new UI system exists is performance. Well, I guess I couldn't give less fucks if my shitty game runs at 72 fps or 71,9 fps. I will give it a second chance though.
 
Last edited:

shihonage

Subscribe to my OnlyFans
Patron
Joined
Jan 10, 2008
Messages
7,161
Location
location, location
Bubbles In Memoria
Stop following me, damn you!
CVUoTo2.gif


I downloaded some 2D pathfinding from asset store and modified it so it works with my movement mechanics. Party icons will probably look close to how they look now. Player will have some evil-looking one, while the adventurers will have various shields depending on party composition (lot of mages / lot of priests / mainly warriors). I am giving them random color so I can differentiate between parties while testing.

I tried making some UI elements and I must say the GameObject-oriented Unity UI is really giving me headaches. Feels like a step back to me. I want to display party characters - an image and a name for each. With the old system that means a group and one for loop drawing a label and a texture for each character. Five lines of code, five minutes of work, precise positioning. With the new system, I spent half an hour trying to figure out why is my image in the center in scene view and in the lower left corner in play mode. Then I gave up. I read somewhere that one of the bigger reasons why the new UI system exists is performance. Well, I guess I couldn't give less fucks if my shitty game runs at 72 fps or 71,9 fps. I will give it a second chance though.

This is like watching someone hammer a nail with a spaceship.
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,234
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Adding fairy characters to the game as both enemies and allies. They'll have about 4 character classes available to them.
Fairies.jpg

They still need clothes and weapons. It should be a lot easier to draw those sprites because they're a lot smaller.

My youngest daughter, age 5, has been watching development and she's very excited about the new fairies. She has decided that this fairy in my test savegame is her pet fairy. I'm thinking that would actually be something fun to put in the game--one of the main characters should start off with a pet fairy. And I am strongly considering killing it to show how despicable and careless the villains are, kind of like Sansa's wolf Lady from A Game of Thrones. I haven't even started making the main campaign yet and already I'm giving into the fridging a character... And I definitely can't tell my daughter what I'm planning.
 

The Avatar

Pseudodragon Studios
Developer
Joined
Jan 15, 2016
Messages
336
Location
The United States of America
Sharing some of my vaporware here- starting with character customization. Right now there's a base male character that has a few facial color customizations(eye color, lip color, flushness). I made this guy in zbrush and maya and brought him over to unity.

character01.png


And now I'm working on adding hair.

hair01.png


3wj3M
 

Nathaniel3W

Rockwell Studios
Patron
Developer
Joined
Feb 5, 2015
Messages
1,234
Location
Washington, DC
Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming!
Finally getting into the long overdue overhaul of my equipment stats. At first I just kind of thought "I'll put some numbers in here and then go back and balance it later." There are going to be hundreds of items in the game, and that approach would have been a nightmare.

I decided instead to plot out what I want the items to be like, calculate what their values should be, and then go put those numbers into the game. That means I've spent most of today sitting in front of Excel.

First I took a look at my hit/dodge/block calculation, and I plotted out what it actually did. It resulted in decreasing hit % when dodge and block skills increase, but the curve wasn't what I wanted. So I wrote a formula to give me exactly the curve I wanted:

AttackSuccess.jpg


The blue line is (1+AttackPower)/(2+AttackPower+Avoid) where avoid is either the enemy's dodge or block skill, for a given value of AttackPower and a range of Avoid. The purple line takes those "raw odds," and feeds that value into a sigmoid function, 1/(1 + e ^ (A * RawOdds + B)), and I played with A and B until I got a curve that I liked. With values of -20 and -8 respectively, I ended up with a curve that gives you about 90% chance of hitting something that has Dodge equal to your AttackPower. And then if the attack hits, I do another check to see if the target can block, using the same formula but the target's Block value instead of Dodge.

Next up I started working on how much damage the attacks should do. I filled up a spreadsheet with some inputs I can change to see what the outcome would be. I tested out starting hit points, hit points gained per level, expected attack power increase per level, how many levels you go between upgrading your weapons and armor, and how much of a jump each weapon and armor upgrade should be. In the end, I came up with this, which I think looks pretty reasonable:

ArmorEffectiveness.jpg


That shows, at each level, how many attacks it would take on average to kill an opponent of equal level. The zig-zag shape goes up when you upgrade your armor, which then absorbs more damage, and the line slopes down as you level-up, which increases damage output faster than it increases your hit points, until you upgrade your armor again. The blue line is for a character wearing heavy armor and the red line is for a character wearing light armor. That doesn't take into account defenses that help you avoid attacks (like the dodge and block discussed above) or healing. As for healers, I expect to make them mitigate less damage than an equivalent-level attacker would deal, which means that adding healers to the party just makes you lose the battle more slowly--unless you really take care to optimize your characters. In the end though, giving a slot to a healer is still going to be gambling on the expectation that you can win through attrition.

I think planning out the item stats and level-ups like this is going to end up working a lot better than just tossing stats at equipment. And I think it'll save a lot of time testing and balancing later.
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,535
Location
Russia
E3AazQA.jpg

5mShyvX.jpg

My LudumDare entry https://ldjam.com/events/ludum-dare/38/$25133

Was not initially going to participate, but I was at the moment of development of my game when I needed an open world, so I made a city editor as an entry, where you can walk around with a toon too (mostly to check that scales are right).

Each tile is 25x25 voxels/meters, and is intended to look like this when at distance - when close up it will be replaced by 125x125 voxel (i.e. 0.2 meters per voxel) model.
 

Lexx

Cipher
Joined
Jul 16, 2008
Messages
324
I've added some Fallout 1 inspired random scenery object clutter placement to my encounter map script(s). This way I can get more (limited) variation into them without having to create a million distinctive / different maps. It's not perfect, but works good enough, imo.
I will not use this stuff on mountain maps, though, as they are too small generally and objects could easily end up in places where I don't want them to be.

wHhtWT.png


Also I am wondering if I manage a release around the end of this year. In theory this should be possible... if I don't lose motivation again and keep my creativity going. There is still a lot to do, but not *that* much. By now, after about 7 or so years, I have finally come to a point where it's actually a realistic project that really could get done one day. Makes me kinda exited, but at the same time cautious, as I really want to talk about this shit, but at the same time I don't, because I don't want to create any hype that can't be matched or will piss off people with promising shit I can't keep. Well, shit.
 
Last edited:

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