37 is totally a prime number.
Also, after two weeks of work, we have some new stuff to show!
It’s time to put more variety in the battles of CrossCode. Next to regular throwing, dashing, defense and close-combat, we plan to have special versions of these skills, which we currently call battle techs or simply techs.
These days we’re working on all the stuff connected to battle techs (e.g. SP!). However, something unexpected happened… Well, just read on to find out more!
Special Points (SP) in CrossCode
Introducing a new battle parameter: SP are required to execute battle techs, kinda like Mana or MP. The player will only have a very limited amount of SP (currently the maximum planned amount is 16). However, SP can be gather very quickly during combat: simply attacking the enemy will slowly increase your SP, even more so when using an enemy’s weak point. Outside of battle, SP will regenerate over time.
This week, we extended the player’s status HUD to include SP:
Okay, let’s explain the HUD is more detail!
The first thing you might notice is that SP come in two colors: blue and purple.
Blue SP will regenerate automatically, while purple SP can only be collected during combat and will slowly degenerate outside of battle. The SP that is currently regenerating (or degenerating) is displayed as small bar. We made an extra effort for a nice transition when those bars appear and disappear:
The second thing that might stand out: SPs are grouped in 4 units. This is because the SP growth speed changes after every 4 units:
The size of the SP bar shows it: The first 4 SP are the quickest to increase, the 4 SP after that will take longer, the 4 after that even more so etc. How much we will increase the growth time every 4 units is still not entirely decided yet, as this is an important balancing factor. Point is: Gathering large amounts of SP takes longer than simply gathering and using small amounts. However, having large amounts of SP stacked might always pay off in critical situations, especially in difficult battles.
Of course, the number of SP won’t always be 12. We plan to increase the number of SP during the course of the game from 4 to 16:
As you can see: half of your SP will be blue and regenerate, while the other, purple half can be collected during battle.
The SP HUD was completed, working fine. Then we went ahead to integrate the actual battle techs when suddenly:
PERFORMANCE CRITICAL! EXPERIENCING SLOWDOWN
One evening Intero was testing the current build of CrossCode on his laptop. Is was not a gaming machine, so the performance was pretty poor. However, because of that we noticed something. Something that was bad news.
The current build was noticeably slower than the TechDemo++. (Tested in Chrome) …
Turns out the problem was the games physics engine. However: the actual algorithm has barely changed - and still, everything took longer! The problem was something else: the data structures. It was the hierarchy-based entity system (as found in impact.js) that leads to very slow performance in the physics (at least with Chrome/V8). This is actually critical information for anybody who plans to develop with impact.js and is concerned about performance. We might release a more detailed report about this, if anybody is interested!
Anyway! After we found the problem, we applied some ridiculously massive refactoring (@Impact.js Users: Just assume you need to modify every entity pos and size reference in your code. EVERY. SINGLE. ONE.)… and the performance improved. A few numbers:
TechDemo++: 4ms per frame
Before Optimzation:: 5-6ms per frame
After Optimization:: 4-4.5ms per frame (well, there IS a bit of new stuff, afterall :P) So… What else to say then:
*sigh* So much technical stuff. Who’s up for some graphics?
Yay moving pixels!
After that performance-related distraction I still found the time to put together a new charge animation for Lea:
You will see this one before executing a battle tech.
T-Free worked on several elemental effects. Like this nice electrical effect:
Martina and TQ worked on more environmental graphics and we also got some new concept art ready… but let’s keep this for another weekly update, shall we? :D
So that’s all for these two weeks!
Also be warned: We might (finally) present some ‘new’ (yet already mentioned) members of Radical Fish Games.
Another 2 weeks have passed and we have another batch of updates for CrossCode!
We covered lots of ground in the past two weeks. The equipment menu is coming along nicely, a new system has been created for the database of items, equipment etc. and we implemented the first draft of a whole new feature (read more below… actually I can’t wait to tell you. The feature is: Guarding!). But wait. There is more! We also started working on the deck/bridge/cabins of the cargo ship (We even have some nice screen for it too! All WIP of course) and rewrote the complete animation system. So… Let’s Begin!
Equipment Menu and Items
The menu has been on hiccups for quite a while, but I (R.D.) finally found time to work on it again. Specifically the equipment menu that is. While working on it we figured that a new system for all the items you can have is needed. So I made a small system which makes it super easy for us to create items and give them to the player. After this was done I returned to the equipment menu and worked on some of the elements we needed. This includes status strips which display your different parameters and additional abilities we call Modifiers and some nice buttons to select what piece of equipment you want to change. This might sound like nothing but especially the buttons took a while since I wanted to make sure the animations look awesome when switching through the different equipment slots. Here’s a preview:
(We will be adding a video of the menu with better quality as soon as the equipment menu is finished). And here is the mock-up we showed some weeklies ago:
Pretty close huh? The animations really take time since I have to make sure that you can traverse through the menu without menu elements looking weird or misplaced.
Lachsen gave Lea a new move: Guarding! As the name implies this makes it possible for our hero to defend herself against hostile attacks. Guarding will reduce the damage taken by some amount, even more so for damage with the same element as yours. You guard by holding the dash button without moving. This works very similar to guarding in Super Smash Bros., so you can dash and hold down the dash button to instantly guard. Of course you can’t guard forever. If you use your precious shield for too long it will break and take some time to cool off, so you have to make sure to only use it when needed. You can also counter-guard attacks (which is currently not implemented). A counter can be done by guarding right before (or while) an enemy attacks. The effect can be compared to a charged ball. Some attacks will leave the enemy in a vulnerable state when countered. Again, here is a small gif showing Lea using the new guard feature:
In this context we also had to entirely rewrite the animation system. It makes it possible for us to combine multiple animations per entity. This is used for the guarding and will also be helpful for larger enemies or bosses.
New Maps and a new way to display map content
Working towards the demo also means we have to create new maps right? Right! So we started doing just that! And along the way we found some problems that needed fixing. The first problem were walls. Yep, walls. Or more specifically the fact that you can stand behind the walls. The problem is that you can’t see Lea anymore. This makes it really hard to create narrow passages and well… you can’t see yourself. So Lachsen added a new type of map-layer that enables us to fade-in/fade-out parts of the map. Now if you stand behind a wall it will go transparent and let you see through it. Another problem was the path-finding. We created a small stress-test to see how the system handles lots of entities constantly moving around. The result was that entities got stuck and would walk very close to edges. This made it look kinda unnatural, so we fixed this by letting entities walk around edges and other entities smoothly. Also when entities get stuck, they will try to step back and walk around the obstacle. Again here is a gif showing a little piece of a new map, some NPCs and the transparent walls:
(the mapping is very simple here, it is just to give you an idea of the environment)
If you read this, you found the end!
Thanks for giving the post a read. Until next time!
Hi again! It seems we ‘slightly’ missed our bi-weekly update schedule. By a week.
ANYWAY! We got quite some stuff to report this time!
Lea can do new stuff!
The last weeks Lachsen spend some time to finally implement several features that have been overdue. As a result, Lea can do so much more amazing stuff now!
First of all, she can enter doors… SIDEWAYS:
But that’s not all. Finally, Lea can take an elevator to move to whole different levels (as in floors):
And last but not least, she can also take the more healthy option by climbing stairs:
Now there is truly almost no place left that Lea won’t be able to…
… Yeah, we’ll get there.
"But that’s just trivial!" you say? Our physic engine thought otherwise. We first had to teach it how to handle things like varying height.
Finally, we made lots of progress on getting the outside of the cargo ship in the actual game. Here a screen of the new location with vignetting and clouds, right out of the game:
First progress with concept art
As we mentioned recently, we’re planning to create more concept arts on the future especially to plan the different areas of the game. So far, I got around to create a few (rather simple) images of new areas. The following is called Rhombus Square - a futuristic city in the middle of the sea:
Yeah, could be more professional… drawing concept art like this is new to us. But it’s enough to communicate the idea we had in mind. We plan to get some other artists to help us with more detailed concept art. :D
Progress with graphics and thoughts about the future
In addition to that, T-Free started working on sprites for the crew on the cargo ship, mostly used for NPCs. Tina added some more details to the bridge of the cargo ship and Intero started composing a new track for the outside of the cargo ship.
Finally, we recently discussed in what direction we want to go with CrossCode and Radical Fish Games in general. Our plan is still to work full-time on our games eventually. These days, we’re getting more determined to really get serious about this. Thus, we try to fix a date, aligned with our studies, when Radical Fish Games will finally start through as a company.
…What about that Autumn Milestone?
Awww… we hoped you’d forget. :D
Well, it’s true. We had a milestone set around this time. The good news is: We did some of the planned things. The bad news: Unfortunately not all of it.
We finished Web Audio support for Music. We also made a lot of progress with the outer cargo ship area. However, we didn’t even start implementing battle techs and didn’t get as far with the plot as we planned.
Why so slow? We had some difficulties when creating graphics for the outside of the cargo ship. We also had to focus more on our studies again at times, especially since the semester break ended recently.
Now, even though things went a bit slow, we’re still very motivated about CrossCode! So we’ll make absolutely sure to finish the Autumn Milestone until the end of this year!
And that’s all for this update! Thanks to everybody tracking our project!
PS: IHeartPieGaming recently discovered the final challenge of CrossCode and actually beat it:
And finally the weekly! Kept you waiting, huh?
Over the past 2 weeks we got lots of stuff done, from internal changes in the code, over new graphics, to a change in our workflow! And now we’re gonna share all of it with you.
We just finished another batch of little interface elements that are required for different sub-menus. Because of some heavy workload, we had a bit of a slowdown here but we still have our milestone for October and it includes (at least partially) creating the menu. So more updates will come over the weeks and surely some screens as well!
Like always we are working on more details for the cargo ship. Tina started working on the bridge of the ship. Want to take a peek at it? Well we have a little Teaser for you right here:
More in the next weeks! Teekuh worked on small details like chairs, tables and the like (used for the cabins on the ship).
Workflow & Concept
We are still a young group of more or less random people, trying to make what we love (It’s games in case you wonder!). So after we had several issues with communicating graphic requirements, we realized something: We can’t start thinking about graphics when creating sprites. We always planned ahead with descriptions, but never had a clear vision for the visuals. Thus, we need concept art for the sprite artist to give them a better picture of the world we want to build. We think that this is an important step and it will help us to increase the quality of the game. You already saw concept art of the characters and maybe we will release some concept art of the world soon too!
This is all for this weekly. Now have a good day and oh! if you haven’t played our little side-project yet, go ahead and give it try! Just click on the following link:
Back on the road!
So we say we will get you a weekly update but instead there is no weekly update. But we have something much better! A new (mini-)game! And it’s called…
Ninja Hobo Connoisseur
Over the last weekend, Lachsen and Intero were visiting the Devmania in Mainz. The meeting featured an overnight contest and the two joined the contest to test out our engine and how fast we can do cool stuff with it. We also got help from Richard Wepner (he is also the one who told us about Devmania).
The theme of the contest was very simple: “Look at the front page of a local news magazine, take any key word and make an original game out of it”. Some of the games ended up really cool (There is no official list of all the games, but if we get one, we will share it!) and although we didn’t win, we think our game is pretty cool nonetheless. So why not share it with you folks, right?
We don’t want to talk much about the game itself because it is kinda self-explanatory. The basic gameplay is actually similar to CrossCode. You run around and throw lots of… well not balls this time, but corks. Yes. corks. Oh and you can speedrun it!
But enough talk! Have at you! Go play our new game now (click on the image or the Link)! Hover of the Highscore/Controls panel to see their content!
Make sure to share the game with your friends and tell the world about it! Please consider that this is an over-night project (together with the post-contest changes the work times was around 1.5 days) so it might contain some bugs or does not have the highly polished levels/graphics you normally see from us.
The version you can play here is a little bit different from the real contest version. Here is a list of things we added/changed:
- added Highscore panel (compete with your friends or with us! Yes we will post our best time on twitter this week)
- added Controls panel (take a look at the controls! We have manual jumps!)
- added some animations to the title screen (nothing is more cool then a ninja appearing with his eyes closed.)
- added English text
- added basic gamepad support (it’s an extra challenge in tight spaces! So try it out if you like.)
If you like the music, why not check out Intero’s Soundcloud Profile? He uploaded the “complete" soundtrack! Check out this link:
So have fun playing! Until next time!
P.S. We did not forget CrossCode. We have some nice updates but a whole game is a lot for a day. So we will post the updates tomorrow.
Just a short message for in between!
This weekend, we’ll visit Devmania, a game developer conference in Mainz, Germany.
Click here for more infos about devmania
Anybody else going there? We didn’t get any official presentation slot for CrossCode, but we can still show around the current state of the game in small groups, if anybody is interested.
Let’s Play by IHeartPieGaming
IHeartPieGaming has recently added a small Let’s Play of the CrossCode TechDemo. It’s a fun watch, especially since he solves some puzzles in an unusual way.
Let’s do something different this week!
Instead of a weekly update (which we will now provide every second week), we want to discuss some game design aspects of CrossCode with you. This week, we’ll discuss a more controversial design decision of CrossCode: the automatic jumping.
Ever since we published the TechDemo, we’ve often gotten the feedback to add a jump button for more precise jump control. Up to this point, we still don’t plan to integrate this button. And in this post we want to give some insight into that decision. In the following we will provide 3 reasons why we have auto jump in CrossCode:
CrossCode is about height - not about jumping
Pretty early on we decided to make CrossCode three-dimensional so that the player can walk on layers of different heights. Having height is always a great thing to make the design of areas more interesting and dynamic. It is also a great tool to design more challenging puzzles. Even boss fights taking height into account are a possibility.
However, while height is definitely an important part of CrossCode, jumping is not. We obviously need jumping to move between different heights, but if we look at puzzles or battles there is no reason to do precise jumping here. This is also because the jump height in CrossCode is fairly low. It’s not even high enough to jump on top of most enemies.
So it all boils down to 3 things we do with jumping:
- Jump up on a higher platform
- Jump down on a lower platform
- Jump over gaps
There are two ways a jump button would provide more control:
- You can decide exactly when to jump
- You can decide how long you’ll jump by pressing the button for a longer time
Timing is important for jumping over gaps, but for this aspect, auto jump already does a perfect job: it jumps at the last possible moment in front of the gap.
As for the duration of the jump: since jumps in CrossCode don’t go very high there isn’t much to adjust in the first place. In addition, you can change your movement speed during the jump to adjust the distance which works pretty well for shorter jumps.
There is one situation however, where auto jump can be slightly annoying: sometimes you don’t want to ‘jump’ down a platform, but simply fall. There is actually a way to achieve this in CrossCode: you need to approach the slope more slowly. But this is still harder than simply ‘not pressing a button’. There is a workaround, where you can simply use ‘dash’ on the slope, but this has its own problems.
All together: we think the additional control of a jump button isn’t really all that important for CrossCode. But maybe we’re missing some use cases here?
We want to keep the ball throwing action mostly 2D
Free jumping also means that you can jump during battles - and throw balls while jumping (in the known jump’n’shoot fashion). While this works perfectly fine in 2D, here is what happens in 3D: Can you guess the exact position of these 3 balls? Here is the solution: Kinda unexpected? This is a general downside of 3D: it’s often hard to see the actual position of entities. It’s especially difficult for pseudo 3Dwithout perspective distortion (things far away don’t get smaller).
When we add free jumping to CrossCode it’s likely we’ll have more balls at different heights at the same time. Since CrossCode will be a fairly fast paced game, this added complexity will most likely result in confusion in the heat of the action.
Of course, we already have problems to some extend since we added platforms of different heights. However, with a limited number of platforms, the player can at least be sure that two ball-throwing entities on the same platform will hit each other as expected. In contrast to free jumping, you only have a limited selection of heights you can move on, reducing the complexity.
Auto jump worked before
Finally, we want to refer a popular video game series that already successfully makes use of auto jump since quite some time: The Legend of Zelda. Auto jump has been added in Ocarina of Time and remained in the series ever since, even in more 2D-ish titles such as Phantom Hourglass.
All together, we think that auto jump is a better choice for CrossCode compared to free jumping. So much for our opinion. What do you think? Is there any advantage to free jumping that we missed? We’d love to hear your opinion on this topic!
Hello and welcome to another weekly update!
Before we go on, an important message: Since we’ll be more busy with studies, we will post biweekly updates from now on. We still might have some posts in-between, but not necessarily with game updates. Of course, we’ll continue with weekly updates, when we find more time for CrossCode again.
For a change, we thought we’d make the whole update a bit more personal. So who exactly is doing what?
R.D. is currently working on the menu, making progress with tedious stuff like scroll panels (it’s too bad we can’t simply use HTML here, but nope: no support for blocky pixels D:).
I (that is… Lachsen) started working on the technical foundations for a guard option during battle, next to some integration work here and there. Also some optimization (our menus caused some serious slowdown - even when invisible).
Music and Graphics
Intero is continuously working on improving the (actually already pretty neat) soundtrack of the tech demo. Here you find another preview of the BGM running during all those puzzle segments.
We also got a couple of pixel artists who contributed a lot this week: T-Free and TQ… who we kinda missed to properly introduce so far. We’ll catch up on that later! (avatars are WIP~)
T-Free already helped us a lot already before the release of the first tech demo. He contributed some some really amazing effects. Now he’s back and sets our whole ball-throwing business on fire… quite literally with some ”cool” heat element-mode effects:
Looks good? You gotta see that in motion. Yeah… we’ll provide a video once we have some more effects done and polished.
TQ/Teekuh/Vintal is another pixel artist helping us with environment graphics. This week he created some fancy text and logos for our new cargo ship scenario:
So… what do you think that logo is? :D
We also had a really productive planning session this week, discussing aspects of the story as well as gameplay.
For instance, we decided on how exactly we want to integrate special techs into the battle system. That’s right, next to “real-time element change” you’ll be able to perform specials skills apart from the usual ball throwing - but those won’t be for free. You’ll consume Special Points (SP) whenever you execute a special skill - kinda like mana or magic points (MP). However, you will only have a pretty limited amount of SP and many ways to regenerate them quickly. Thus, there is little advantage in saving SP. The whole idea is to avoid the usual “MP saving” behavior that you find many classic RPGs. Because where’s the fun in battles if you ignore all the fancy stuff to preserve your MP!
Actually we’d like to know your opinion on that one.
What kind of “special skill/magic cost system” do you like?
Classic MP? Cooldown? Or something else entirely?
That’s all for this week! Again, progress updates will continue biweekly from now on. In between we plan to have some other posts, discussing some design decisions of CrossCode and maybe game design in general.
A new Semester is starting. This means that the coming weeks will be a bit slow on the programming side. On the graphics site however we made some nice progress. We can’t show anything yet because we want all the graphics to be in place to make a nice in-game screenshot. Also you can now find us on Clay.io and Gamemix!
We polished the menu further and added some new animations. Since we need some UI-elements again and again we are now creating some reusable elements for the different sub-menus (e.g. scrollboxes). As mentioned, progress is somewhat slow since a new semester has started which need our attention (at least for some of us).
Our new secret graphics artist (he will get his spot on the about page as soon as his avatar icon is finished) has just started creating new effects for the different element modes. He also works on a NPC we first introduced in Weekly Update #19(the one on the left). If everything works as planned, we can show you the results of his work pretty soon!
Clay.io and Gamemix
We got some new partners we are now working with to share CrossCode with other peoples! The first one is Clay.io, which offers lots of awesome HTML5 games (like this one: Treasure Arena). It also provides an API to work with the account system the site uses. It has some nifty features like Achievements, Leaderboards or even Social Integration. You can find our game via this link here: Click me… please? Gamemix which offers different games in a rotation system. If you play CrossCode via this link Click Me, you can see a new banner at the top of the screen. This banner randomly shows other games in the rotation system Gamemix uses. Click on it to play other games int the rotation system!
Well, that’s all folks!
The coming weeks might be a bit slow but bear with us, we’re trying to put as much time into the game as we can!
Hi and welcome to yet another weekly update!
This week we continued working on our menu system. We polished several graphics, created new mock-ups, and further implemented the start menu screen.
Let’s start off with the implementation of the start menu:
This is an actual screenshot from the game. On the upper left you see a more detailed status display, which actually expands dynamically from the smaller status HUD during gameplay. In addition to HP, we have experience, level, and base stats displayed as well.
The small entries with the yellow lines show the currently active buffs of the player, which can influence base stats, element resistance, or other parameters (such as aiming precision). With the yellow line you can see how long each buff is still active. And yes: you’ll see those buffs outside of the menu as well.
On the right side you get an impression on what kind of content you’ll find in the menu.
So much on what’s already implemented. The following screens are mock-ups from future menu content:
This is the equipment menu. We have shown an earlier version in a previous weekly update. We just polished some of the graphics here and added a few more buttons in the upper right corner. The status button allows you to quickly switch to the status menu for convenience (you often want to see the status in full detail when changing equipment).
Here you can select a new piece of equipment. On the left side you can see what effects the selected item will have on your stats.
Finally, the status screen. That is: the parameters page of the status screen. Yeah, that’s a lot of numbers since it shows each and every parameter for all 4 element modes + neutral. However, since you won’t start with all elements right away you can expect this screen to start simple and grow more complex over time.
Oh yes, those small circles? Those are some miniature pie charts visualizing the stats: either they simply map to the percentage value (e.g. for modifiers) or they show the difference to the base value (e.g. for the 4 base stats MAX HP, ATK, DEF and FOC). …You might notice that the numbers don’t really match the circles. Well, it’s a lazy mock-up. You will find more consistency in the game, promised!
And that’s the stuff we’re doing these days. Any opinions about the menu? Just leave a comment!
Otherwise, until next week!