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

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,334
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
If anyone does any 3D modelling and uses Krita for painting textures, i've been working on a plugin for Krita to show a 3D mesh in a viewport with the edited image as a texture that you may find useful:

http://runtimeterror.com/tools/kritaview3d/

Here are some videos on YouTube i made yesterday and today, the first video shows painting some dirt and light on a model:



The second (which has the current UI after tweaking some things since yesterday and fixing some bugs) shows improved painting across texture seams and using a layer group instead of a single layer as the painting layer:



Note that i haven't tried this version on Windows though it should work.

White this isn't very useful for modern models that are made up of various related textures like diffuse, normal, specular/roughness, etc, it should be useful for more retro stuff that work only (or primarily) with painted diffuse textures:

vh78gcz.png
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
If anyone does any 3D modelling and uses Krita for painting textures, i've been working on a plugin for Krita to show a 3D mesh in a viewport with the edited image as a texture that you may find useful:
Once I can get this working this looks like its going to be great. That said, I put the files exactly where they were supposed to be put and nothing has changed in Krita, at least as far as I can tell. What am I missing? (Yes, its in the pykrita folder, and yes, I'm on Linux)
Also, since this uses your own file format, is there a blender plugin for the format?
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,334
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
That said, I put the files exactly where they were supposed to be put and nothing has changed in Krita, at least as far as I can tell. What am I missing? (Yes, its in the pykrita folder, and yes, I'm on Linux)

Hm, try to run Krita from the command line and check if it shows any errors. Also just in case, at least on my computer, the files are directly under the pykrita directory (not under a subdirectory), e.g. the view3d.desktop file is in /home/badsector/.local/share/krita/pykrita/view3d.desktop.

Also make sure it is enabled (checked) in Settings -> Configure Krita -> Python Plugin Manager (should be near the end of the icons at the left side).

Also, since this uses your own file format, is there a blender plugin for the format?

Yes, you can find it at http://runtimeterror.com/tech/jtf/ - just download the jtf20231113.7z file and place the appropriate script from the "blender" subdirectory (e.g. "2.78" for 2.78 and 2.79 or "2.80" for 2.80 and later versions of Blender - when i tested it with 3.6.5 it worked) into your blender directory (this depends on your blender version, check the readme.txt file in the subdirectory for the version you use). Also make sure the Blender plugin enabled too after installing it.
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
NKYCBbi.png


Plugged those hexagonal regions into my map. They'll look better with some clutter on top (mountains, forests etc.), but I think I'm satisfied with the shape.
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
I know, it's on the list. I just first have to decide if I want them to conform to the region's borders, or do I want them to flow freely through the regions. And this in turn will be decided when I finally settle on the battle system.
 

std::namespace

Guest
Plugged those hexagonal regions into my map. They'll look better with some clutter on top (mountains, forests etc.), but I think I'm satisfied with the shape.
how do you define the polygon form?
 

std::namespace

Guest
i meant in general, coordinates of the vertices?
if he colors the polygons, he has to decide somehow which hexes belong to which polygon
so im not sure how to define the hex coordinates of the line between the corners of a polygon
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
Bad Sector turns out the problem was that snap can be a real piece of shit when it isn't done properly. My installation of Krita was via snap, but that wasn't getting the proper stuff for Python QT5. It wasn't registering anything in the plugin library. Uninstalled the snap, and reinstalled it outside of snap. Works fine now.
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
how do you define the polygon form?

I don't ;) . Not for the regions, at least. The hexagon terrain is a mesh, of course. It looks like this:

B6NH7Nv.png

And here with vertex colors (used in the shader for texture blending between hexes):

2VwE66F.png

The regions themselves are a texture, generated alongside the terrain workflow (implementation details here, if you're interested).

Each region I generate gets assigned a sequential ID. Then I divide this ID by the total count of the regions and get the region's index that I can pass to the compute shader. I extended the kernels used for the jump flood algorithm Voronoi diagrams generation to also carry the region's index (since I had one channel to spare, this was basically free in this workflow). Then, I get this texture:

Xe2NJkz.png

I use it in the shader for the region highlighting (each color value in this texture represents a unique region ID).

Then I take this texture, run an edge detection filter on it, "ceil" the values, and run a few blur iterations:

2roi9w8.png

Yeah, not sure if it was helpful, but that's pretty much it for now :P .
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
No need to. They're perfectly fine for my use case. The overall shape is generally dictated by the underlying hex grid. I could play with the Voronoi kernel placement to fine-tune the coastlines, but again, I don't need to. I like the way the coastlines follow the underlying grid while retaining that "organic" look.

1WtNEQj.png

Sounds to me like you're looking for a solution for some problem though. Feel free to PM me. At this point, I've got years of experience in this domain, I might be able to help.
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
Well, when I started working on this game my design process boiled down to "I'll make a Civilization game, but fantasy!". So I aped features and mechanics without giving it much thought. Years passed and the idea matured. I got ambitious and decided that I'd like to improve on the formula instead of just copying it. The regions are supposed to reduce micromanagement and improve on the exploration aspect (you can visit a region a roughly know what's in there, but to know all about it you will have to thoroughly explore it).
However, I had already written a hex terrain system and a dedicated hex math library and I wasn't going to scrap all that work, so here we are :D .
Besides, I'm still on the fence about the hexes and their gameplay significance. Maybe I'll use them in the battle system or for the building placement. Even if they remain purely visual, it'll still be a convenient way to handle the regions, with the coordinates and so on.
 

RobotSquirrel

Arcane
Developer
Joined
Aug 9, 2020
Messages
2,124
Location
Adelaide
loOFHQN.png


Been messing around creating a level editor for hex grids. Maybe I'll actually try and turn it into a game.
Looks amazing. That EGA style colour palette is so appealing. Really glad we're finally getting a lot of indie games in this style because I grew up with this style.
Keep kicking ass.
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,334
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.


Uploaded new version with a couple extra features:
  • Added a command to align the canvas to the mouse position so that the down direction in both the view and the canvas are the same in screen (helps when the textures coordinates are not aligned with the texture itself and, e.g., are rotated)
  • Added a menu with snapshot preview commands to show how the texture would look downscaled at 50%, 25% and 12.5% (note that these stop the live updates) - this is mainly helpful for when making textures at a higher resolution (e.g. 2x or 4x) the “final” size and want to see how they’d look on the model without resizing the image (ideally this’d be done in realtime but since everything is done in Python it’d be very slow for any image larger than a few pixels - perhaps in the future i might rewrite the OpenGL parts so i can use OpenGL for resizing)
  • Added an “Update” button to explicitly update the texture if live updates are enabled
The video above shows these in action (mainly the alignment part).
 

Eisen

Learned
Joined
Apr 21, 2020
Messages
750


Uploaded new version with a couple extra features:
  • Added a command to align the canvas to the mouse position so that the down direction in both the view and the canvas are the same in screen (helps when the textures coordinates are not aligned with the texture itself and, e.g., are rotated)
  • Added a menu with snapshot preview commands to show how the texture would look downscaled at 50%, 25% and 12.5% (note that these stop the live updates) - this is mainly helpful for when making textures at a higher resolution (e.g. 2x or 4x) the “final” size and want to see how they’d look on the model without resizing the image (ideally this’d be done in realtime but since everything is done in Python it’d be very slow for any image larger than a few pixels - perhaps in the future i might rewrite the OpenGL parts so i can use OpenGL for resizing)
  • Added an “Update” button to explicitly update the texture if live updates are enabled
The video above shows these in action (mainly the alignment part).

Two questions.

1. Is this for the Post Apocalyptic Petra?
2. Is there any content to learn how to draw textures with a realistic artstyle(like yours in the video)? At best, i can do pixel art for texture :negative:
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,334
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
1. Is this for the Post Apocalyptic Petra?

No, content-wise Post Apocalyptic Petra is done since it was meant for the MSDOS game jam back in 2020, i've only fixing bugs (and made some ports). Also the 3D model in the video has more polygons than the entire game :-P.

I started making this ~6 months ago because i wanted to try and use nxdk for making a simple 3D game on the original Xbox (nxdk is a free / open source SDK for it) as i bought some used xbox last year, though i've lost, regained and lost interest on this for a bit (especially since the controller i got with the xbox wasn't working properly and a few months ago stopped working completely - i ordered a new replacement one almost a year ago which is finally about to arrive). At the moment i am slowly making the model mainly to have something to test things with - i might resume the game project at some point later though.

2. Is there any content to learn how to draw textures with a realistic artstyle(like yours in the video)? At best, i can do pixel art for texture :negative:

Well, this isn't really very realistic, it is more like digital painting. Modern 3D models are actually made using dedicated tools that let you paint using full materials (so, e.g., your brush doesn't affect the color but also normal, roughness and other aspects of a material), but a tool like Krita that is made for editing and painting 2D images wouldn't work here.

The approach i'm using is something that was used in older games, mainly around late 90s to early 2000s - before that textures had to fit in a palette (e.g. Quake) and after that games started using additional textures like normal maps, specular maps, etc to represent materials. Sadly this period was quite short and a ton of information about the approaches used for making textures seem to have disappeared (or at least modern stuff drown them completely). Even worse, sites like Polycount that go back to the 90s and have a community of artists had their forums reset at some point and i can't find stuff from the late 90s/early 2000s (from when i remember people posting a bunch of helpful tips), though chances are even if that stuff still existed it'd be posts full of images from long gone hosting sites (though some artists did post their own sites which had their own tutorials .

You can find a few of these things online, e.g. this old book excerpt describes the basic idea behind mixing photosourced "detail" and manually drawn shapes (with manually drawn lighting, etc). There is also CS Girl, a (very) old tutorial for making a 3D player model for Counter-Strike - it mainly focuses on the modelling side (and uses a now abandoned program, Milkshape) though it also has a section on making the texture and the ideas are pretty much the same regardless of the software used. The texture making part is all about painting the texture manually but you can also combine it with other methods.

For more modern stuff what you want to do is mainly check tutorials (99% of them will be videos on YouTube) about digital painting and there are *TONS* of them. The tutorials are really about painting 2D images but a lot of the same ideas apply to painting textures too. Also there are texture painting tutorials and while they focus on more cartoony stuff, again the ideas are often transferable to more realistic styles. Some tutorials on pixel art textures (like this one) can also help, you just replace the "pixel art" with your brush painted art.

Sadly there isn't a single resource for this as this approach isn't used much (might become more common in 4-5 years when more indie games want to make use PS2-like graphics :-P), but you should be able to combine ideas from various places.
 

TheDeveloperDude

MagicScreen Games
Developer
Joined
Jan 9, 2012
Messages
611
Can I put my map/configuration files in a readable form into the game directory? Or do I have to encrypt them?
 

Viata

Arcane
Joined
Nov 11, 2014
Messages
9,894
Location
Water Play Catarinense
You are free to do whatever you want, mate. Usually it's done so the player doesn't just access the file and change things (like making their characters have level 99, etc) or for data decompression stuff, among other stuff.
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,334
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
I added a command in my View3D plugin for Krita to do triplanar projection of whatever image is in the clipboard to the model.



This is mainly useful for easily blendable “detail” materials, so -e.g.- trying to paste something with obvious features (e.g. bricks) would make the blending very obvious (though with some adjustment for the blending smoothness it can be used for some stuff).

This is still work-in-progress (so no new version yet). I still need to to a GUI for specifying the blending smoothness and image scale and optimize it a bit (Python is very slow for that kind of stuff).
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
810
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
Added some mountains and forests. I'll upgrade them but for prototyping, they'll do.
The rivers are next on the agenda, along with performance improvements for huge maps.

 

Twiglard

Poland Stronk
Patron
Staff Member
Joined
Aug 6, 2014
Messages
7,509
Location
Poland
Strap Yourselves In Codex Year of the Donut
When drawing a sprite animation of a character walking or running (such as in Fallout 1/2), how often does the character/entity change its actual position? Let's say the animation runs at 12 FPS but game manages to render and run physics up to the display's refresh rate, which is 60 FPS.

Are both approaches feasible? If not, which one works better? Does the Hobbit 48 FPS fiasco pertain to this?

--

Also, is it ever reasonable to move the character by a varying amount depending on which frame it is? Like, having the NPC accelerate and decelerate as part of the animation cycle.
 
Last edited:

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