Tumgik
tapiov Ā· 7 months
Text
Rogue Potioneer - 7DRL 2024 Finished
Tumblr media
Couldn't keep up posting updates, but Saturday was very productive and I got the game finished after some final tweaks this morning.
Got two more potion types: poison (status effect having a chance to hurt for a while) and berserk (increases hit and crit chances). There are 11 enemy types and 3 procedurally generated levels (plus two tiny hand-crafted special ones). Backtracking is allowed.
I also spent some time upkeeping the 2d renderer I used before Cosmic Corsair and made it a user choice now. Below is a picture about the same starting area as above with that mode. Obviously the 3d renderer has more flair, but I find the 2d one pretty charming too, and it also performs a lot better (duh), e.g. trying to avoid redrawing the screen if nothing is happening.
Tumblr media
Like always, proper testing and balancing time was quite thin, but I like what I achieved with the potion area of effects and some of the additional juiciness I managed to add like a dead actor "zoom out" in 3d renderer as well as blood decals for both.
The game is available to play at tapio.itch.io/rogue-potioneer.
1 note Ā· View note
tapiov Ā· 7 months
Text
7DRL 2024 - Days 3 & 4
Tumblr media
Progress has been somewhat slow, but I now got six different potions:
Fire potion: damaging area that stays for a little while.
Freeze potion: similar to fire but instead of damage, causes those affected to skip some turns.
Smoke potion: creates a little larger area that blocks visibility but is otherwise harmless.
Health potion: creates an area of healing gas (cannot be drunk anymore, must be thrown)
Teleport potion: spawns a singular portal that teleports anyone who enters to a random location somewhere not super far, but not close either
Doom potion: spawns a singular portal that instantly kills anyone who enters
At this point it's time to already start cutting and streamlining features to have a chance of completing. Originally I was planning that the potions would need to be identified by first using them blindly, but I'm now feeling it's not essential.
I was also thinking all of the potions could also be drunk in addition to throwing, but I don't think it serves a real purpose and just brings more UI/UX problems. In fact, I think I can probably get rid of the separate Character/Inventory screen altogether and rely just on the on-screen quick item bar I implemented, and have throwable potions be the only items ever there. Less is more.
1 note Ā· View note
tapiov Ā· 7 months
Text
7DRL 2024 - Day 2
Tumblr media
I got "fire potion" mostly working today: it spawns a pattern of stationary flame actors that damage things they spawn on or things that try to interact with them later. They disappear after a couple of turns.
This was a bit annoying to get functioning as I first tried to approach the hazards as items, but now I have something and I can next try to come up with more different kind of potions splashes to play with.
1 note Ā· View note
tapiov Ā· 7 months
Text
7DRL 2024
Tumblr media
7 Day Roguelike Challenge is here again!
Soon after last year's Cosmic Corsair I decided that I want to try to make my 7drl codebase more like an "engine", so that it's easier to make and maintain games and keep game-specific stuff better contained.
At some point I will probably write something more focused on that, but suffice to say here that I did manage to port my earlier games originating from this code to mostly work concurrently with the same framework code. So each game is mainly just different graphics, configuration and level generation setup, with some custom UIs etc. sprinkled on top.
But that was last year and now the real test is trying to create a new a game with this setup and that's what part of this year's challenge is for me. The other part is to add some new feature to the engine and focus the game around that.
The gimmick of this game will be throwable potions with area-of-effects. In fact I'm trying to make the combat revolve solely around throwing consumable, explosive potions.
I started on Sunday morning by copy-pasting Elder Circle (refactored "engine" version) for a base, but because I liked it, I configured rendering to use the 3d "isometric" setup I had in Cosmic Corsair. Though with a slight tilt on camera for added coolness :).
I changed level generation from the Elder Circle's open world to a simple basic placeholder dungeon, and started working on "hotbar" inventory UI for selecting items more easily and a targeting UI to throw them, with an area indicator. This can be seen in the screenshot above as the red crosses.
I also wanted a change from the fantasy tileset I've used for like 3 games, so spend a little time looking, and I'm now testing "Dungeon Crawl Stone Soup" tiles which at least have a lot of sprites to choose from, and while I've not been a huge fan of the saturated look when running across those before, I think I can make it work in my dark-ish 3d lit environment, and am already liking the initial version (same picture above).
One problem is that while the tileset does have a ton of items and enemies, it is light on furniture, so not sure how much room variations I can come up with. But on the otherhand, I could take this as a challenge: make a game only using these tiles instead of spending time compiling tileset with everything I theoretically might want.
Anyway, on Monday I should try to work on the potion throwing system more, to create damaging fires and such things. Unless working on levelgen and graphics tempts me too much.
1 note Ā· View note
tapiov Ā· 2 years
Text
Cosmic Corsair - 7DRL 2023
I am declaring success. I got the win condition stuff done on Tuesday (day 4) as well as the ability for enemies to shoot too. I also added a little handmade starting area (first pic below shows the addition to the level generator json to support that, but for the results, you need to try the game!). I also experimented with post-processing effects and later normal mapping, but ended up scrapping those as they did not give enough bang for buck to justify the amount of time needed to tune them and fix them to look nice.
Tumblr media
EDIT: Sorry, canā€™t figure out how to make that picture above less huge and obnoxious.
On Wednesday I didn't have much time to develop, but Thursday was quite productive: map variation tuning, new "stat augment" item pick-ups, more weapon variation and general testing. I also added more lighting by slapping point lights to certain emissive tiles as well as bullets. It looked really nice, but the way three.js handles lights, there was quite a bit of shader compilation stutter (whenever there is a different light count on screen, thatā€™s a different shader permutation), I ended up compromising by limiting concurrent world point lights to ~4, though it still gives pretty nice effect.
Tumblr media
Anyway, I still got maybe an hour tomorrow morning, but realistically the game is done, and it is playable here:
https://tapio.itch.io/cosmic-corsair
5 notes Ā· View notes
tapiov Ā· 2 years
Text
7DRL 2023 Progress Report
Three days down. I got most of the art I need gathered and processed. It did require me to do some manual pixel art manipulation, but it was kinda fun actually. I've added a few distinct room types to the level generator, and there are now multiple guns to pick-up. They have some differences, but need more work.
I still don't have a win condition or level progression implemented, but I should get to that asap, as then it's mostly about tweaking and adding more content plus polishing, i.e. minimum viable version would be quite close.
Tumblr media
Since I've retained the 2d renderer my previous 7drls used, and even done some minimal upkeep for the new stuff, I've been tempted to offer it as an option for players. But I decided to cut it for now as it would still take some precious time to finish up and polish up to standard. I also realised the first person mode I talked about in the previous post kinda still works too, but that would require even more work to make into an actual game mode (largest thing would be implementing missing projectile combat). Still itā€™s fun to be able to check the game out from multiple perspectives.
Tumblr media
0 notes
tapiov Ā· 2 years
Text
7DRL 2023
Itā€™s upon us once again. I originally didnā€™t have a huge inspiration, but here we go yet again.
During the past year Iā€™ve made little experiments with Elder Circle codebase and created a 3d renderer for it. The basic idea is to take the existing tileset and slap it onto procedurally generated simple shapes like boxes, planes and billboards. I use Three.js library for the WebGL rendering, an old familiar I used already back in 2014 7DRL challenge for Golem Quest.
I first developed it with first-person view and while itā€™s interesting and another type of game might be lurking in there, I donā€™t think the basic roguelike gameplay works super well in that perspective. Recently I got an idea to try an ā€œisometricā€ camera which allows me have the gameplay work similarly (e.g. click to move), while still allowing me to play with the 3d gimmick.
Tumblr media
So yesterday I started working on a new 7drl, where the idea is that you are a space pirate and you execute heists on different space ships. On top of the 3d renderer (which was partially done before the challenge, but has needed a lot of changes already), Iā€™ve started gathering art for a more sci-fi themed tileset, and blocked out a very basic draft level generator of two spaceships meeting in space for our pirate to board the other through a short spacewalk.
I have also implemented basic ranged combat (which will probably be the major gameplay feature for this year). I already had ranged combat in 2015ā€²s Beware the Space Bears (that used probably the first incarnation of this ā€œengineā€), but it was stripped from the code for 2016, and is/will now be a complete rewrite as well as hopefully less awkward UX-wise.
Itā€™s super tempting to play with all the graphical gimmicks a 3d renderer allows, but now that I have the basics working, I hope to first reach some form of gameplay completeness (no great ambitions here really), and then just leisurely tweak visuals the rest of the time. Fingers crossed.
3 notes Ā· View notes
tapiov Ā· 2 years
Text
Elder Circle - 7DRL 2022
For a reason or another I didnā€™t blog about participating in this yearā€™s 7DRL challenge, but I did in fact create a game back in March. You can find Elder Circle at Itch.io.
Tumblr media
I was once again using my JavaScript codebase evolved and added to through several previous 7drls, including a failed prototype from 2020.
This time my goal was to explore "open world" level generation that incorporates different map generation algorithms into a single larger level. I made quite nice advances there and now my declarative json-like level defining interface has learned many new tricks. For example, room interiors are largely defined through configurableĀ ā€œscattersā€ instead of hard-coded algorithms (pic below).
Tumblr media
Another goal was to bring divergent feature sets from past games to at least somewhat more back together, to easen making future games. While there is certain charm in ripping out unneeded features and focusing only on what the current project needs, it becomes less fun when you need to add stuff back on the next game... So I now have a more complete feature set in one package and even though e.g. multiplayer was not maintained for Elder Circle, I did try to keep it easy to reactivate when needed in the future.
4 notes Ā· View notes
tapiov Ā· 6 years
Text
Pour Me More - 7DRL 2019
Tumblr media
I uploaded my 2019 7DRLĀ this morning exactly 168 hours after the start. I think I got a decent little game here, and Iā€™m happy I got the multiplayer working too! I did not have enough time to work on the visuals and ā€œdungeonā€ generator, though Iā€™m glad I at least managed to cram in some variance into the patrons instead of them all being goblins like it still was yesterday. :)
Iā€™m not aware of any major bugs, but Iā€™m probably going to do a post-jam update this weekend, fixing some things as they arise. I also still need to do someĀ ā€œhouse keepingā€ tasks, such as writing the Itch.io game page and making the server actually work from there (Itch uses https, so I need the server to be compatible with that to connect. Iā€™ll probably configure a reverse proxy or something. In the mean time, GitHubĀ can serve pages unencrypted so mp works from there).
1 note Ā· View note
tapiov Ā· 6 years
Text
7DRL 2019 - Day 6
The game is now pretty much feature complete. Patrons leave the bar if they are dissatisfied, or if you kick them out after they have vomited on the floor... :) There is also an improved game end screen with rating and level unlocks, which also means there is a simple level selection UI. Also managed to add some error messaging to player if there is problems with the server or joining the game.
Tumblr media
There is a couple of known bugs, and graphics still need work, but otherwise itā€™s mainly tuning and testing thatā€™s left. Which is good, since I donā€™t have much time to work on this on Friday or Saturday (the deadline).
0 notes
tapiov Ā· 6 years
Text
7DRL 2019 - Day 5
Focused on cleaning up multiplayer code today, and I think itā€™s ok now. I implemented a semi-generic RPC system, which makes it pretty easy to make stuff sync, even if the whole network model is pretty naive. Well it seems to work nicely when we tested it, and thatā€™s the main thing!
Some smaller stuff was also done: food items added, per map drink & food configs, patrons indicate if they are not receiving service fast enough and added an mp wait screen.
Tumblr media
The game is starting to shape up (which is good, since there is only two days + a couple of hours time left). Still need to finish off the AI behaviours and work on graphics and level unlocks. Hopefully that would be mostly done tomorrow, since some time for polishing, testing and tweaking would be nice...
0 notes
tapiov Ā· 6 years
Text
7DRL 2019 - Day 4
Experimented today a bit with having different kinds of bars. There is no actual progression yet (level picked at random), but the idea is that you start with a small, crappy looking bar with a tiny selection of goods (also helps in getting to know the game), and eventually you unlock larger, fancier and more difficult settings. Itā€™d be cool to have the map generators be a little different too, but in the scope of 7drl, Iā€™m also content with just reskinning and size adjustments.
Tumblr media
Other new stuff:
Patrons walk in through the door and find a seat, more will enter periodically (they wonā€™t leave yet).
There is 4 kinds of drinks to serve. No food yet, but itā€™s coming. :)
There were some annoyances in path finding, which caused unwanted interactions and stops - fixed now.
Also since the maps are small, made the camera static when possible for more comfortable clicking.
Tumblr media
Next up is adding some missing behaviors to the patrons and working on levels and level progression. I also need to get back to networking code, since I think multiplayer will be much more fun than going solo in a game like this.
0 notes
tapiov Ā· 6 years
Text
7DRL 2019 - Day 3
Made some progress today with three main areas:
The game now has a simple ending based on time, and someĀ ā€œscoreā€ is collected. The idea is for the player to try to improve the scores and (in the future) eventually get a promotion to a nicer bar.
Revamped the AI code to be easier to work with and at the same time added new features to it, like different responses based on how quickly service is given.
Worked on the multiplayer code. Even though I can always drop that feature if I run short on time, I didnā€™t want to fall too far behind with it already. Itā€™s kind of a mess right now but managed to make e.g. speech bubbles sync, and took some steps towards making mobs synced too.
Hereā€™s a crappy video showing the most basic core gameplay loop:
https://giant.gfycat.com/PlasticScaryAlligatorsnappingturtle.webm
0 notes
tapiov Ā· 6 years
Text
7DRL 2019 - Day 2
I worked on the game menu today and now it mostly works, offering e.g. option to host or join an online session. I improved the mp code a bit, and now player movement syncing actually works. I did switch the game from turn-based to real-time in the process, to make it nicer to move in multiplayer.
Tumblr media
Also started work on customers - they go to sit, request beer when you interact with them and thank you when you deliver the beer, fetched from a barrel behind the bar counter. I noticed a regular message log on the corner of the screen is not going to cut it, so I started working on a speech bubble system, where the patrons communicate in-world through emojis. Itā€™s still a bit rough, but I think it helps keeping stuff in context.
Tumblr media
Short term plans include:
Making the core interactions better and more varied (e.g. adding different kinds of drinks and food).
Better customer AI (entering/exiting the bar for example).
Work on tileset (e.g. more characters, decide on floor/walls).
Making the gameplay work in multiplayer.
0 notes
tapiov Ā· 6 years
Text
7DRL 2019 - Day 1
My idea for the game is a small roguelike-like about a tavern keeper serving beer to customers, while trying to keep them from getting too drunk to cause trouble. Additional twist is that Iā€™d like it to be playable cooperatively online, players working together to maximize the inn profits while keeping drunken brawls from starting up etc. This will probably cause it to be pretty far from traditional roguelikes.
I started today by stripping unneeded stuff from Fantastic Dungeons codebase and drafting a very early version of the first bar map. I also added a little networking code (that doesnā€™t currently actually do much), by copy-pasting stuff from an old experiment. I'm thinking of going without a server though, using WebRTC data channel for p2p networking instead. Weā€™ll see.
Tumblr media
Also did some asset tests. To differentiate the game from Fantastic Dungeons, Iā€™d like to revamp the tileset (and I need some specific new tiles anyway). Kenney has a lot of stuff that I need, and a cool character spritesheet that I could use to generate random tavern patrons, so I started trying that out. Problem is I really like the old tiles and the new style is a bit too plain, maybe. Need to try out more stuff...
Tumblr media
0 notes
tapiov Ā· 6 years
Text
7DRL 2019
Gonna try my hands at 7drl this year after a two year pause.Ā https://itch.io/jam/7drl-challenge-2019
Probably using previous entryā€™s engine as a base:Ā http://blog.tapiov.net/tagged/fantasticdungeons
1 note Ā· View note
tapiov Ā· 8 years
Text
Weep Engine Source Code
Tumblr media
Decided to push my toy game engineā€™s sources to Github:
https://github.com/tapio/weep
https://github.com/tapio/weep-media
0 notes