This iframe may cause lag, if you experience lag try the direct browser link.
direct browser link (good for playing on mobile or experiencing lag)
This is the current version (prototype 4) of the UMCH lite engine made using construct 2 native logic (no plugins) and exported using construct 3. It may not seem like much but that because it’s just testing various functions. This goal here was to create a modular logic systems designed to replicate the systems created in flash that were used in the creation of UMCH and all of that is done here. And with this build I finally worked out a few kinks there was causing really bad lag on mobile devices.
Below are the general goals I wanted to accomplish before I actually decided to start making games with it. Keep in mind that similar to flash, you just have a blank page and a blank event sheet for code/scripting. All of this had to be made from scratch and it why it took so long doing it on the side.
Since Construct 2 is a general 2D game making tool, it has no premade way to manage dialogue for anyone deciding to make VN style games. Like in UMCH I had to make this from scratch. This was one of the easier things to make. If you click on characters in the demo, they have have dialogue appear.
The more recent VN games made with tyranobuilder had facial expressions however UMCH originally did not have them for the most part. The few that were in there was managed in a similar un-optimized way as tyranobuilder by replacing the entire character sprite just to change the face expression. However the way I’ve done it here is to make use of a sprite sheet that will just replace the head only. The reason for the sprite sheet is to have all the faces loaded as a single image. Assignment of a face expression and look direction is all managed from this system. It’s more complicated but it works better under the hood. For example, Riley who is assigned a character number, looking left with a happy expression, would be some number combination that is read when the dialogue line is read.
Of course his mechanic had to make a return as is more or less fairly unique to my 2D VN style games. Along with playing a female character in first person in general. Mechanically it works the same way on PC as it did in flash, you click and drag, you can release early or they will bounce back int their position if you drag too far. On mobile this is managed by touch and drag. I may add further things you can do with the boobs but the goal of at least having the basics for now is established.
In UMCH you can look up and down. For me the games definitely don’t have the same feel not having the ability to do this. An example would be in the tyranobuilder games. The boob novelty becomes even more ridiculous than it already is when you can’t actually look down, they are just within your vision when looking directly forward.
- H-Animations (scale and sound sync)
I made all the Tyranobuilder games in the default size it (used to) recommend, 960×640 pixels. This was indeed the smallest size i was comfortable with that also gave frustrating but just barely tolerable animation results using gif loops. I also had an option for webms. The problem with both of these options are you can’t reliably sync sound to a gif loop and webms may not play in any browser. Then I’d have to add predictable sound to the video that is designed to loop. so you’d get used to the exact sound effects as the same ones loop over and over. The way I have it in construct, it uses a 30 frame sprite sheet I believe i had in jpeg format. but during optimization it get’s turned into 4 frame sheets that are pngs for some reason. But in any case i can see it runs much smooth and at a larger size 1280×720 even on mobile. I can also program random sounds to play at specific frame to sync un random sounds effects to play exactly when they needs to be played based on the animations. Not being able to do this was really frustrating to me on tyranobuilder.
the BJ animation (and minigame) in this test can be found on the title screen. I have to see why the game is not beginning on the title screen but a a workaround to get to the title screen is visit the pool and click/touch the swim minigame icon and click the red X icon in the top left.
Since construct 2’s orginal purple is to make 2D games in general. That is exactly what it excels at. Making minigames was the easy part and I expect to have more in various games I make with this. So far i have top down swimming avoidance mingame, and top down shooter, draw a line between 3 or more matching colors, and pattern match. I plan to add a memory game for the cafe also. I’ve already replicated the base ARIA combat system form the old flash game as well. I even had a card battle mini-game i was thinking about adding.
- Characters Swapping Outfits
In Umichan Sorani made with tyranobuilder there is a point in the game where you can temporarily swap Zytra’s clothing to a see-through lingerie for a quest. This part was actually more difficult to code than it seems and required a lot of redundant art. All of Zytra’s face expressions and looking directions needed to be added again but with a different outfit now. Since the face now independent of the body I can more easy have different outfits. I’ve always had the idea where can actually change the outfits the girls wear in the cafe. ttrop actually made two additional designs but they were too complicated to use. but now they won’t be.
To navigate different areas in UMCH you have to travel between areas by clicking on-screen buttons. I took the system I did in the VN game and applied it to this system. Now the areas don’t have to be cluttered with navigation buttons.
I had to recreate the tablet or phone in the case. Making different pages is more complicated than it was in flash but the end result functionally works the same and more organized and simplified. It would have been way too hard and time consuming to have each VN game have complex data management and display it, so I simplified some of what I’d normally show as a number value to instead showing as a icon value. One example of that is the simplification of Money in the Umichan VN games. I used icons to represent how much money you had instead of having it as number on the phone/tablet and made stuff cost no more than 8 max “money” which is also one pink stack. You can easily visually count the number of pink stacks and black dollar icons to see how much money you have. If you need a lot of money I figured I was doing something wrong. However with the possibility of bigger games I may have regular consumable stuff you can actually buy.
This is not everything from UMCH of course but it covers the major stuff I need. I wanted to make sure these system can be replicated here the same way way or better.
More things would be a Day,Evening and Night system and backgrounds to go also with that. I’m looking into doing that now. I’m also thinking about redoing some of the small tyranobuilder games (or making new small games for fun) and if I do, a day and night system wont be necessary.
One drawback that is not here currently that was in tyranobuilder logic is the ability to slide characters left and right and increase or decrease their size. During the conversation. I can do this generally but I’m not-quite sure how this would to work dynamically with the dialogue system I’ve already made. UMCH was able to change character sprite sizes by simply moving to the next frame of the timeline where I manually had the characters larger. Construct 2 has no timeline so the moment when a character needs to be increased or shrunk or moved during the conversation needs to be based on math and variables. I haven’t tackled this issue yet but I plan to soon. currently I set the initial spawn of character wherever I want and how big I want.
In general I need to make maybe one more system that executes functions based on dialogue cues, or add it to the existing dialogue system I made, so I can play little sound effects or have a character swap clothes, or leave the conversations, or move positions, or whatever during the dialogue. I thought about adding a unique ID for each dialogue in the game so I can know what dialogue is active and what position in the dialogue it is in which will allow me to make events that check for that and trigger when needed. But I’m not sure if I will uniquely number each dialogue. maybe just the ones where something needs to happen wont be too bad.
The main game I want to make with this, the main reason I’ve (re)built these system in construct, is to make a game that takes the reworked story of UMCH and all of High Stakes plus what I originally intended, and some brainstorm discussions on the forum and combine into one story. which would be an actual proper successor to UMCH. Up to partway through Day 3 is already worked out. I will have more details for this specific game idea in a different post because there is a lot to write about there also. This post is focused more on the technical functionality of how the game will play.