All posts by P Svilans

NG Game Jam 8


I never write here anymore…and I always say that’s going to change…so no promises on that in the future.

Anyways, to the point. Last weekend I took part in the Newgrounds Game Jam 8, with my partner, Nicholas Deary. We both have worked together in NG Jams before, about 3 times together now, so we are starting to get to know each other pretty well in terms of working and mindflow. Interestingly enough, right after game jams, we usually just go back to our own business and start messaging each other again only right before the next jam!

This time that’s changing a bit, since we didn’t finish our game for the game jam deadline, even though the game engine is working almost 100% as we want it to. All that was lacking was content, in terms of puzzles, and art, and a point to the baddies, which all they did was run at you, if they hit you, you saw static for a bit, otherwise they just disappeared after 5 seconds.

Here are 4 screenshots of the current engine:

Screenshots x 4 of the game engine.
Screenshots of our game, which will hopefully be finished next week!

Currently you can walk around, look at certain things, pick up items, and toggle switches (open doors). Might not seem like a lot, but each item and switch can have a required item to pick it up/use it. Also, switches can be linked to multiple doors, with either open, close, or toggle commands, which gives us a chance to make puzzles in getting the right order or switches or something. It isn’t a lot…

But that’s why we’re going to jam things up this coming weekend again, and stick in a few more features, and prepare a proper level to explore and do stuff in! Additional things I want to get running from the engine side is switches not only open doors, but switches themselves having an active state, and they can be a requirement for picking up items or using other switches. And switches to have different types, like a user activated switch or auto switch, that activates when the player, or other entities are nearby. And also if it’s a toggle switch or a momentary switch (while standing on it, it’s on, when you leave, it’s off). This will already multiply the possibilities of different puzzles, especially if you need to use the bad guys to solve certain puzzles!

The whole take I’ve had on this project is not as an action top-down shooter, but much more like a puzzle game, with horror elements. Right now the horror is working out okay, but sound work as well as an improvement on the gfx should help. While you can do it, there is currently no point in equipping items, as you need to use them from the inventory with your mouse on other objects. I might change this to having to equip and hit other items to use it, if anyone actually reads this, they can leave a comment below suggesting something! :)

I have thought about doing pop-up puzzles, or password entries, and I’m starting to think it might be out of scope for the current game, but in the future, you can count on it!

A funny afterthought about this whole game jam thing….I’ve been working on and off on my zombie game engine for the past few months, with pretty good results. This last weekend I created a whole new engine (with a few parts tugged off of the zombie engine) in under 48 hours, and it is already better than my zombie engine in terms of features. This means that the old zombie game project is off, and I will be continuing work with this engine in the future. I think it is a really good base, since it also made improvements on level editing in Flash (it now parses a textfield that should contain a JSON object to give objects properties).

Pfff…anyways…if anyone is reading this, thanks for reading all the above, I guess it’s kind of a long read. Any questions? Comment below!


Gears are creaking…

Haven’t updated this place in ages, but then again, I highly doubt anyone reads it anyways.

But for the sake of having a blog, here’s an update on things:
I’ve been super busy.
Music “career” had a small boost, record label and whatnot, but nothing too huge yet.

Zombie game is back on!
I restarted the engine from scratch redesigning the architecture like mad. It’s making working with the engine much easier, plus I’m using the NAPE AS3 physics engine to handle collisions, and so I should have more features than initially planned, and overall it’ll hopefully look very shpamtastic.

So far where I’m at is having the physics running and just boring engine stuff. Still have some things to sort out with weapons and object spawning in general…can’t figure out a good way to stick it all in and keep everything nice and clean between classes.

I’ll up a demo as soon as I get something interesting going, but a big feature add is the ability to drag objects in the game (thanks to using a physics library). I’ll probably be using that a lot for puzzles and also to hide from/block zombies (Penumbra/Amnesia style, except 2D)

Humdumdum…I guess that’s it for now. I’ve been working on a snazzy tech demo for some dynamic grass, not sure if that’s worth uploading yet either. But depending on how much I can optimize it/make it work, one more treat to be seen in the zombie game! It gets a very nice moving atmosphere.

Till next time, hopefully in the next month you’ll be seeing some stuff. And by “you’ll” I mean the Google web crawlers who are probably the only ones who check out my blog.


Engine guts.

Since I’ve already been working on my engine for a few months of on/off, lazy work, I’ll just give a small update on what’s going on inside up until now.

My first task was doing collision detection/response of course. The engine is based on circles and lines, with no support for more complicated figures. My goal for a future version is to have better collision response and more dynamic detection (I’ve only got the bare minimum to keep stuff from going through walls).
One thing I’m happy about is that the calculations are totally perfect. It’s impossible to have tunneling with any figure as collision detection is done by trimming a shapes movement vector until it no longer collides with anything (there’s a simple resolution phase where it pushes shapes out of other shapes automagically).
There’s a problem with squeezing, where if you try to move a circle between 2 lines that eventually become too narrow for it to pass through, the circle will go over one edge (to do with the resolution phase mainly).

After I was happy with my collision engine, I started doing things in the wrong order, and setup my lighting engine. I had an old prototype of this sitting on my desktop, so getting it up and running was a matter of extending old code. New features in this engine though are the gradients (pre-rendered bitmaps), and circle shadow support. I plan to give the zombie game a heavy horror influence, so lighting as a result will play a considerable role in the gameplay (zombie AI will respond to the player’s flashlight).

Parallel with lighting, I began working on the zombie AI (which is about half done, depending on how many more fps I’ll be able to squeeze out; future plans are having them react to light, and react to each other (if one sees you, then other zombies who see that zombie will follow him)). The zombie AI is quite simple. It depends on a node network, which isn’t my vision for an ideal AI, but it will do for this game. Wandering is simple: Zombie finds his nearest node. If that node is far away, he first travels to that node, otherwise directly proceeds to the next step, which is finding a random connecting node (this is one thing I plan to change, or at least constrain in some way just so that the movement doesn’t seem so random).
As soon as the player is in sight, the zombie will directly follow him. Upon losing sight, the zombie subtracts the players movement vector from his last position that was seen, and goes there. Then, it finds the closest node to that point. If that node is nearby, the zombie proceeds to the next step, otherwise adds the node to the zombies target list. Next, it compares all the node’s connecting nodes with the player’s last seen movement vector, so that it follows the player somewhat. The next step which I haven’t implemented yet is for the zombie to further add the nearest node from his last node, since when running away, players will usually take many short paths to lose sight of the zombie as quickly as possible.

So far that’s what’s going on. With shooting I’m just raytracing through the obstacles and zombies, and adding another light source over the gun.
I can’t promise frequent updates, but upon serious feature adds, I’ll most probably write up a blog post explaining them.

Enjoi the alpha engine!

Blog is up!


This blog, and website in general, is just a place where I will post stuff I’m doing, and most of all, talk about/show game design and AI concepts. I’m currently working on a Zombie Shooter, which will hopefully be up soon enough, just gotta get it to the Alpha stage…