What I did today

Was quite busy lately, nevertheless added few minor things to the project (also some models, but those I will showcase later, when I finish the animation). Added some shader based night with lightning. Not perfect but I am happy with result so far (the two lights were added just to test blending).

Iā€™ve been testing JDialogue today. All of the functionality is done, and to see how it all came together, I made a test program that will let me test dialogue. I ended up making this beauty with it.

And the JDialogue editor counterpart:

The reality of what people are going to actually use these tools for when it comes to Robot Farm is starting to set in. You have a world editor, a lua mod editing tool, and a dialogue editor. What could go wrong?

EDIT:
Itā€™s feature complete! Going to implement it into Robot Farm and see how it fares, and then Iā€™ll post it here.

Looks good :). There is an extra line between the nodes? Any specific reason for it to be there? :stuck_out_tongue:

Check out the output I posted, the dialogue loops on itself if you answer no. Thatā€™s why the one at the end is connected to the one at the beginning. I know it looks weird, Iā€™m not sure what I can do to make connections like that look better. Lol

EDIT:
Fixed it

EDIT 2:
Itā€™s implemented into Robot Farm. I did some tests with the Hello World dialogue, itā€™d take about thirty minutes to an hour to make the set of dialogue the old way (manually coding it), whereas it takes about ten minutes to make the same thing in JDialogue and import it into Robot Farm. All in all, Iā€™m really happy with the outcome. Iā€™m also excited to share it with you guys and Robot Farm modders in the future too.

EDIT 3:
Reported some bugs to the RichTextFX team. Once thatā€™s ironed out, I think JDialogue is about ready for an ā€œofficialā€ release.

Created a ā€œSegmentedButtonā€. I saw it as part of ControlsFX, and thought itā€™s a neat idea!

Worked on ā€˜bossā€™ level for Bee Amazed (in Bee Amazed a ghost can chase youā€¦ if it catches you, it will take you to itā€™s dungeon, and since the ghost used to be a teacher, it will force you to solve an equation within 10 seconds ;D).
The blue bar represents the available time (shrinking towards the center), and the ghost moves around a bit while fading in and out (and sometimes distorts). The bee looks up in awe. Ofcourse, there are ghostly sounds.
(and yes, the ghost is a warped/distorted picture of myselfā€¦ however, I do look better than that. really, I do.)

Edit: changed ā€˜sumā€™ to ā€˜equationā€™. Silly me.

I added support for custom syntax. You can import a text file with the syntax your game uses and itā€™ll highlight it for you so you donā€™t accidentally type the wrong thing:

Some elaboration:

When youā€™re editing:

Today I optimized an algorithm that slowed the game to a crawl so that it can run once per frame without significant performance loss, among other things. Very refreshing compared to the bug-fixing, refactoring and re-design that takes up a lot of my time.

May I ask what Framework / Language you use for this? Is it Java? @SkyAphid

Yeah, I wrote it with JavaFX last week. The fact that itā€™s in Java gives java developers a lot of benefits, such as being able to use the software as an API itself in games. I plan on including a stripped down ā€œAPIā€ version that just contains essentials for use in games, but you can also get the full executable jar as well with the UI attached.

Finally got support in for ā€œGlobal Configurationsā€ of worlds, i.e. calling lua code when you do things in the world. In the screenshot below, my new ā€œsmall_talk.luaā€ file is being called by the game when you interact with NPCs. Iā€™ll be replacing our old systems with lua code for stuff like this so that the player can fully customize the majority of major interactions with the world, such as dialogue and events. Of course, important stuff like the more complex AI and game mechanics will stay in the actual Java code. Basically, the goal is to allow players to mod the game into different flavors, while still keeping the base intact.

Which is controlled by:

--Should be called when the player interacts with an NPC, in that case, we'll try and initiate a greeting
function Main(gameTools, worldTools, hudTools, playerTools, interactingWith)
  print("Test small_talk.lua:"..interactingWith:getName())
  hudTools:newTextBox(interactingWith, "What's up [[PLAYER_NAME]]?")
end

Next up, Iā€™ll start tying this functionality together with the new JDialogue stuff.

Started implementation of TabPane

Used FileOptimizer to compress optimize 211 png files with a total disksize of 469 Mb to a mere 7,41 Mb (losslessā€¦amazing!). Took 1.5 hour, but was worth it since it downsized my jar from 210 Mb to 187 Mb. Still a few hundred pngā€™s to go, so the jar will be even smaller.

Iā€™ve been working on my new game which will eventually be an RPG about pirates. I still donā€™t want to put it in a WIP thread yet because its still a major prototype, but I have tiles, three characters that follow each other (that will eventually the player will be able to switch between all three because they will all have different weapons). I also have a half assed weather system with rain, lightning flashes with a screenshake, and lighting bolts (thanks to @Cero and @Phased - I used that lightning bolt code). I also have a really bad particle system implementing fire which will be changed later I think unless all the other graphics fit it. Hereā€™s the crappy video of what I have (keep in mind almost all graphics are protos:

DW0Xz7QLcZw

Anyone thatā€™s wondering, Iā€™m still working on the game for kids with my friend, but I only code that when sheā€™s here because she wants to learn how itā€™s made. So far that game only have a crap load of questions and answers and a screen and a button lol.

If you need help with anything, feel free to message me. I can probably help make the party members follow you a bit smoother, we have the same kind of stuff in Robot Farm.

I started playing around with pathfinding today and got this far:

[It starts inside the ā€œbowlā€ on the left and tries to reach the blue circle on the right]

There is no grid here, its doing circle overlap checks to crawl through the map, every green circle is a node that got evaluated.

The performance depends mostly on how many objects you can filter out before they are checked for overlap,
since there are up to 11 collision checks against all nearby objects for every green node.

The benefit of this method is that different unit sizes are taken into account naturally (tiny soldier vs bulky tank) and that there is no need for memory heavy grids or work intensive/static nav meshes, which is perfect for large sparse areas. I could also vary the size of the test circles dynamically to reduce the amount of checks even further when itā€™s just going through an empty area.

The downside is that itā€™s not guaranteed to provide an optimal and fast solution if the path-width is getting close to being the size of the unit that tries to traverse it.

tl:dr => began developing my homebrew gridless A* today

We plan on trying to release our big Robot Farm video by the end of this month! Itā€™s going to be a big changelog video around 5-6 minutes long. Iā€™m so excited to show it off!

Forgot what I did today, but I know what Iā€™m doing nowā€¦ eating emmenthaler bites with mayonnaise and ketchup! ;D

Iā€™ve been polishing Bee Aware! for the last two months, and am rounding up the last bits. A new demo is planned for this week, together with new screenshots and videoā€™s. Bee vs Mites (a topdown scroller) has been upgraded, and now includes realistic, thick smoke effects, water and leaves effects, a smoother gameloop and a boss level. Bee vs Mites is playable from the demo, as is Bee Puzzled (jigsaw game).
More updates:

  • The playable bee now has animated wings.
  • Improved interface for the quizzes (Bee Smart - 5 quizzes, 20 questions each).
  • A set of 18 new card foregrounds and 75 new images (total 150) for the memory game (Bee Remembered).
  • New (small) end animation for Bee Remembered.
  • Added a ghost to Bee Amazed (maze game). If it catches you, youā€™re forced to solve an equation (the ghost used to be a teacher).
  • New (small) end animation for Bee Puzzled.
  • Added 20 images to the jigsaw game, which makes a total of 50 images.
  • Made 4 themes for Beeā€™t the Bear (puzzle game), summer, autumn, winter and a desert theme.
  • Added three difficulty levels to Bee Fast (arcade game).
  • Implemented a day/night cycle in Bee Fast (I love it when the lights of the tractor and plane are activated).
  • Added a lot of nonsensical text to BB, a bee that talks too much ;D, whichs brings me to a total of 211 silly texts.
  • Improved overall gameplay, cleaned up unnecessary code, improved graphics where needed etc. etc.
  • Added extra achievements for Steam (beat the boss, solve an equation etc.).

I need a break.

The pathfinding is in a working state now :smiley:

[Warning: 7mb gif]

It takes like ~2 milliseconds each to calculate these paths (and post process them), which is not that bad considering i threw ArrayLists, bloated objects and comparators at it. Also thereā€™s no quad-tree or gridmap to rule out objects before doing collision checks, so iā€™m pretty confident that i can get it down to <10% of the current calculation time.