Enklu was a platform built to work with AR and VR on the web and on various devices. I was a designer on a lot of projects meaning I would create designs for clients and present slideshows for review, then I would work with contracts and assist to ensure the experience went well. I’d work on also creating art and code for the various projects I worked on using Enklu’s amazing platform and Unity.
BTW that wasn’t the owner in the video just a manager š
There were a lot of fans like the above who created videos on some of the shows we ran.
We spent most of our energy working with Hololens and Oculus.
Yeah, this is a quick demo of a demo I was building š This is an unofficial recording.
I worked on various things in the Unity-like platform. I would set up a lot of assets in Unity and then move them into Enklu for various scenes. Things like animation state machines you’d have to set up in Unity then you’d reference them by script. Enklu had a custom scripting language that was javascript-like with C# and HTML aspects depending on how you used it. Most text and UI aspects could use their special HTML-like code.
You can see how things slowly improved over time with the Unreal Garden below.
Above are various videos of the unreal garden in development (hence debug menus in the back), sometimes the mouse didn’t work quite as well as a hand movement would with HoloLens 2.
Organize It was a tool to make it faster to organize your workflow in Unity. I built out different features like playing animation at different speeds, testing sounds together, a quick note tool, a unity scene helper, etc… It was mostly directed towards level designers but could be used for anyone. I lost my work from someone stealing my laptop among other things from a break in. But I still learned a lot and thankfully recorded some of my work during that time. I just wish I was better at version control back then… Since I didn’t have a laptop for a while after that I ended up borrowing a Linux laptop – later learning Krita so that helped in other future projects.
I really liked creating tools and I hope to make a better version of this one day.
Video showing different featuresSound features like microphone recording
Sound features like microphone recording
Sound features like microphone recording
Time controls to speed, slow down, stop or move frame by frame
Time controls to speed, slow down, stop or move frame by frame
Time controls to speed, slow down, stop or move frame by frame
Stopwatch controls
Stopwatch controls
Stopwatch controls
Scene merging, copying, starting empty
Scene merging, copying, starting empty
Scene merging, copying, starting empty
Camera targeting and target object rendereing
Camera targeting and target object rendereing
Camera targeting and target object rendereing
I have more features than just this, you can look at the video to see everything else
Chapter 1 is a classic adventure game where you solve riddles and complete mini-games to try and save a princess. There are many ways to fail but few ways to succeed. This is one of the most ambitious team projects I have personally tried to run. I created all the gameplay, cutscenes, and animation and had my team help where they could.
Chapter 1 by softsound, chris ronin, Thorny, GeraltStark, nsbumblebee
Available for Windows, macOS, Linux
During this game jam, I created a game called The Adventures of Sir Kanon Chapter 1 with a small team. Itās an adventure game you can find here:
It features:
Voice acting by a lot of folks around the world
8 3D levels
Riddles
Puzzles where you may get lost š Iām not telling you the answer!
New gameplay toward the end if you can get there
It was a project to help me work on improving my management skills and leadership skills. I learned a lot from it. This project was created in roughly 2 weeks’ time with folks from around the world I knew. Almost all of the game was built in one week. One week was just for prep and understanding the tools. The training I offered was before the game jam started.
And yes, yes if you look at the details we do have 2 versions of it. Pick which one you prefer. The less silly version has fewer bugs and is easier to play through.
The Backstory
I’ve worked on numerous game jams and thought I’d work on leading a game jam with a team of people with no game dev experience. I thought I could at least improve their lives by giving them an opportunity to grow and learn.
Teaching a Team
So from the very beginning, I expected to do this entire project by myself if I had to. I would make sure no matter what happened we would have something to deliver.
But I also hoped… Maybe I could teach my team how to do stuff and they would go out of their way to learn more in their free time and magically get good. Well, ⦠Yeah no that didnāt happen. I spent a lot of time building tutorials and learning about this and that, I spent so much time just working on what I would teach that I didnāt end up teaching very much. I tried to create a short one-hour training every week by streaming on Discord. A short intro to scripting, a little about UI, some general stuff on animation⦠A variety of tutorials. I thought well, itās much faster if I just make a video instead right?! Video editing wonāt take that longā¦
Well⦠After making an hour-long video that took me at least a week to set up, film, edit, cut, and then realize it still needed a lot of work I was disappointed. I realized my goal of teaching my team everything before the jam would not happen. But it was a nice idea and I actually like doing this sort of stuff even though I would need more time to do it right.
Here is the video I ended up spending so much time on :/
Tools to Save Time
Okay so. I knew a lot of this project would fall on me. What do you do if you worry about time? Yeah, use tools, obvious answer. A master is only as good as their tools and I figured it was the perfect time to learn new ones to master! So last year I bought piles of assets, tools, mini engines, and things of that sort. I had something perfect for an adventure game jam though:
A new fancy tool. Itās basically a visual scripting tool with nice built-in adventure features so you can very quickly build out a game. I spent a lot of time reviewing videos and going through the documentation. More than I really planned but it worked out enough in the end. It is set up really well for a game jam! It would have been helpful if I knew this tool better before the game jam but you can learn a lot when forced to lol.
I can talk about the plus and minus of why coding should not be your go-to when designing a product and it even became an issue later when a newbie Unity programmer did use some code⦠To future-proof their work. Well, the code had to be dropped at some point which I expected, but he was able to address the issue and fix the problem later on. One reason straight-up code should not be introduced as an all-in-one solution is you might think you may fix one problem but you may just introduce a new problem by doing so and that was what happened later. So, you might have solved a problem but other users might not use your code how you expect⦠Also, visual scripting is good for folks just getting started with Unity. While I can script just fine in C# it can be much slower to reinvent the wheel. I needed to focus on speed so I used pre-built tools and options as much as possible.
Granted no one likes visual scripting going everywhere XD
I was pretty proud of how I was able to use the design and make work it both animation-wise and script-wise (granted the animations I did were a little hacky)
My favorite scenes in the game because of how complicated they were.
An example of meeting the snakeBehind the scenes of the snake scene
One of the complications was simply handling the lighting. I did a few tricks here to make it appear the lighting was changing and had to make some things time correctly… There are better ways to handle this but I had to take some shortcuts.
This puzzle was very hard for most players, it had 2 solutions but still many got lost in it
I was scratching my head on how to build out the design on this cutscene for a while. I was able to make it work, but I was unsure of how to make it appear something was coming up from below you for quite a while.
Version Control
I’ve worked with and without version control before and I knew what I did not want to use. My go-to GitHub Desktop proved to be too slow so I ended up using:
Originally I was going to use some *free* type of version control. I was going to use GitHub with GitHub Desktop and well it sucked even with LFS (Large File Support) setup. It was painfully slow, I literally spent 3 days just trying to upload some basic files and I got mad and was like this isnāt going to work (stuff kept timing out, breaking, etc, etc). Yes, I did have some help from someone who uses Git and he didnāt have any luck either.
I need something that lets me batch-upload hundreds of large files at a time that are likely a few gigabytes. So I really compared my options and decided to try Plastic SCM and man! This was smooth as butter!
In past experience I knew a lot of places where projects fail, get corrupted, and lose data, Iām used to using frustrating tools! Unity Collab was awful, it was so slow in the past that I shutter to consider all its limitations. I have used Sourcetree, TortoiseSVN, personal servers, and more.
I know the pain of merging, uploading, and everything else that comes up. I guess when working I take extra care to avoid merging whenever possible. First mainly because I have more experience failing than succeeding with version control and second because it feels like better work quality in a way. But I ended up merging things well, and fixing merge issues that came up (cough newbies were still learning how things worked)
XD Merging and zigzagging everywhere when learning to use the tool, it got smoother later. But you see my teammate sure tried hard to learn to use the tool.
Finally donāt worry about mistakes! š I actually, even liked merging and working with different branches, it made me a lot more fearless and more confident working with this tool and it says a lot about the tool. I actually started to feel like more of a leader sorta being in control of this section XD
PlasicSCM compressed the 30GB down to 14GB which is awesome š
I was willing to pay $10 though if I had to. GitHub cloud storage charges by the download (and a few other things) and I had⦠quite a lot of team members redownloading the project so Iām glad I didnāt go with that. Not everyone really understood how to use the tool leading to a lot of downloading…
Tools I Ended Up Not Using
Well⦠I had a nice animation tool I found for free and I recommend it⦠But due to time I just manually handled adding talking animations to some characters takes about 5-10 mins easy peasy and I didnāt want to download another toolā¦Though I spent time learning it before the jam just in case.
An example of creating talking animation
Donāt overthink animation when you are on a deadline, almost all decent animation is just a few keyframes anyway.
Now if I needed to move a lot of his body and add in the more subtle gestures I would highly recommend UMotion Community since itās free and gives you bones to animate with. The paid version includes IK which is really nice for advanced animation controls.
Besides that, I had a ton of asset packs. So I guess in the end I used 2 tools but you donāt need much to make something cool.
Voice acting
So this was interesting and all over the place. I spent a little time helping to coach some members on voice acting and I recorded a few lines myself. I donāt think Iām the best voice actor but I can put some stuff together. I tried to sorta go for Zelda’s voice from Botw for the princess. It was good enough. I originally was going to play other characters but like 2 days before it ended I met a kid who wanted to do voice acting and he did an amazing job.
Now you might ask about music and sound effects. Did I prepare for that? Yep. Did I forget all about that yep… š I’m only one person, but if I planned better I would have been able to get that in.
Design + Scope
Everyone knows design determines the scope, so keep your design small. Anticipate for expansion sure, but keep your design small to reduce scope. You can always add more or work on polish when you finish your original scope. But itās always sad to cut projects that get too big. Less scope is better time management etc⦠And well. The project started off that way⦠But I made a lot of very very bad assumptions.
Themes
Yeah, I just was dumb and assumed this would be like all other game jams, that a theme would be announced and we would work out some design after the theme. Boy was I wrong and that set off the whole project on the wrong foot. The great leader there not reading the directions. For this game jam, they wanted you to plan in advance and work out your design BEFORE the jam. So yes, despite a teammate asking me what my plans were and assuming they just misread I was completely wrong in this regard. Sometimes doing something so often can make you blind because assume you are right. š
So I scrambled to ask some folks about some design ideas and we wrote up a short idea, I expanded it slightly. It didnāt make much sense but was sort of funny. I was trying very hard to include a lot of people in this game jam, for better or worse. It would make it harder for me to add so many random folks without much game dev experience. But I always want to give people the opportunity to prove themselves and help them build confidence in themselves even if it may cause me some headaches. So there was this silly design, not well fleshed out but something I could work with.
Learning Tools & Scope
I was also trying to learn Adventure Creator during this time too. And then a family holiday came up and I ended up losing 3 days of work because I had forgotten about it eariler. I let someone work out the design of the script and flesh out the gameplay ideas further and would review some of it now and then. I didn’t have time to review it thoroughly but figured that I figured, like everything else we can always cut. I figured we would likely not get halfway through this new design. It was a huge and ambitious 10 levels with a variety of gameplay, cutscenes, and animation. I knew it was far more than we could achieve but for some reason, I was like A-okay we will do as much as we can. I wanted to see how far we would get. I also knew it would fall on me to make it happen so I thought, yeah sure I’ll tell cut later once I have a good idea of my pace.
And yes. I ended up cutting. The last two levels not only had me do a lot of voice acting which I was running out of time for but it required new gameplay elements and I hadnāt finished the new QTE (QuickTime events) yet and more left to do in another level. So I cut them. I just didnāt have time to do every role. (I did finish those QTE BTW.)
Also, that code bug did cause a last-minute headache and we were scrambling to work around it and I lost time from that as I quickly taught my teammate how to visually script that section instead. So Iām glad I cut early enough to leave room for this because I needed that buffer to address unexpected issues. I should have cut even earlier for a better product though.
Now lucky for me I also set up the website page earlier because I had no time towards the end. I knew time would be an issue. I was biting my nails metaphorically because it took like 15 mins to upload the thing and then I realized there was a bug and it was very much down to the line. I literally got everything set up 2 mins before submission time was over!
Retrospective
So what would I do differently?
Plan earlier + cut earlier
Maybe work with people who know what they are doing so I don’t have to review as much. (also avoids some drama, as newer folks can’t understand why their ideas are not feasible in the timeframe) Reviewing work and assigning work is a job all on its own. I’m lucky I was able to assign someone to do part of that and delegate what I could. Then I had someone review their review before it got back to me to give me a little more buffer.
Realistically though I’d probably be even more ambitious though… I almost created 10 levels in 1 week… Just imagine if I had the proper time and training to do this right…
My Virtual Guinea Pig (V-Pig) was a mobile virtual pet game. I spend a nice chunk of time doing market research, creating mobile builds, and working on 2D art assets. I was actually contracted to create a demo. I hired a contractor to work on the programming while I handled the art and design. I created some mock-ups in Figma, Photoshop, and Affinity Design. Sadly my client was unable to finish funding development but I learned a lot along the way.
I had just learned about style tiles and started to use them in my work.I went with a vector art style for everything as you can tell here
It was a cool project with a lot of potential and I had it running on iPhone and Android devices, perhaps one day with more funding we can continue. I was eventually going to change out the guinea pig as it served as a placeholder while I worked on creating a more unique style. Due to lack of funding though I would not finish this project.
It was on this project I would also start to work with Github Desktop to find better ways to manage this project as Unity collab was frustrating to deal with. I would also begin working with Figma as a design tool, it was still pretty early back then and it was missing a lot of useful features.
Demo of Guinea pig game
Here is a demo of a build that eventually shows I had a basic store setup to work with Google Firebase. It was really limited but a quick proof of concept. You can buy new guinea pigs or sell them. The buttons needed to be resized.
Omegatech was a Mobile shoot-em-up action RPG ofĀ CatsĀ in Mechas fighting against an interplanetary invasion.
I was a level scripter on this project and helped to create levels. I volunteered to work with thisĀ group over the summer. I learned new tools,Ā team building, and new source control tools (Tortoise SVN, and Sourcetree) .
The Maze is a game played with hand sensors (Leap Motion) so no controller or keyboard is required. This was my first and best solo game jam. I programmed and modeled a short game in a month (November) and learned a lot on the way.
Skills: Unity /C# Developer /ARā¦3D Modeling
I just sat down and entered my first game jam. I worked by myself on an AR game using leap motion. I wanted it to feel artistic and created a fake shader on the camera itself so I rendered everything wobbly.
Anyway I learned a lot, I setup maze generation, did some 3D modeling, and tried to work out mirror reflections with the renderer but only had it halfway mirror :/ I realized you could use the split mirror to sorta see around the level and decided to leave it, so on certain walls you can see other parts of the level. I didn’t have time to make it more spooky as figuring out the AR stuff was a huge pain. I think it turned out pretty well considering my timeframe.
Oh, and your hands control the lights in the game so you’ll want to keep them up so you can see what you are doing.
The game is very different from the latest version.
Kova was a sci-fi Metroidvania game with puzzles, quests, crafting, and multiple weapon types and abilities.
I had a contract role for a few months helping to develop different systems for Kova.
They originally created this for a Kickstarter. They found someone to help sponsor it and I was hired on to help down the road. This was an Xbox project originally as well before it was later moved to Nintendo Switch etc.
Skills: Unity /C# Developer /AI /UIā¦
Some of the systems I worked on included:
I worked on the enemy AI, creating their behavior and movement: Drones, pirates, flying bugs, rats, cyberpunks, Cicadalyte, Sandburster, etc
Various menu screens such as Map screen (with fog of war), Inventory screen, Log book, Ability Screen… Lots of UI setup and implementation
Puzzle setup – I helped set up puzzles and ensured they were functional
Mission setup – I helped setup various missions
HUD such as weapon selection and crafting, HP/Energy bars, etc, mini-map.
I helped set up some things on the game weapons: Shotgun, beams, Flamethrower, etc.
I helped the team learn about scriptable objects and better ways to handle save data with JSON.
Example of status check for Ammo, health etcTaking damage from a fallMenu screenSelect a weapon
After I left they decided to go in a multiplayer direction so it changed a lot, but you can see how it looks below.
Voice of the Forest is a simple game about planting seeds and growing a forest without letting your plants die from lack of nutrition. Work together with nature to improve your forest and grow strong.
Hey, in late December I decided to join a game jam. I joined a team and I worked as a technical artist, special effect artist, and general developer to help fill in the blanks for the team. I created a few particle effects, shaders and setup some of the UI in the game. I worked with another developer to fill in where I could and I worked with the artists helping them get their art into the game. I showed our UI/UX designer how to get his UI into Unity and how to set it up. I recommended a few changes to the UI and UX (Missing states the user would expect) and was overall happy with what our team achieved in such a short amount of time.
Skills:Unity / C# Developer / Special Effects…
Scope ~ 1 week ā Budget ~ NA ā Role ~ UI Dev/ tech artist