Author Archives: Erik Nord
Eyes Align – Presenting the Game
Over several weeks, I have prepared a five minute presentation to showcase the game.
It is structured in a way to show present the audience first with the premise and story of the game, then proceeding to quickly explain the mechanics. The last part is dedicated to explain the art style with real puppets and the finale is used to tie back to the introduction.
I’ve used music and audio from the game in order to set a mood for the presentation.
Eyes Align – Presenting the Game
Over several weeks, I have prepared a five minute presentation to showcase the game.
It is structured in a way to show present the audience first with the premise and story of the game, then proceeding to quickly explain the mechanics. The last part is dedicated to explain the art style with real puppets and the finale is used to tie back to the introduction.
I’ve used music and audio from the game in order to set a mood for the presentation.
Eyes Align – Dialogue Changes
Balancing dialogue to be both interesting and a challenge, while also providing the player with many choices is quite a difficult venture.
The dialogue mechanic of the game was at the start meant to be something far more complex than what it turned out to be (see the blog post Eyes Align – Development Week 4 for more information); our huge ambitions were dashed upon the stones of reality.
So what happened exactly? Branching dialogue, using the hub and spokes approach […]
Eyes Align – Dialogue Changes
Balancing dialogue to be both interesting and a challenge, while also providing the player with many choices is quite a difficult venture.
The dialogue mechanic of the game was at the start meant to be something far more complex than what it turned out to be (see the blog post Eyes Align – Development Week 4 for more information); our huge ambitions were dashed upon the stones of reality.
So what happened exactly? Branching dialogue, using the hub and spokes approach […]
Eyes Align – Narrative Structure, How it Changed
In my opinion, the most difficult part to get right in any story is the middle: The story needs an introduction which grabs the reader’s, or player’s, attention and a fitting conclusion that either wraps up lose ends or creates new ones to keep the reader wanting more. The middle, however, serves as the majority of the script and fills out the world, the characters and the conflict.
At the start, the middle was loosely defined as a chain of events; […]
Eyes Align – Narrative Structure, How it Changed
In my opinion, the most difficult part to get right in any story is the middle: The story needs an introduction which grabs the reader’s, or player’s, attention and a fitting conclusion that either wraps up lose ends or creates new ones to keep the reader wanting more. The middle, however, serves as the majority of the script and fills out the world, the characters and the conflict.
At the start, the middle was loosely defined as a chain of events; […]
Eyes Align – Switching Engine to Ren’py
As the three first weeks of production came to a close, our attempts at using Unreal 4.0 as our game engine has been less fruitful than we expected, and as our alpha deadline draws close, a switch to something more suited for our project was deemed necessary.
Enter Ren’py, a game engine designed specifically for visual novels:
”Ren’Py is a visual novel engine – used by hundreds of creators from around the world – that helps you use words, images, and sounds […]
Eyes Align – Switching Engine to Ren’py
As the three first weeks of production came to a close, our attempts at using Unreal 4.0 as our game engine has been less fruitful than we expected, and as our alpha deadline draws close, a switch to something more suited for our project was deemed necessary.
Enter Ren’py, a game engine designed specifically for visual novels:
”Ren’Py is a visual novel engine – used by hundreds of creators from around the world – that helps you use words, images, and sounds […]
Eyes Align – Development Week 4
During this week, my work has gone almost entirely towards finalizing the Twine protoype, with the potential for importing this prototype into unreal 4.
There was more coding to be done than I had previously assumed of Twine, but nonetheless, there were results to be had from importing images and sound: We could quickly get a feeling for how the pace of the game would potentially be like and how the atmosphere would feel.
A scene from twine. Point and click interactions
However, […]
Eyes Align – Development Week 4
During this week, my work has gone almost entirely towards finalizing the Twine protoype, with the potential for importing this prototype into unreal 4.
There was more coding to be done than I had previously assumed of Twine, but nonetheless, there were results to be had from importing images and sound: We could quickly get a feeling for how the pace of the game would potentially be like and how the atmosphere would feel.
A scene from twine. Point and click interactions
However, […]
Alien Station – Development Week 3
Introduction
As lead designer, producer, script writer, and possibly even but less likely so, programmer, on the project Alien Station (working title), I will primarily work on creating the game’s narrative and designing the game’s mechanics to work in unison with it, all the while documenting and making sure production is coherent.
Week 3 of the course and project has been quite eclectic as far as my personal work goes: I have worked on three key areas for this week: Manuscript; the […]
Alien Station – Development Week 3
Introduction
As lead designer, producer, script writer, and possibly even but less likely so, programmer, on the project Alien Station (working title), I will primarily work on creating the game’s narrative and designing the game’s mechanics to work in unison with it, all the while documenting and making sure production is coherent.
Week 3 of the course and project has been quite eclectic as far as my personal work goes: I have worked on three key areas for this week: Manuscript; the […]
Concealing the Respawn Time…
The spinning newspaper animation spritesheet.
As I mentioned in last week’s blog post, respawning of enemies takes some time to perform, roughly a few milliseconds to a a couple of seconds depending on how many enemies being spawned. This meant that the game would freeze while the RespawnEnemies function would run; not a very elegant or immersive procedure.
After discussing this problem with my group, we remembered a cut feature planned during early development: A spinning newspaper that was supposed to appear […]
Concealing the Respawn Time…
The spinning newspaper animation spritesheet.
As I mentioned in last week’s blog post, respawning of enemies takes some time to perform, roughly a few milliseconds to a a couple of seconds depending on how many enemies being spawned. This meant that the game would freeze while the RespawnEnemies function would run; not a very elegant or immersive procedure.
After discussing this problem with my group, we remembered a cut feature planned during early development: A spinning newspaper that was supposed to appear […]
Random Respawning of Enemies
The artifact I’ve been working on this time is the random respawing of enemies, set to occur whenever the player returns back to the start. Design-wise it allows for the game to move along many consecutive turns with increasing difficulty. A great disadvantage with this random spawning is that it takes a lot of processing; a fxed spawn-pattern might have been more cost-effective (but, of course, more predictable).
To allow enemies to spawn at different locations during the course of the […]
Random Respawning of Enemies
The artifact I’ve been working on this time is the random respawing of enemies, set to occur whenever the player returns back to the start. Design-wise it allows for the game to move along many consecutive turns with increasing difficulty. A great disadvantage with this random spawning is that it takes a lot of processing; a fxed spawn-pattern might have been more cost-effective (but, of course, more predictable).
To allow enemies to spawn at different locations during the course of the […]
[5SD023] Projektrapport och kodrecension – Programmeringsuppgift – Grupp 7
Projektrapport
Projektstatus
När projektet började var vi mer engagerade i att skapa en motor istället för att börja prototypa de olika delarna av spelet såsom stealth, flygande och fiender. Hade vi börjat med att prototypa istället för att försöka skapa en motor så kan projektet sett annorlunda ut nu. Det är möjligt att vi hade vetat mer om de olika funktionerna vi planerat, men trots allt är vi relativt nöjda med hur vårt arbete med spelet skett under de senaste veckorna.
Det kan […]
[5SD023] Projektrapport och kodrecension – Programmeringsuppgift – Grupp 7
Projektrapport
Projektstatus
När projektet började var vi mer engagerade i att skapa en motor istället för att börja prototypa de olika delarna av spelet såsom stealth, flygande och fiender. Hade vi börjat med att prototypa istället för att försöka skapa en motor så kan projektet sett annorlunda ut nu. Det är möjligt att vi hade vetat mer om de olika funktionerna vi planerat, men trots allt är vi relativt nöjda med hur vårt arbete med spelet skett under de senaste veckorna.
Det kan […]
Implementation of Animation Code
This week I have mostly been implementing animation for several sprites and special effects, using an animation code I made beforehand. I have previously used this code only to switch singular frames on sprites, but, as I am aware of now, it is a bit more difficult to cycle through animation frames using this code unless they are in a specific order.
Overall, the function is fairly simple and looks something like this:
inline void Animation(sf::Sprite* p_sprite, sf::Vector2i p_vectorI, int p_xMin, int […]
Implementation of Animation Code
This week I have mostly been implementing animation for several sprites and special effects, using an animation code I made beforehand. I have previously used this code only to switch singular frames on sprites, but, as I am aware of now, it is a bit more difficult to cycle through animation frames using this code unless they are in a specific order.
Overall, the function is fairly simple and looks something like this:
inline void Animation(sf::Sprite* p_sprite, sf::Vector2i p_vectorI, int p_xMin, int […]
Enemy Plane and related Instancing
This week I have been focusing on compressing all enemy-related code, like collision, shooting and so on, into class specific functions, to allow more enemies to be generated, and to more easily adjust things like how and at what rate enemies fire bullets…
…and they do fire a lot of bullets; you could say its a shooting gallery out there and not be wrong.
I started out by taking into account what functions each Enemy needed to have run, and how it […]
Enemy Plane and related Instancing
This week I have been focusing on compressing all enemy-related code, like collision, shooting and so on, into class specific functions, to allow more enemies to be generated, and to more easily adjust things like how and at what rate enemies fire bullets…
…and they do fire a lot of bullets; you could say its a shooting gallery out there and not be wrong.
I started out by taking into account what functions each Enemy needed to have run, and how it […]
AI Implementation
The Enemy entity (yellow plane) seen here has its AIStates pointer set to the Chase state, causing it to follow the player and shoot.
I have finished coding and implemented the AI that I planned and structured last week. I will attempt to summarise what code went into its behaviours and managements of states, and how they were implemented into an enemy Entity.
In the Enemy objects Class, an AIStates pointer is located and in the Enemy class’ Update function it sets […]
AI Implementation
The Enemy entity (yellow plane) seen here has its AIStates pointer set to the Chase state, causing it to follow the player and shoot.
I have finished coding and implemented the AI that I planned and structured last week. I will attempt to summarise what code went into its behaviours and managements of states, and how they were implemented into an enemy Entity.
In the Enemy objects Class, an AIStates pointer is located and in the Enemy class’ Update function it sets […]