Avatar

Bob C Games

@bobcgames / bobcgames.tumblr.com

Old devlog - Please visit http://bobcgames.com instead

Nanoreno 2019

I’ve pretty much abandoned tumblr, but here’s a small update to say that I’m working on a game for Nanoreno 2019!

I’m collaborating with the amazing Wolfscade, who is in charge of sprites (and possibly CGs). I’m doing the writing and programming, as usual.

For more details on the game, including previews, check out my Twitter.

As always, info on this and other games I’m working on can be found on my Twitter or my website.

Avatar
Reblogged

The final sprites are all in, so we’re a go for our Saturday release!

Avatar
Reblogged

YAGS Release Date

Barring unforeseen circumstances… YAGS has a release date!

The game will go live on itch.io on Saturday, January 19 at 10 AM EST.

Please follow either my twitter or the official website for more info as we get closer to the date.

Avatar
Reblogged

BL and Gay Games Showcase: The 2018 Edition

Are you still here? If so, then welcome to our second BL game showcase! :D

While this year may have been disastrous in many aspects (including the infamous “Tumblr purge”), 2018 brought us a variety of BL games, long and short,  from various countries.

Onwards to this year’s BL game releases!

My Magical Demon Lover by Y Press Games

Yamila Abraham’s first visual novel, My Magical Demon Lover is a lighthearted, adult fantasy BL game about banging demons to become a wizard.

Red Embrace by Argent Games

Inspired by Vampire: The Masquerade, Red Embrace is about the vampires of San Francisco and the humans who deal with them. Rated 13+.

Blood Domination by Otomedou / Abracadabra Inc

Have you ever read a fanfiction set in a Dom/Sub universe? Now apply the same concept with school and vampires and you get Blood Domination, a Japanese mobile game.

May by Team Spieluhr

A short kinetic BL game from Russia (yes, Russia), May is a tragic story about friendship, regret and the loss of a loved one. It’s currently dirt-cheap on Steam.

Brassica - A Marry Tale by Boys Laugh+

By the German folks who brought us Teach Me Onegai! last year, Brassica is a fairy tale in 5 acts about three princes the princess they are supposed to compete for.

Grand Kokoro by Seram Studios

A story about “heartbreak, tragedy, acceptance, perseverance and mental health”, with some supernatural elements thrown in the mix. Grand Kokoro is the first episode in the “Grand” series. Next up is Grand Damasu.

Gakuen Heaven 2 ~Double Scramble!~ by Spray

You play as Yuki Asahina, a new student at the prestigious Bell Liberty School, where he is suddenly given the role of the Student Body President and tasked with “protecting the school”.

The English patch, 4 years in the making. was made with much love and care by @fuckyeahgakuenheaven .

Tekikara - Boyfriend or Foe? by Abracadabra Inc

A Japanese mobile game about catboys and two feuding nations trying to reconcile through a study abroad program.

Seiyuu Danshi! by Meyaoi

Seiyuu Danshi! (or SD) is an adult stat-raising sim from Indonesia in which you play as Haato, a newbie voice actor looking to win the annual Seiyuu Award. SD is famous, amongst other things, for its “foreplay mode”.

To Trust an Incubus by Y Press Games

An adult sci-fi visual novel in which Kenta, a temp worker in a laboratory, gets to know (and possibly bone) the four mysterious incubi trapped there.

Sweet Pool by Nitro+CHiRAL

Localized by JAST USA and translated by Verdelish, Sweet Pool is probably N+C’s most obscure title, infamous for the protagonist’s “meat babies”.

Note that the Steam version is censored and requires you to purchase a patch to restore the adult content.

Jast USA - Steam - Physical edition - Premium Fan edition

Yaoi Game Jam 2018

The Yaoi Game Jam (or YaoiJam) is an annual game jam in which game devs create a queer-themed game in the span of 2 months. Most of the entries are free and very short (less than 2 hours of gameplay). Some are complete projects like Yarrow Valley, while some are demos and prototypes for longer projects, such as Metamorphoser and Sexylitter. And a few ones are the Act 1 of a longer series, like Star Crossed (pictured).

Participating in a game jam is a good way to find teammates and put a foot in the game dev world!

Bara Jam 2018

Hosted by Soulsoftea, the Barajam is another game jam that made its debut this year, this time with more “male-oriented” content in mind. Besides the beef, the BaraJam entries also offer different styles of narration and ideas, whether comical like Earth Boys are Easy, or more serious like Blood and Lust (pictured), that you may not have found in the Yaoi Game Jam.

A few titles, like Monstrous LoversChasing the Stars and Full Service that were originally planned to come out during 2018′s last quarter were delayed for various reasons. Hopefully they’re nearing completion and will come out in 2019!

And that closes the 2018 showcase! Hope you try out some of these and tell their creators or translators what you think! :D

New Website

I’m starting to move off of tumblr. I’ll probably still mirror posts here for a while, but the most up-to-date stuff can be found either on my twitter or on my new website

For blog posts, specifically, you can hit up http://bobcgames.com/blog/?cat=5 (I’m still in the process of moving posts over from tumblr, but they should all show up there eventually.)

Avatar
Reblogged

Find me on Twitter

I’m still here, for the time being. My content doesn’t seem to have been too affected, since it doesn’t have visuals of sex or genitalia.

But I’m also on Twitter as bobcgames, and I tend to post there more frequently than tumblr anyway.

So please follow me on there if you’re migrating away, or otherwise worried what the future may bring for this platform. I’ll look into some alternatives like pillowfort.io, as well.

Avatar
Reblogged

Human Cargo Public Demo Available Now!

The first public demo of Human Cargo is now available to download!!

The demo features a complete route for one character, Kol, captain of the cargo freighter. Final sprites are in game for Yoshi, Kol, Razix, and the NPC side characters. A preview of Nasir’s sprite is also in game.

Look for Doc and Zed to appear in future updates. Backgrounds are also in progress and will be added with regular updates.

Two music tracks are complete: Cargo Freighter Theme and Pirate Raiders Theme. Kol’s Theme is the next track to be finished.

If you’re interested in helping fund development, consider becoming a patron at Patreon. All contributions will go into developing the visual novel: paying for graphics, music, and other things I am unable to create myself.

I would love to hear any feedback you might have!

Download now at itch.io!

Avatar
Reblogged

Codes: Censoring Nudity (the YAGS way)

One of the things I’ve been more aware of recently is nudity in games, and particular how that plays (or doesn’t play) with payment processors.

A lot of games, to stay on the safe side, have released their games in a “censored” mode and then released patches to re-enable nudity. I’m not sure how other people do it, but my goal was to make it as simple as possible for users (one file to replace) but also give myself a lot of control over changes.

As always, I don’t pretend that this is the right or best way to do things… only that it works for me.

First off, you have to identify what file(s) and game declarations have nudity or will be affected by censoring. In my case, I have both nude sprites and nudity in my CGs, located in /images/chnew and /images/cg, as well as LayeredImage declarations for my CGs.

image

We start by defining a new rpy file ndpatch.rpy to hold the aspects that require and control patching. Because of the way my sprites work, the only other thing I need in here is the CG definitions*. We also include some additional constants, for use later.

## Is nudity allowed at all define nudityIsAllowed = True ## is for uncensored, c is for censored define nudityverending = "" ## Align the game with the patch version where necessary ## Update expectedndpatchversion in options.rpy define ndpatchversion = 1 layeredimage person_cg: always: "cg/person_base.jpg" if persistent.bodyhair_person: "cg/person_hair.png" if not persistent.nudes: "cg/person_censor.png"

Next, we define a separate rpa file for everything related to nudity (the sprites, the CGs, and the ndpatch.rpy file itself). This should come first in the build.classify calls since each file will be placed into an archive based on the order the rules are declared, in options.rpy. We also add a corresponding constant that will not be built into ndpatch.rpa.

## Match the patch version in ndpatch.rpy define expectedndpatchversion = 1 init python: build.archive("ndpatch", "all") # Nudity build.classify("game/ndpatch.rpyc", "ndpatch") build.classify("game/images/chnew/**", "ndpatch") build.classify("game/images/cg/**", "ndpatch") ...other archive and classify calls...

Now, we make a copy of the entire game project. In that copy, we edit the rpy file to reflect censored nudity.

## Is nudity allowed at all define nudityIsAllowed = False ## is for uncensored, c is for censored define nudityverending = "c" ## Align the game with the patch version where necessary ## Update expectedndpatchversion in options.rpy define ndpatchversion = 1 layeredimage person_cg: always: "cg/person_base.jpg" if persistent.bodyhair_person: "cg/person_hair.png"

And then we also make sure, in the censored version of the project, we merge the censor in the CGs with the base layer (so even the raw game assets don’t have nudity that can be uncovered via unarchiving the rpa file later). Similarly, any sprite image files that have nudity in them must be edited in the censored version of the project to remove or obscure nudity.**

Technically, this is enough to get censoring working. You would simply build a distribution of the game via the censored version of the project, build a second distribution via the uncensored version, and provide the ndpatch.rpa file from the uncensored version for download. The images will be replaced in the game with uncensored versions when the ndpatch.rpa file is replaced, since they are part of the ndpatch.rpa file.

However, we can do a little better.

First, you can use the nudityverending constant to change how the version of your game displays, to make it obvious whether it’s got nudity or not. For example:

screen about(): ...stuff... text "Version [config.version!t][nudityverending]" ...stuff...

Second, your game may later need to change in a way that makes an older ndpatch.rpa incompatible. For example, if you add a new sprite expression, someone with an older ndpatch.rpa file that tries to use it against a newer game build will see errors when running the game. Similarly, if you delete an asset, someone with a newer ndpatch.rpa file will see errors with an older game build.

This is where the ndpatchversion and expectedndpatchversion constants come in handy. You can ensure they are equal when the game starts up and show an error or warning if they don’t match. For example:

label start: if ndpatchversion != expectedndpatchversion: "Your ndpatch.rpa file is the wrong version for this build of the game." "Please download the latest patch and game from URL." return

and

screen main_menu(): fixed: if ndpatchversion > expectedndpatchversion: text "{size=50}{color=#000}Your ndpatch.rpa is newer than the build of this game (v[config.version]). Please download the latest version of the game before patching.{/color}{/size}" xsize 500 xanchor 0.0 yanchor 0.0 pos(550, 100) elif ndpatchversion < expectedndpatchversion: text "{size=50}{color=#000}Your ndpatch.rpa too old for use with this build of the game (v[config.version]). Please download the latest version of the patch and try again.{/color}{/size}" xsize 500 xanchor 0.0 yanchor 0.0 pos(550, 100)

which then lets you bump both constants whenever you make a breaking change (like adding or removing a sprite asset or cg).

Finally, you can use the nudityIsAllowed constant inside the game itself anywhere that you want to handle differently in a censored vs uncensored game. For example, I change the warning that shows at the beginning of the game to reflect explicit vs non-explicit nudity.

There’s probably a way to make this work with a single Renpy project that builds both a ZIP distribution and a separate ndpatch.rpa file. But it seemed easier to me to just duplicate the project. But because of this, you probably want to do this work when your game is otherwise done, or you’ll potentially have to make bug fixes in both copies of the game project.

* Yes, I could have left the CG declarations outside of ndpatch.rpy and simply censored the base image, but that would require me to have a cg/person_censor.png file in both versions of the game, and that felt inefficient for me.

** Identifying and editing relevant images is where most of the work is, really. If you just want to flat out replace images, you don’t even need an ndpatch.rpy file. Simply declaring an ndpatch.rpa archive in options.rpy, and including all image files that will need to be censored in that archive, would be enough.

EBAE: Week Three

The game is almost in a shippable state already. We’re only missing some final GUI tweaks (mainly the choice menus), some CGs, and the final background in terms of required things.

I staged music and sound effects throughout the game this past week. Also did some more GUI tweaking and writing cleanup.

@poorlyformed has been hard at work on backgrounds, and we should have the last one shortly... then it’s on to CGs.

We’ve also now got a gallery that unlocks images as you complete the game.

Progress!

EBAE: Week Two

I’m apparently bad at updating on time. Oops.

On the writing side of things, I’m up to just under 11,000 words, and am calling the script done for now. There’s still some polish I’ll need to do, but I’ll wait until we finish staging the game for that.

I’ve also started working on the GUI. It’s very.... eggplant-ful. And I really like it.

On the art side of things, @poorlyformed has finished another two backgrounds as well as some other random pieces of art for the game.

Hooray progress!

Avatar
Reblogged

Bara Boarders is complete and out now on itch!: https://soulsoftea.itch.io/baraboarders

I’m really happy that despite being so busy with hosting the first ever Bara Jam (2018), I was still able to participate and do my part in increasing the amount of English Bara Game content out there! Oh, and did I mention it’s 100% free?! So go give it a shot and let us know what you thought on the comments section of the BB Download page, or visit the LSF forum thread: https://lemmasoft.renai.us/forums/viewtopic.php?f=43&t=52200

Support Bara and Bara Jam so that we can get more of the kind of games we love <3

Avatar
Reblogged

Via @soulsoftea comes the first ever piece of YAGS fanart (Adam, Elliot, and Steve), and via @wolfscade comes piece #2 (chibi Adam!), and I am both blown away by how amazing they are, and touched by the effort put in.

Ahhhh I am so excited to see these.

The placeholder sprites have been unexpectedly popular, so I’m actually going to carry them through in the final game as an unlockable sprite option. But seeing them together with finished Adam in the first piece (much like the game in its current state) is just ridiculous and awesome.

Also now I want to commission more characters in chibi form…

EBAE: Week One

In case it wasn’t obvious, I’m working on a game for barajam (Earth Boys Are Easy) with the amazingly talented @poorlyformed. It’s technically been more than a week, but we’ll call it that for the sake of simplicity.

In that time, I have written approximately 7800 words, and staged all of the current sprites and backgrounds. 

PF has, naturally, finished up three sprites (Ajax, Cato, and the MC Luke), as well as one background (with a few variants). There’s also some other completed art (the logo and title screen image), but those aren’t in the game yet.

Here’s a screenshot which demonstrates pretty much everything that exists so far in the game.

It’s a little weird seeing the default RenPy GUI, because GUI replacement is usually one of the first things I do in a game. But that will have to wait until after writing is complete, in this case.

Onward!

Sponsored

You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.