Showing posts with label ue4. Show all posts
Showing posts with label ue4. Show all posts

2018/06/28

Beatmap editor in Unreal 4!

Hey there! This is Lussy.

We've been hard at work on our rhythm game projects, and we've managed to create a feature we've never thought we could do with Blueprints only, coupled with our current experience. But alas, it has happened.

We've created a beatmap editor inside Unreal 4 using only Blueprints and Rama's Victory Blueprint plugin (it's a godsend, check it out if you're using UE4!).

For the editor, we used osu!'s editor as a reference, and for now it can only create and edit Taiko type beatmaps. We plan to overhaul it almost completely for our own game, but first we had to try if it was even possible to create.

The editor uses .ogg files as music, and creates a text file with a matching name for each new .ogg file. The file contains BPM and title information, as well as all the beat objects or notes in the song - similar to how osu!'s .osz files work. We dubbed ours as .beatmap files though.


Once the file is created, the user can enter a BPM calibrator that lets them tap a button in time with the music. The editor then calculates based on those clicks the BPM of the song, or alternatively, the BPM can be input manually.


After this is done, the actual editor lets users put notes down on each beat of the song, change their colors around and then save the beatmap. The beatmap can then be played in play mode.

The whole thing is very raw right now, because we haven't had as much time to work on it as we wanted to, but it's getting there. This tool will be very useful for developing our rhythm games, and we plan to include it in the game too, so users can create custom content with songs they like.

At this point we're starting to feel like anything is possible in Blueprints with the right nodes and tools. Of course knowing C++ would help greatly, so we're going to get on that, too, but there's no rush.

2018/01/31

Still busy...

Hi!

Okay, the fact that we are busy hasn't changed since last month... But at least now I have some time to write about our latest Unreal 4 adventures.


We had to script a horseman. The horse mesh was given to us, complete with materials and animations. The challenge was putting an already heavily script-based human on top of the horse and syncing up their animations and movements.


The movement part was easy, we attached the human's pelvis to a socket on the horse's saddle. However the animations were a bit more tricky, and we still think the whole system could have been done better, but not sure how.



This was our solution:

We united the horse and human skeletons in Blender, and animated the human on top of the horse that way. We then exported the unified skeleton, along with the animations, and assigned the horse to that skeleton. An animblueprint was built for the unified skeleton that contains IKs for putting the rein in the human's hands and the stirrup on his feet (If the IKs relied on any variables outside of their respective animblueprint, they lagged behind about one frame).


Now comes the hacky part: we stuck the human on top of the horse, retargeted the riding animations of the merged skeleton onto the human's skeleton, then built the same animblueprint for its skeleton too, sans the IKs. We rigged the whole thing so that the merged skeleton's BP sends signals to the human's BP to change anim states, so the changes occur at the same time and the animations stay in sync. Occasional errors still occur once in a blue moon (oh crap, today's a blue moon!), but we suspect those are framerate-related.

This system feels bloated and makes any later changes risky, however, we couldn't come up with anything more stable at the moment, and under our current pressure. Do you guys have ideas on how to make such a system more stable?

2017/04/29

Project Contrivance overworld progress!

We have lots of work unrelated to our own projects, and we've been networking with other artists. That slowed our progress with Project Contrivance considerably, but we haven't stopped completely.


We've been putting together the game's story for a while now, and I'll share the version we've liked the best.


The game plays out inside a person's head. The players play as two microscopic robots that are sent out to fix the person's faulty implanted chips and other artificial additions. We're already working on boss fights that explain the various things that happen inside the levels.


The overworld will be divided into multiple chunks that give players entry to the game's levels. Because of this division into multiple parts, we can play with the post process effects and color settings of each section. The overworld's fleshy appearance will likely be seeping into the levels themselves as well, through little cracks and damaged parts.

 
Geril loves creating twisted, disgusting things, so he felt great making the pulsing, inflating flesh-columns and the light-up brain nerves.

The design is very unfinished, background objects are absent, there are no gates for the levels, no puzzles, and the overworld is not the final size, but much smaller. But it's a start, and good enough for testing.

2017/03/29

Project Contrivance overworld thoughts!

This month, we've been thinking and working on Project Contrivance's structure. We decided to base the game on an overworld that houses all the levels - kind of like in the N64 era.

Level progression would be driven by beating levels and gaining resources for opening up more levels. The overworld would contain puzzles of its own, so you wouldn't have to beat every level to proceed, you could gather the remainder of the resources in the overworld, allowing you to bypass levels you don't like.
Each section of the overworld would end with a boss that goes with, and explains the previous levels' theme. Beating the end boss would open up the next section.

Other things we've thought about were giving players the ability to color their characters by finding special items in the overworld, adding competitive elements to multiplayer, and opening up bonus levels.

This system was inspired by the N64 era games like Super Mario 64. We'll show you more once we've progressed enough with development.

In other news, the Nintendo Switch has arrived, and it appears to be successful. We like the console's idea, and enjoy playing on it, so we've decided to keep the Joy-cons in mind when designing the game. We've even managed to make them work on our PCs so we can test the game with them!


Stay fresh!

2016/05/11

Dynamic facial normal maps!

Hiya!

We've been working on ideas for Lemniscate, and we were reminded of something we've wanted to try doing for a long time: dynamic facial normal maps tied to morph targets. You know: when a character pulls up an eyebrow and wrinkles appear on his forehead, and the like. It took us about a single workday to implement this using UE4 Blueprints (maybe eight hours including creating the normal maps).

We don't want to spoil anything of Lemniscate, so we've applied this technology to one of our characters from OLP, Beat. She hasn't had a singing video yet, so with this, all of the characters have lip-sync videos where they make fools of themselves.


This animation isn't final or fully detailed, the body animation is still in progress so this version is made of recycled, already existing animations. Oh, by the way, we've also made the texture based eyes work.


The quality of this gif isn't great, but you can hopefully see how the normal maps change. We should really make some older characters, this would look perfect on them.

If you're interested, we can probably make a quick tutorial on how to make dynamic normal maps (EDIT: here it is) and texture based eye movement work in UE4 Blueprints.
Just to make it clear, we're progressing with the development of Lemniscate. This is one of the rooms (the staff quarters):

2016/03/12

Feature Update!

Hi!

It's time for another update on how the development is going. We've, since the last update, added:



Objects that can be picked up and thrown, and if they are thrown with enough force, they break/explode. These are not using UE4's built in fracture mesh. They spawn gibs and particle meshes on impact, destroy themselves and of course, make noise, too. 

We can't show you yet, but the monster can now react to noises. It's possible to distract him with throwing an object somewhere far, and if the monster is close enough to hear it (or it is loud enough), he will inspect the sound's location.

---


The doors also got an upgrade. The door system itself changed, now every door uses a certain color, and the corresponding colored card opens the door. They also got this flashy sign on the buttons that shows if they are locked or not.

---


We've added a note system to the game. Every in-game character has a Personal Assistant Device (P.A.D) that they use to take notes with. The P.A.D assigns these notes to the locations they were recorded at inside the ship. If you find someone's P.A.D, their notes will become visible and readable. 


Like this poor fella's.


And this is how the note looks if you activate/deactivate the found P.A.D.

---


We've added visible points to the spine of the monster, so he can be seen from farther away.

---



One of the biggest features we've added is the fire detection system in the ship. If there is a fire, the sprinklers will activate (if the water system is active, of course), and put it out over time. The fire can also kill the player if he stays in it for long enough. Also, if the player stands under the sprinkler, he gets wet and the camera also gets an effect that makes it hard to see. It fades over time, but while he's wet, electric devices will be dangerous to him.

---


The last thing is the way the day ends. After a set amount of time, time resets, and we've added an effect that sweeps through the ship, representing the time loop starting everything over.


Also, related to this, we've made a clock that shows the current time. This will be the clock that wakes the player every day, and he can also use it to determine how much time he has left of that day.

We're still working on the interface, there are a lot of placeholders and debug stuff there, please excuse the messiness.


In other news, we're preparing for our Steam Greenlight campaign, and trying to find legal ways to release the game (we're in Hungary... it's not easy)

This is all for today, see you next time!

2015/04/30

Sketchfab!

Spring already!

We spent the Easter holidays (and the rest of the time, too) working. All of the 4 characters are slowly becoming functional, and we’re discovering more and more possibilities in Unreal 4 (though it already killed one of our laptops…).

Alex is working on a pickup system that is going to be very important in the game, as the players will be switching weapons frequently. We have two functional characters so we can also begin to test the local multiplayer elements soon. (And there will be a video of it.)

About the comic… It’s really late, we know. It’s going slowly because the 4th character’s design is still being worked on. But we joined Sketchfab, so in the meantime you can look at our 3D models in all their glory!

Other ones will be uploaded to: https://sketchfab.com/carpaintergeril

2015/02/27

Unreal 4!

Hi!

This month is a little crowded.

We are happy to say that we managed to get hold of Unreal Engine 4 for a while (thank you, GitHub!!). So these days we are trying out the engine, discovering the differences, etc. There are lots of built-in stuff in UE4 that we would have needed in the UDK. So we're looking at the pros and cons, and considering migrating our project. We're not sure yet though. I have yet to check out the blueprint system in-depth. (By the way, scripting is so much quicker with the graphical interface and in-engine compiler. No more restarting while adjusting a variable. Yay!)

Here are some pictures for comparison! Every texture and mesh is the same as they were used in the UDK. Only minor changes at most.

Left side - UDK, right side - UE4





---





Super detailed bump maps! Yay!



Geril created this "building" in about 15 minutes.







Real-time reflections make everyone look like T-1000s in liquid metal form

If we do decide to migrate the project, we'll make some tutorials.

I'm sorry to say that there may not be a comic this month at all. Geril is hard at work at his full-time job, and in UE4 too, and I (Lussy) am traveling in South Korea at the moment. I hope you can understand.