On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

roadsidegravel

36
Posts
2
Topics
3
Followers
A member registered Dec 01, 2019 · View creator page →

Creator of

Recent community posts

I like it, I got engaged in the story. Got the helpful ending.

I dont have the reflexes for this anymore, but it's a good concept. Fits the theme well.

After opening the file and loading it's content into python, the next step would be to then fiddle with the data till it matches the format your program desires. It depends on how the data was saved and what it is. I find it helpful to first write code that saves the data and then after I've checked that it creates a file and that the file holds the testdata, then I write the code to load from a file to the game. You can use file.write or use a library like pickle.

So that would be:

with open('my_data.csv') as file: 
    file.write(yourData)

Probably something along these lines:

with open('my_data.csv') as file:
    df = file.read()     
    print(df)

site with explaination and examples

The important bit is to use the with statement, because as that site explains, if you do it like that, python will automatically close the file for you when you're done with it. 

It's a good jam submission.  It's got visuals, audio, a gameplay loop.


Constructive feedback:

I have an azerty keyboard so I had to edit the controls to be able to move. 

Some kind of counter or indicator so we can see how scared we are of the dark. A life meter more or less. Can I make it to the lightswitch in time? The game over now is a bit sudden. The sound is also a bit loud.

It's a good jam submission. You've got music, multiple levels and such. It's a good basis.

I didnt die when I ran out of lives. It just respawned me with '-1 lives remaining'.

A 3x3 radius might be a bit short, but perhaps there could be torches in the dungeon that can be picked up to temporarily increase the radius or stationary braziers that can be lit. Perhaps even a rare scrying stone or something that gives a hint about where the key or the door is. Mostly just so there's more stuff to find along the way.

It's a general level design rule that players dont really like empty dead ends or empty halls. They dont all have to contain something but players like it when they have a reasonable chance of finding something. Could be a scroll or an inscription that explains lore or a useful item. 

Ofcourse you can still make a game about wandering mostly empty hallways, it's just not going to appeal to as many people, but it might appeal a lot to fans of that specific niche.

You should also try to restructure your code every now and then. Put things in seperate files, split bigger functions into smaller ones. That brings it's own challenges, need to import the files then and share or not share variables and all that but that's important to learn as a coder.

For example, the level1=[...] to level4=[...] is data and could be in a levels.py or a floorLayout.py. You also declare tot=False on line 37 and on line 51. 

It's good. Music, visuals, controlling the character. All good. Multiple difficulty settings.

Just one thing, from a gameplay perspective, is it really necessary to press space? I just keep spamming space, it doesnt really add much. I feel it would be better if either you always just light the torches when near them or if you have a limited amount of lighter fluid or something that needs to be refilled every so many uses at a storage crate or something so you cant just spam the spacebar.

The shadow effect is quite nice, and goes with the darkness theme. An important part of making a game is just moving the avatar around and making sure that's enjoyable before adding the core gameplay loop. And you've got that, it's enjoyable to move around.  It's a good start.

Being able to build your game into an exe (or other format) is an important step. It's difficult at first but it's something you have to know how to do if you want to share with it other people. Practise it occasionally, even if the game is just a snake clone or something simpler. Build it and playtest it.  Otherwise you'll get surprised by things like 'wait, I need to change all the model files to this other format?'  and other pitfalls that can take a long time to fix in bigger projects. 

I use panda3d to make stuff, and I used building binaries and lesson 16 to learn how to build my creations. It was quite abstract at first, it built but when I tried to run it, it just failed without any message or warning but eventually I figured out how to see the error log and then you can proceed to figuring out why it's failing and usually it's because I have a typo in an asset name or the asset needs to be in a different format. Or the asset path is wrong. Now I have more experience and making a build is still a hurdle but it's less intimidating then it was at first.

Whichever library you use to create things in should have documentation somewhere on how to build it. There's also the official python documentation but I usually struggle to make head or tails of it, other websites tend to have clearer examples.

This is fun. I played it till I had to stop because dinner was ready. Reached level 14.

This is surprisingly difficult.

'ok, gotta remember two things. Saw and blue thingie, saw and blue thingie, got it'
*click workshop*
*forget everything*

github

Simple way to highlight the tile your mouse is hovering over on an infinite grid . 

If you have a tilebased game, then at some point you'll probably want to select a tile to interact with it. You could spawn a field of objects and use the Clicking on 3D Objects Panda3D manual page. But one of my current projects is a little map editor. I needed a way to align with the grid before placing the tiles down.

There's several ways you can approach this. This snippet uses a very simple solution that only requires three objects, the picker ray, a collision plane and a square highlighter object.

The picker ray code is nearly the same as in the Clicking on 3D Objects example. It collides with a CollisionPlane.  While the mouse is in the Panda3D window a continuously repeating task moves the picker to the mouse position. Collision Bitmasks ensure the picker ray only interacts with the collision plane. This allows it to highlight through buildings, in case you want to place something behind a tall building (looking at you They Are Billions).

The picker ray collides with the collision plane, resulting in a Collision Entry that holds all the collision information. Because this is a line going through a plane, the entry.getInteriorPoint(referenceNodepath) is the exact point where the mouse is hovering, transferred onto the plane in the 3D scene, in a coordinate system that relates to the refenceNodepath. That's quite neat.

The next step is aligning that collision point to a grid. If you want whole numbers, a simple round(...) does the trick. If you want halves, you can do round(... * 2 ) / 2. If you want to you can also align to a hexagonal grid, you just need to apply the right formula to the x and y coordinates.

The final step is moving the square highlighter to the grid aligned coordinates that were just calculated. It looks and feels like you're highlighting squares on a grid. As I said, I use this code in a simple map editor and it's quite nice for placing stuff down. If you want to then interact with things you've placed down, you can use another collider to select things that are currently on that square.

It's simpler and uses less resources than spawning and respawning endless rows of placeholder tiles.

Perhaps add a demo sort of? A freely available simple asset from the bundle? So people can see if it's compatible with whatever tool they're using to make games.

After giving him two heat (+speed) some of the floortiles stayed in open auchie mode.  I dont think that's supposed to happen. Cost me a bit of hp before I noticed.

I tried it again and yeah it works with no problems. I dont know why I felt like I got stuck in that menu. Maybe because the mouse pointer shows but you cant use it to click on things?

It's nice, but it's too fast paced for me personally. I have no reflexes.


Also, couldnt figure out how to get back to the main menu from the controls menu.

Good game, but it could some explaining of who what how. I do like being treated as an adult who can figure out mechanics on his own, it doesnt have to be all coddly like handheld tutorials. Just some more mouse over texts here and there.

The honey and royal spot mechanic cost me the run the first time I got to the queen because I had no idea what to do with the marked spots. They could use a mouse over text.

When chooses dice, it would be nice if it also told you what the things like 'glass' and 'heavy' mean.

And like someone else suggested, when you hover over an enemy it could give you some information about their abilities and damage/heal range for example. Or maybe just a 'warrior ant, deals low damage' fluff text. 'Glowing moth, strong healer'.

I like it. It's not easy, but I'm getting better.


Two remarks though:

After selecting an island layout and placing down the start building, the interface should show. It's rightclick to toggle show/hide, but that's not imediatly obvious. I suggest making it show up automatically after placing down the first building and adding a button to the interface bar that explains the 'rightclick to show/hide' hotkey in it's overlay text.

Sometimes the incoming ships just plough through everything. One went straight through my island to take out the furtest tower. It's quite devastating.

(1 edit)

It would help if there was a sort of empty slot to indicate that you can train one warrior and research one thing. Something like 'currently not training anyone' or 'one training slot available' for example.


Then (if you want to)  you can build on that and have greyed out or locked slots that can be purchased later for coin or unlocked. Gives the player a goal. Get x gold, get a second research lab.  If your vision is one training slot, one research slot then of course you dont have to implement this.


Right now it's difficult to estimate how long one warrior will survive and how long training will take. Right now it's dismiss the new guy or dismiss the old guy. I would like to have other options. For example, be able to put one warrior on the bench. It can cost money to keep one on the bench, x per day maybe. Or retrain the earlier guy. 


On my screen, the interface is foobed. For example in the mastery menu I cant read the buttons.

I've just noticed your 'enter fullscreen before starting the game' message and I will try that after posting this. Cant refresh now without losing this reply.


Given that your game is mostly interface, it's important that the interface layout works.


edit: putting it fullscreen before pressing play did help, but it's probably better if you put the warning in your main menu in the game so people are more likely to see it.

It's still a good game idea that could be explored at a later date. You've switched to 'generic dungeon crawler game' and that will still provide you with useful gamemaking and balancing knowledge. You can still try out the abilities and powers you wanted for Slay and Serve, they're just reskinned to generic now. It's not the same of course, the sense of theme is important, but it's still a great learning experience.

(1 edit)

new devlog

The end of November is approaching. I've managed to consistently work on my game in the evenings mostly. (The jam has helped for motivation and some healthy 'preferably this month, dont postpone indefinitedly' pressure)

I've dropped wisps and night mode and added graffiti instead. You can now spray paint on the walls, floor and ceilings. Completely freehand, draw whatever shape you want. The graffiti all has the same color at the moment, and it's color randomly changes. While adding the graffiti I accidently fixed a bug that was giving me trouble, where you could get 'caught' on the wall.

And a lot of refactoring and dark work that doesnt show in the game.

Good steady progress, I wont reach all my goals but I'm happy with the progress and very happy the graffiti works.


edit:
I have released. There's other projects I want to work on but  I will continue to polish and support Rabbit Catcher.
release message

A few months ago I made a game for a jam. When the jam was over I fixed some of the issues it had, such as changes to the camera position and getting textures working.  It's called Rabbit Catcher and it's gameplay is 'walk around, catch all the rabbits, find the exit'. Comes with a map editor. The polished-after-the-jam version can be found here. 

After that it has languished while I continued learning Panda3D with various experiments. I tried applying for funding (no guts no glory) but was denied. They only fund established game studios, for legal reasons. The funding application process was interesting though, I learned a bunch. It forced me to learn how to make a video. And to do the cold, hard math of budget required and expected profit per unit sold.

Due to circumstances, I have a lot of time now. So I figured, might as well push forward and get Rabbit Catcher ready for a release this month.  I would like it feel worthy of a sale price of 8 euro's. For that I plan to have two modes, rabbit day mode and and wisps night mode and a 100 levels.  And of course the level editor.  I've been working on it since the beginning of the month. I saw this jam today and it seemed a perfect fit.

Lets do some math. My intended sale price is 8 euro. An estimated 60% will likely be lost to transfer fees, supporting itch, taxes,... Leaving 3.2 euro. I need a 1000 euros a month to survive. So I would need to sell 313 units a month, at 8 euro with 40% for me.  That's a lot of units, but it's also an attainable long term goal. I'll be happy already if one or two people buy Rabbit Catcher.

Progress made so far:

  • Made changes to the way the levels are saved and loaded. The old system invalidated all the old levels when a change to the models was made because it saved the actual models. The new system saves the level as a class with  level information and an array of strings. This should hopefully be reasonably futureproof.
  • The game jam version consists of two programs, the level editor and the game.  That is a bit of a hassle for players but more importantly, it was difficult to get it to build properly. It's now all in one program, and you switch between the editor and play mode by clicking on the button in the menu. This required a lot of refactoring of the code. I've made two .py files, GameModeEdit and GameModePlay and I've pushed most of the relevant pieces into their respective py file. Further refactoring still needs to be done, but at the moment both modes work and you can switch between them. Various bugs and unintended behaviour appeared during the merging and moving, but all issues seem to be resolved at this time.
  • I've added a quit button. Cant release a game that requires people to alt-F4 to quit.

Todo list:

  • Full screen.
  • Detecting incompatible graphics cards or other issues that might cause problems for the player. Give a warning or a message. For example, lets say the graphics card cant do shadows. The game should detect that, disable the shadow heavy wisps night mode and tell the player.
  • Have various map sizes and either make sure with optimization that everyone can play all sizes or detect and warn when a map size would give problems for a player.
  • Detect mistakes in the level design and give warnings when a level is unwinnable.
  • Let players change their input bindings. Currently the game adapts to your keyboard layout so everyone can play it, but maybe someone doesnt want to use aswd and wants to change it to something else.
  • Switch between catching rabbits and catching wisps.
  • Add audio.
  • Settings menu.
  • Refactoring and polish.
  • Pop ups and warnings to confirm oversaving a level or quitting.
  • Make a 100 levels. 

stretch goals:

  • Controller support. I'd have to buy one to test it.
  • Multiplayer support.  I've never done multiplayer before. I dont know how and it'll likely require a lot of refactoring.
  • Test coverage for easier refactoring. It's not easy to make automated tests for a game. But it would really help if I could have automated tests now and in my future games.

Good game, especially for an alpha. 

It would really be helpful if the input was independent of the keyboard layout. This forumpost seems to indicate Unity supports it.

The next biggest improvement would a way to save load outs. Right now you cant look at another body without having to redo your whole load out, which is annoying.

It's planned, but I dont know when I'll have time for it. I'll let you know when it's done.

Glad you liked it. Further updates and improvements are planned.

New version is up, camera should be more zoomed out now.

New version is up with textures on the walls and floor.

They seem to walk through the buildings, which is my only gripe. It has potential, with more jobs and speed up button, save load, all the usual jazz. Perhaps aim for some comedy, without overdoing it. Blobs dont have hands so they're bound to have interesting farming and woodcutting methods and animations. Perhaps headbutting for trees and jumping up and down for mining. I like the blob models.

I like the concept, but it needs more UI and variation in the jobs. Perhaps a 'gather construction materials' to expand the nests? Or build a bridge over water.

It's good that the hotkeys work, but there should be some on screen button to start the jobs too.

Short but good. Pushing the robots of the roof is fun.

Everything seems to work, they move, they eat, they mate. It could use a way to get some kind of overview, how many of each animal is there at the moment? Is the population declining or rising? A zoom in and out.

It's a working ecoSim, and that's good. Solid result for a jam.

Things do get built, the squares get filled up.  A bunch of dark work must have gone into it. But as it is now, it's not much of a game.

On my screen I only have expand north and east, and it doesnt always go north or east or expand from the most recent addition.


Conceptually, it can work. Maybe if the terrain is previewable around the city so you can make choices based on that? Like 'mh, to the east there is a lot of rocks, lets put industry at 80% and hope we get some mines when we expand east'.

I think I successfully compiled it without the console window, but I cant make changes to the files on this site till the voting for the jam is done. 

I'll take a stab at it later today, but I already had to fight the compiler pretty hard just to something that runs.

Indeed, they're masks, so it's a shame to waste them.

It's no fun if they dont come back, especially with the somewhat random movement of the people. Which is also why the masks dont hit people that are already masked. It's much better when there is a chance to recover the mask.