It’s been a while since I participated in any jam. I’ve been seeing a lot of good game jams hosted lately such as the a game by it’s cover jamand the annual js13kand I’d love to participate in those as well but I don’t really have the time or the idea to do something.
So instead, this time I will participate in the demake jam hosted over itch.io. It kind of made me realize of how few games I know that could be demaked, most of the games I like are franchises that already come from the 80s and 90s, so the demake would be more of going to those origins.
I was able to find a good idea for a small game, I’m not sure how much of the game will I be ale to demake (If any) considering that I only have 9 days to do anything.
My entry for the demake jam is the original Hitman. It’s one of my favorites and I have lots of memories playing this as a child.
The idea is to make this game using a NES palette to make it look more retro.
I didn’t have much time yesterday to do anything but at least I was able to sketch the first screen. The name will probably change though to something more appealing.
There is a lot of people participating in the demake jam. I’m really interested in seeing how many people complete their games and what types of games will they demake.
I’m making it using typescript and a custom engine, I was planning on using Game Maker Studio 1.4, since I have the license for exporting to HTML5. But my PC is having lots of issues running it.
That’s all for today, tomorrow I’ll post the next tutorial for Game Maker 3D.
Progress is going to be a little slower for the next month because I’m taking a break, I’m still working on this whenever I have free time but for the next month or two I’m going to be on other subjects.
This week I implemented the frustum culling to avoid rendering of parts of the world that are not visible, it test against an octree so it is really easy to determinate that large areas are not going to be render.
I also been working a little bit more on optimizing the rendering algorithm, it is better now but there is still work to do on that field.
I did a little research on how to generate a terrain using the perlin noise algorithm, this article on devmag.org was really usefull on this subject, I already did a basic implementation but I have to work more on it to achieve a good result:
I’m going to start working a little on the collision part, mostly allowing to create and remove voxels with the mouse and after that I will work on the lighting system.
So this last week was a little slow for me, I couldn’t work on all the features that I wanted but I did manage to improve the greedy meshing algorithm that I was using.
It works pretty fast now even when removing multiple blocks on several chunks, one of the things I did was to change the way I was doing the merge, in the previous version I had to render both faces of each triangle because of situations like this:
When two voxels shared the same face but the face needed to look in both directions at the same time, the solution was simply to split the face in to two faces:
With this done now I can activate the culling and render each triangle only once.
I also Implemented the octrees to distribute the chunks and be able to do culling (still pending):
I hope to finish the frustum culling this week and maybe do some implementation for occlusion culling.
I’ve been busy last week trying to implement a greedy meshing algorithm based on the article by Mikola Lysenko on the 0FPS blog, It was a bit more tricky than I expected (I still have to optimize it more) but the basic theory for this is pretty straight forward:
This allows me to merge multiple blocks and hide the triangles that are not visible
So far I think it is working fine, it takes quite some time right now (about 50ms) to regenerate the chunk of 16x16x16, which would be about 4 frames in a 60fps application, I will try to reduce this number as much as I can.
Next thing on the list is trying to implement octrees to later perform culling of the chunks.
I’ve been busy the last couple of months: learning a bit of pixelart and story writting and most recently I started to research about voxels and decided to give it a try by myself:
For now there is no much to see, I’ve been working on this for a couple of weeks now laying down all the basic structures, chunk management an geometry reconstruction:
I’m not targeting to do a game with this but I do want to publish it later as a library along with several examples that I will be developing during the development time; I’ve already have an example of several voxels (around 2M) and it worked fine but it still needs optimization in order to run properly:
That would be all for now at least on this topic of voxels.
This year is going pretty fast, its been a long time since my last post for the 7DRL game. I’ve been busy working on different personal projects during the last 4 months but there is nothing really to show, here is what I’ve been to:
Perhaps the biggest project I’ve spend time is on learning graphics programming and developing a new WebGL library, it is going pretty well but it is a really big project so there is still a lot to do, I will try to upload demos in the next months while I work with it:
I’m also learning to work on the unreal engine, I like it a lot but I don’t think that I will develop a project any time soon:
And finally, I decided to retake the development on Lune, I was developing this project along with Slash but we kind of dropped it after the contest for the 7DRL challenge, anyway, since he is busy working on Ananias, I will work on it for now:
Graphics come directly from the Ultima IV and Ultima V tilesets, with some tweaks and original tiles being made.
This project is non-commercial, made just for fun from fans to fans.
So what’s next
While the challenge is over and we delivered the game, there is a lot of things that we originally intended to add but in order to meet the deadline of the 7 days we had to cut them out, I’m planning on adding those features (and some more) in the next weeks.
I’m also planning on redesign most of the sprites in the game: add more colour, increase the resolution of the creatures, redesign some enemies to make them look bigger, etc.
Another day is over and the endline is comming really fast, in this day I worked a little more in the collision (mostly for enemies with instances) and some extra work with the texture rendering and management, I also added the potion and started to work on the magic system:
Finally, I worked a little more on the enemies AI, but I think I’m going to leave it like this for now:
Meanwhile Slash started to work on the dungeon generator system, I’m hoping to implement it very soon.
Day 2 is over and things are starting to shape up, I worked on the collisions system and started to work on the AI of the enemy, right now is a very basic AI, if the enemy sees the player then go and try to kill it.
The player can now attack and kill the enemies, there is no death or hurt animation so the enemies flashes in red for a fraction of second:
If the enemy is close to the player then performs a melee attack, until the player is dead:
I still have a lot of work to do on the AI, and also i have to start to work on the general objective for each level of the dungeon.