Tagged: ren’py

paradigm shift

A wave of exhilaration just now as I realized the whole of Collegia might be more easily built in Unity. It sounds absurd, I know: a menu-heavy game based around text and static art in an engine designed for 3D? But the more I work with Ren’Py, the more clearly I see its limitations.

My coding knowledge is not sufficient to build things from scratch, which it appears I would have to do fairly often in Ren’Py to get the sort of presentation I’m looking for. It’s an engine built for a specific type of game. It does this and some small variation within this very well. But I can’t help myself; I seem always to have little ideas that don’t quite fit existing frameworks. I could invest the necessary time into learning Python and the specific quirks of Ren’Py, but it feels more and more like starting anew on a path with fewer possible endpoints.

Whether it’s just my longer experience with the engine or a greater inherent flexibility, Unity is looking better and better every day. Having to work through problems in Unity specifically not only confers the general benefit of more programming practice, but increases my familiarity with this toolset I’ve already decided I quite appreciate and want to use in the future. And if I want to break the format at some point (e.g minigames, visual simulations, etc.) I’ve got much more in the way of already-established framework to build upon. Also, given my Google-heavy approach to problem solving, the much wider base of Unity users gives me a great deal more experience and examples to draw from.

I still feel like I’m teetering on the threshold: do I take the plunge? Am I ready to dive deep into Unity’s shadowy underbelly? It might not be pretty, sure, but if I can make it through it will be with greater future applicability. And that’s not even considering the ease of porting Unity games to different OSes and displays and control schemes…

Ah, okay. I think my mind’s made up. My trepidation at getting into entirely new territory has been replaced by that of looking much more closely at that which I’ve already tread. Adventure awaits!

deeper down this rabbit hole

Today provided a good dose of reality:

Ah! All my poking around has proved fruitful at last! It’s viewports that I’m looking for! Yes! Exactly! Now to prise open a few of the implementation tricks I’ve seen.

My god. I know nothing about Python.

Perhaps “nothing” is an overstatement, but boy was it humbling to open up some proper code. But then, in one of the beautiful contrasts of life, I was able to help answer someone’s Twitter question about Unity : ).

The big wheel keeps on turnin’…

walk before you run

The beginning of a new week! A fresh surge of willful energy and all the time one could want in which to explore it. I recall piecing together my game plan as I drifted off to sleep last night: “Should I start by drafting the entirety of the mechanics? Jump right in to Ren’Py? Or learn it all from the ground up?” The morning saw me, necessarily, taking the last of those options.

You see:
I’ve got a pretty good idea of how everything in Collegia will fit together. Some of the interactions will need refinement, but all the major pieces are conceptually in place. Were this a board game, I could grab my scissors and cardstock and whip you up a simple prototype in under an hour. But it’s not! It’s a digital game constructed in an engine I don’t know with a language I’ve never used! So, to reuse a favourite analogy of mine, I need to learn how to use these particular scissors and what exactly you can do with this strange new cardstock. So today brought a simple start:

  • Formatting! Python is markedly different from JavaScript in its use of whitespace as a meaningful parsing element, instead of just a personal organizational preference. It took me a little while to adapt, but I am very much a convert. Not only does it do the job, it standardizes everything! It makes learning from examples much easier.
  • Storing and accessing variables! The crux, really, of what will make Collegia a management game and not, as the engine would encourage, an interactive novel. <Ha! I just thought up a new genre term. Collegia will be a Lore Game. Need to remember that.> Having a basic knowledge of how variables and arguments are passed and called in code has helped me a lot here, but as so much of what makes it work is contextual, I’ve been taking thorough notes about how exactly Python prefers this to be done. Knowledge++ ! <wait, no. That doesn’t work in Python>
  • Making the experience feel distinct from its engine! You know that launcher that precedes so many Unity games? “Choose your resolution, your graphics quality,etc.”? I don’t like it very much. It’s a preassembled bit that, although it allows some easy customization tweaks, is ultimately shaped in the image of the engine, rather than built to optimally present the game waiting behind it. Starting in Ren’Py with this in mind is helping me to make decisions based around presentation as I go along. It just won’t do to have the default text boxes along the bottom of the screen, centered option buttons, and a thoroughly practical font. Bring on the theming! (but only so far, of course, as it serves the game…)

So it’s only really three things today. Not terribly much when I look back on it, but an important start. This evening I want to play with screen elements. Slide-out trays and optional overlays and all these little leaves that fold in on themselves ad infinitum. Well, we’ll see. That might be too much of a jog for a little old hobbler like myself. But I think I just might feel a second wind coming on.

saga the first

49 B.C.: Julius Caesar’s rise to power over Consul Pompey  heralds a new age for Rome. But the transition is anything but a smooth one as existing power structures crumble and are built anew. It is for some a time of turmoil, but for those with a keen eye and swifter hand, it is undeniably an age of opportunity. And so the collegia of Rome, longtime denizens of the streets and dealers of the underworld begin once again to stir.

<Ha! Hadley forgive me; I’m definitely not the historian in this operation.>

In this ever-shifting world of secrets, intimidation, and ill-gotten gains, it’s up to you to see your collegium to the top of the dogpile. Select only the best to be your advisors, but maintain a close eye lest their aspirations grow to write you out of the history books.

Whether yours is a saga of careful manipulation and insidious conquest or the protracted death rattle of a dying institution, history awaits your indelible mark.

Collegia: Gangs of Rome
Summer 2045

ren fare

Having decided that Ren’Py will provide the straightest path to Rome (actually going to give it a shot! hooray!), I’ve cracked it open again to familiarize myself with its scripting format and general Python syntax. What better way to learn than with the built-in tutorials, right? That way I can see all of these neat tricks in action!  Well, this is where I run into the long and tumultuous history of illustrating visual novels with anime schoolgirls :S. Ah, I’m half-kidding: the presentation style of the tutorials is certainly a ways off from what I’m imagining for Collegia, but they do an excellent job of illustrating the various scriptable effects. It’s a huge help to be able to look at the script of the tutorial as I’m playing, and, given the fairly linear nature of Ren’Py dialogue scripting, is very easy to follow along with.

I’m eager to approach the problem of reappropriating the engine somewhat. Admittedly, a visual novel is not as far from the broad-scale historical resource management sim I’m envisioning as a first person shooter might be, but it’s something I’ve never really done before. My attempts at forcing Unity into 2D have all been a little sketchy.  But I feel like I’m back on the horse again, getting excited about coding like I haven’t been since Power Blaster. It helps, too, to have a highly enthusiastic brother on board with the project.

Exciting business to transpire tomorrow.