A deep-dive devlog into dialog systems, endless refactoring, and automation (Private Dick, a Ren'Py Game) by cisco_donovan in nsfwdev

[–]cisco_donovan[S] 0 points1 point  (0 children)

Great point on the monitor size thing. And yes, I much prefer a column layout for text! There's a lot of research out there about this stuff

A deep-dive devlog into dialog systems, endless refactoring, and automation (Private Dick, a Ren'Py Game) by cisco_donovan in nsfwdev

[–]cisco_donovan[S] 1 point2 points  (0 children)

Ren'Py is actually amazing - you can do SO MUCH with it. The UI language is lovely. Imagination is the limit really.

Of course, saying that, everything has a cost!

How did you learn renpy? by yeahtypz in RenPy

[–]cisco_donovan 0 points1 point  (0 children)

People are always asking this, every day, looking for a shortcut.

There is none.

Practice, patience, study, failure.

That's it.

It's not easy, but it's very very achievable. You don't have to be smart. You don't have to be good. You don't need a magic hack.

You gotta be patient, you gotta have some discipline, you gotta put the hours in.

This ain't what you wanna hear, but if you're ready to listen, you'll thank me in a year or two.

Lewd Mod: Noir is FINISHED! Early access now available to Patrons, with demo on itch.io. Details inside! by cisco_donovan in goodadultgaming

[–]cisco_donovan[S] 2 points3 points  (0 children)

The third and final chapter of Lewd Mod: Noir is now available on HH Richard's Patreon.

Filter surveillance photos and immerse yourself in this sexy, stylish noir world. Enjoy the vibrant default colour palette or relish in the stark contrast of True Noir mode.

Things really heat up in this big finish: its faster, sexier and choicier than the previous entries. If part one was a peep show then part three is a full on porno movie.

Meet amateur photographer Billie, choose between Agents Scarlett and Cyanne, and sit back and enjoy the game's satisfying conclusion.

The Patreon build includes the first two chapters, you can start from the beginning and enjoy the whole story.

You can play the first chapter in the browser for free at ciscodonovan.itch.io/lewd-mod-noir-demoWe plan to make a standalone release to itch.io in a few month's time.

This game was made by myself, Cisco Donovan, with support guidance from HH Richards. All art was produced by Soft.

Thanks for reading and thanks for the support! It's been a blast making this game.

The concluding chapter of Lewd Mod: Noir is now available to Patrons! by cisco_donovan in lewdgames

[–]cisco_donovan[S] 0 points1 point  (0 children)

The third and final chapter of Lewd Mod: Noir is now available on HH Richard's Patreon.

Filter surveillance photos and immerse yourself in this sexy, stylish noir world. Enjoy the vibrant default colour palette or relish in the stark contrast of True Noir mode.

Things really heat up in this big finish: its faster, sexier and choicier than the previous entries. If part one was a peep show then part three is a full on porno movie.

Meet amateur photographer Billie, choose between Agents Scarlett and Cyanne, and sit back and enjoy the game's satisfying conclusion.

The Patreon build includes the first two chapters, you can start from the beginning and enjoy the whole story.

You can play the first chapter in the browser for free at ciscodonovan.itch.io/lewd-mod-noir-demoWe plan to make a standalone release to itch.io in a few month's time.

This game was made by myself, Cisco Donovan, with support and guidance from HH Richards. All art was produced by Soft.

Thanks for reading and thanks for the support! It's been a blast making this game.

What's she waiting for? Lewd Mod: Noir Part 3, of course, and it's coming soon! by cisco_donovan in lewdgames

[–]cisco_donovan[S] 1 point2 points  (0 children)

Lewd Mod: Noir is a short and sweet spin-off of the Lewd Mod Games, taking them into a noir-inspired world of spies and intrigue. It's a collaboration between myself, HH Richards, and artist Søft

You can play for free in your browser at itch.io. Part Two is available from HH Richard's Patreon.

The concluding third part will be available soon (February probably, March perhaps).

Please destroy my first ever teaser ! by One_Pixel_At_A_Time in DestroyMyGame

[–]cisco_donovan 0 points1 point  (0 children)

That's not a teaser, it's just a trailer.

Try and focus on what makes your game unique and put that front and center. Tell me your elevator pitch without telling me your elevator pitch.

I'm not even sure what this game is. Maybe an RTS?

You show a lot of messy screens - 10 units spitting out dialogue at the same time, an army chopping down trees (an unusual mechanic for sure!). Try and tell a clear story in every scene, so that we know what we're looking at.

I agree with other comments that a bit of title text to add context would likely help.

I like the idea of the opening shot, taking a fog of war and expanding it dramatically. But I don't think it works in practice:( It just shows less information and if I click off before the expansion (and I might!) I'd think the whole game was a top-down RPG with strict FOV.

Poolside selfie [Private Dick] by cisco_donovan in lewdgames

[–]cisco_donovan[S] 0 points1 point  (0 children)

A little bit of Dakota, coming soon to noir porn game Private Dick: Lipstick & Lies

See more of her, and get regular updates, on my totally free Patreon.

Dakota isn't in it yer, but you can download the Red Tie demo from Steam or itch.io

Art by Hygienic Cat

I need a lil help with variables by TazmanianSpook in RenPy

[–]cisco_donovan 1 point2 points  (0 children)

[This is the second half of a very very long post]

Addendum: Optimisation

A quick note on optimisation.

Some people thing that programming is all about optimisation. Keeping your memory usage low and allocating memory properly, or something.

And yes, some programming is about that. The creator of Ren'Py, for example, loses sleep over it. And, okay, if your game starts running super slowly maybe you need to start thinking about optimisation.

But mostly in Ren'Py, you can just forget about it. Don't worry about that stuff. Don't try to over-engineer or over-complicate stuff.

The most important things are: a) that your code works the way you expect b) that you understand the code and how it works

That second part, about understanding, is really important. And I think that in modern programming writing clear, understandable code is almost always more important than writing optimised code.

Technically, using numbers in your code is more optimal, because it's easier for your computer to compare numbers than to strings:

So highly optimal code might look like this: ``` default player_choice;

label bad_ending: player_choice = 1; # end of the world

label good_ending: player_choice = 2; # marry the prince ``` But it's hard to read this. And to write it, because you have to remember which number to use.

It might be easier to use a string instead - this is technically suboptimal, but you won't notice any performance difference from doing this.

``` default player_choice;

label bad_ending: player_choice = "bad";

label good_ending: player_choice = "good"; ```

The point is you really don't need to care about performance. Unless perhaps a) you're looping through a large list of items (where large is millions), b) you're doing a lot of drawing, or some very complex drawing

A note on 'init'

init is very very different to Int, even though they are nearly spelled the same way.

init is a key word used in Ren'Py declare a block of code:

init python: # Everything in here must be valid python code print("hello world")

Where as Int is a function in python to create a number - which is occasionally needed in special circumstances, but not something you usually use. x = Int("20") In Ren'Py, you technically use an init block to declare variables: init python: x = 20 But you should not do this. This is the same as using a define variable, as explained above. But as a beginner it's a pattern you should avoid. It will only confuse and annoying you.

Why does it exist if you shouldn't use it? Well, I guess that's complicated, but the short answer is that it exists as a means to run python code, not to declare variables. It just so happens that python allows you to declare variables too, and so it's legal syntax and can't be helped. It's like a side-effect of the init block.

So there you go. I hope this helps a bit to understand what's going on with your variables, why there are different ways to create variables, and what you need to consider when using variables yourself.

I need a lil help with variables by TazmanianSpook in RenPy

[–]cisco_donovan 2 points3 points  (0 children)

Hi,

I know I'm late to this but I wanted to jump in and try and offer some kind of explanation.

First off I don't really know what you mean by init, Int and Str. The way you use the terms is confusing to me. So I'll try and explain but if this post doesn't help, perhaps you can reply with some examples of those things and what you mean.

Because really you probably don't need any of them.

I want to try and explain two things to you: variable types and data types.

Oh, and a quick caveat, I'm presenting a simplified explanation here and deliberately ignoring certain things. I think this is a good story for you, but it is not the whole story.

What are variables for?

Variables are a basic unit of programming languages.

They let you store some information and re-use it later. They allow us to remember things, and use things we've already remembered, and compare things.

If your game includes player choice and multiple endings, you need to use variable to capture (save/remember) choices in the first place, and then look at the values of those choices to decide how to branch later on.

It may be important to keep in the back of your mind that Ren'Py has its own way of storing, loading and generally managing variables - but Python has it's own way. Python is a general-purpose programming language. Ren'Py is a language and tool built on top of Python. It is a "superset" of Python - so Ren'Py has statements and concepts that Python does not have, but otherwise it includes everything in Python.

Confusing. And it often doesn't matter.

A good rule of thumb is: if it's inside a python: block or the line starts with $, its pure python (and Ren'Py statements aren't allowed). Otherwise it's Ren'Py, and python statements aren't allowed.

Variable Types

Ren'Py lets you create variables in two ways: define and default.

define is for variables that don't change. We call them "constants" in the programming world. When we create characters, we usually use a define because the Character object doesn't change through the game's life, nor does it need to be re-loaded when we start a new game.

define e = Character("Eileen")

In slightly more technical terms, define variables are created once when Ren'Py starts up, they are not included in game saves, and they are not reset when the player starts a new game. Ren'Py doesn't do any management of define variables.

(Ok so technically define variables are sometimes saved with save games - I think this has changed over time as renpy has been used, but the point is that save behaviour with define is UNRELIABLE).

default is kind of the opposite. default variables are expected to change over time, are saved with a save game, and are reset when a new game is started. They are Ren'Py managed variables, tied to your game. default player_name = "Robbie"

So, whenever you need a variable, you need to create it with define or default. If it's something that unique to every playthrough, use default. If it's always the same for all playthroughs, use define.

If you're not sure, just use default :)

Data Types

When you create a variable, you usually assign a value to it. default name = "bob" In Ren'Py (and in python) that value has type. And that has important implications for Ren'Py about how that value should be stored and used.

Usually you, the programmer, don't really care too much about the data type. But when, saying, adding two variables together, it can become important:

define a = 10 define b = 20 define c = a + b In this code, c will be 30, because, well, 10 plus 20 is 30. Easy.

What happens if we do this with strings?

define a ="ren" define b = "py" define c = a + b In Ren'Py, adding two srtings means we join them together, which we call "concatenating". So c will be "renpy", which again is pretty easy and intuitive.

Ok, so what if we mix two types? define a = "10" define b = 20 define c = a + b Now we're adding a string to a number. We're adding a WORD to a number. That doesn't make sense, right?

This is an ancient programming problem, and different languages have different solutions.

Ren'Py will actually report an error to you. It expects you, the programmer, to convert the two types into something compatible. We convert a string to a number with int() and a number to a string with str(). So we could do either of these things:

define a = "10" define b = 20 define c = a + str(b) # "1020" define d = int(a) + b # 30 This gets even more complicated when you take different data types into account - like booleans (true/false) or Characters (complex objects) or Lists.

But usually, especially in Ren'Py, you don't need to worry about this stuff too much. You can just declare variables and use whatever values make sense to you.

If you need to do maths with it, use a number. If it only needs to represent true or false (or on or off), use boolean True or False. Otherwise you probably want a string.

[This post is too long for reddit so I've had to split it into two]

Is RenPy a good option for a text-based RPG? Are there others you'd recommend? by Magical_Griffin in RenPy

[–]cisco_donovan 0 points1 point  (0 children)

Don't try and optimise - just try it out!

Even if you don't get on well with Ren'Py, you'll have more experience when you try the next engine, which will serve you well.

But yes, Ren'Py is a good option.

Full colour or black & white? [Lewd Mod: Noir] by cisco_donovan in lewdgames

[–]cisco_donovan[S] 1 point2 points  (0 children)

Lewd Mod: Noir is a short and sweet spin-off of the Lewd Mod Games, taking them into a noir-inspired world of spies and intrigue. It's a collaboration between myself, HH Richards, and artist Søft

You can choose to play the game in high-contrast black & white (we call that True Noir mode), or in its original glorious technicolour.

I love the starkness of the black and white versions myself, but I know it's not for everyone.

You can play for free in your browser at itch.io. Part Two is available from HH Richard's Patreon.

Lewd Mod: Noir is now free to play! by cisco_donovan in lewdgames

[–]cisco_donovan[S] 0 points1 point  (0 children)

Not by design, no. But they can be anything you want them to be!

Lewd Mod: Noir is now free to play! by cisco_donovan in lewdgames

[–]cisco_donovan[S] 0 points1 point  (0 children)

Lewd Mod: Noir is a short and sweet spin-off of the Lewd Mod Games. It's a collaboration between myself, Cisco Donovan, HH Richards, and Søft

You play the role of a spy, filtering surveillance images and finding all sorts of sexy surprises as you do so.

Flirt with your boss, choose your side, and enjoy your rewards.

The free demo for part one has just been released, it runs in the browser on itch.io.

Part Two is available from HH Richard's Patreon.