Weekly Penguin
March 22nd, 2025

First progress update of 2025

Slow progress is better than no progress – and these most recent steps have been meaningful ones in piecing together the other form of gameplay for the Next Game. So let's just jump right in.

What am I working on right now?

Currently I'm working on two different things at the same time, both aimed at making the other of the main forms of gameplay in the Next Game feature ready.

The other is the kind you'd expect by now; making enemies. The art assets I created during the holidays and onwards have all been implemented, now it is time for rigging up their behaviours. This is slower than usual, as I'm also setting up some of the missing gameplay fundamentals as I go. It's nothing to extravagant, mind. For example something as simple as dropping items; if the enemy would, on death, drop an item I haven't done yet, now is the perfect time to tick that box from the to-do list as well.

As a result, this part of the gameplay is getting more and more feature ready as I go. Naturally most of the stuff will likely have to be tweaked for balancing later, but that's small beans compared to getting it all in the game in the first place.

The second part is creating a whole new map data type. This is the first since the original TAGAP. Yes, for real, though there have been tons of features added to the engine, all these have been accessed via the same old map data types; entities, triggers, polygons, linedefs and messages. For example; though the skeletal animation system completely changed how the games were animated with TAGAP 3, all these animations are accessed via entities or triggers.

So, this new data type; it is called 'wire mesh'. It is not called that because of the rendering technology, but in what it is in the game world world; a polygon mesh that represents a wire.

The first obvious questions is: 'wait, hold on, there are wires all over the place in the games, why waste your time on this?. The answer is simple; because I decided I don't want to keep wasting time in the future.

Here is an example shot of TAGAP 4 level editor, with a wire set up.

Electric wire assembled from texture polygons in TAGAP 4 Editor.

In TAGAP 1 to 4 this was done via texture polygons. Each segment of the wire in this example – the start, the horizontal segment, the corner, the vertical segment and the vertical end – is a separate polygon with a different texture applied.

Every time you see a wire in the old games – unless it is one hanging overhead which is typically done via triggers – it was done tiling up polygons with proper textures. This is time consuming, restricting and less efficent in terms of rendering. The last part doesn't matter that much with TAGAP games, it's not like they're pushing your graphics card that hard, but is still not so great practice.

But here's how the Next Game handles it in the editor:

Electric wire as a wire mesh in the editor of the Next Game.

In this case all you need is to draw a line with five points – four normal points and one Bézier control point for the corner – and the engine calculates a mesh for you. Just select the type of wire (defined as an entity for the editor), set the style for points (i.e. default, end-of-wire or a Bézier control) and that's it.

Everything about this system is faster to implement than with the old one. Need a wire that runs along the wall diagononally? No need to wrestle with aligning the texture coordinates, the mesh handles it. Need a toggle-able power cable /w effects? No need to add effects and texture toggles as triggers, just link the wire mesh to the controlling trigger and that's it.

Though I originally did this just for electric wires, it is not what the system is limited to. It can (and will) be used for a tons of stuff, like pipes or scaffolding structures (all of those, too, are assembled from separate polygons in the old games). All you need are the art assets and an entity to use as a wrapper for them, the Next Game engine does the rest, both with pre-calculating the mesh and via use of shaders.

There's one more additional benefit to this system that I won't show yet – it'll become obvious when you see the game in action but I don't want to debut the game with a screenshot of a bloody electric cable. Obviously.

That said, the above editor shot is technically the first public screenshot of the Next Game.

Playlist

Playlist is a regular feature in our Penguin DT blog; A chance to highlight cool games both old and new that I've been playing. As always, I believe that in order to make games, you need to play them, preferably with a broad scope when it comes to genres, so each day I dedicate at least an hour to actually playing games. The rest of the free time? There is no such thing, it all belongs to TAGAP!

It's stressful time for turbulence going on in my non-TAGAP life, for multiple reasons that can't be helped. It's to the point it makes one wonder how much longer I can keep things going, honestly. As a stress-relief I decided to do two things – play some games I've loved and upgrade my gaming setup to be ready for DOOM: The Dark Ages.

In practice that means I've been replayed the Bioshock series. On PS5 Pro. Hey, I'm a physical games collector, so that was the only option left.

As for the Bioshock experience, the first two are utterly timeless and haven't aged a bit. The lower-than-modern polygon count doesn't matter when everything looks just so – well, Bioshock. If I had to come up with anything that hasn't aged well, it's the 'cured' Little Sisters in the first game – and that is more thanks to the animations than anything else.

I've had an absolute blast with re-living this series. I won't say much about it – if you've managed to live under a rock and avoided spoilers, I don't want to be the one to ruin things for you. Just go play them today, at the very least the original. When it comes to video game writing, it is still hands down my all time favourite.

Also; even though Bioshock Infinite is pretty controversial among the fans, it's DLC Burial At Sea is an absolute must-play to all fans of the original. It is a direct prequel the first game, set in Rapture before everything goes to hell. You will need to play Infinite beforehand to understand what is going on, mind, as it connects the stories of Rapture and Columbia together.

The only 'next gen' game I've played so far is RoboCop: Rogue City.

Let's put the game this way. Do you like the first RoboCop movie? Do you like cyberpunk? Do you like sci-fi RPGs with well written stories? Are you a 'graphics prostitute' who wants to make their RTX card sweat for amazing results?

If the answer to any above was yes, grab the game. It's the best sequel the first movie ever got. It captures the tone of the films perfectly and thought the action-heavy trailers make it out to be an FPS, it is also a 'cyberpunk cyber-cop simulator'. You don't just shoot things, you're in the dystopian slum to solve crimes and uphold the law. Sometimes that's shooting a warehouse full of drugged up punks, other times that means finding a stolen vehicle, solving a murder or writing a parking ticket.

There's some fan service too, of course, but never to the point it sacrifices the tone or the story. The moment you get to assault a heavily armed gang hideout whilst being backed up by ED-209 was especially amazing. ED-209 is my all time favourite sci-fi robot design and seeing it stomp beside you, mowing down punks, all in the most photorealistic graphics RTX cards can push?

Yeah, I bought that for more than a dollar. I recommend you do too.

What's next?

The Next Game; Create all the assets for the wire mesh system for all its different implementations. Right now only the electric wires are implemented, all the different kinds of piping will be next. I will also try to implement more sound-work to the alternate gameplay sections. The sound design of the Next Game has a bit different tone to it, so I need to approach things differently.

On Playlist; I'm trying to go through my backlog '1 for 1' style. One old-gen, followed by one next gen. Next would be Graven representing old gen.

Until next time,

Jouni Lahtinen, the head penguin