Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

theanomaly

16
Posts
3
Topics
1
Followers
A member registered Feb 05, 2017 · View creator page →

Creator of

Recent community posts

Hi,

I think about using  this jam to improve the current version of my game: Xarkanoid. I've been planning to do this eventually, but I haven't had time for it yet. Since it's like upgrading from version 1.0 to 2.0 I'm not 100% sure if it fits this jam theme - if not I'll just not submit the game.

The game is simple Arkanoid clone with few additional things, and it looks like this (Only with lower amount of bonus on screen.):

Screenshot from the game

I have quite a few things planned to improve:
Local redmine screenshot

Besides fixing some glitches, adding some little features and doing some refactoring I plan to add level editor to the game. Currently there is an option to make new levels by editing json files. Level editor should allow create json files by clicking and drag and drop things on the screen. Estimated times on screenshot may be overestimated, but it's still going to be a lot of work and requires to think more about level design.

https://theanomaly.itch.io/xarkanoid

Xarkanoid is a simple arkanoid clone with few additional quirks.

  • It has five sets of ten levels that contains 4 different block types  and 7 different bonuses that can be gained by destroying blocks.
  • Two languages: English and Polish.
  • Use mouse  or keyboard to control the game.
  • Levels and translations are stored in json files and can be easily modified.
  • Collision of the balls triggers shooting of additional bullets.
  • Source code available


I've managed to find what's wrong. Image name was A.JPG. I searched for A.jpg. My windows 7 doesn't care about whether extension is upper case or not. Server apparently cares. When I downsized files in gimp I changed extension.

I'm making both windows and webGL version of my unity game (https://theanomaly.itch.io/xarkanoid?secret=kXT8VOrQPRhbmpQghw0j8GGoPo). On last update I've changed default background images and only after uploading it to itch.io I noticed that webGL version fails to load background. I've checked firefox console and I noticed 403 error.

I checked it on Chrome. Also not working.
I checked my localhost version of webGL. It worked fine.
I downsized my images a bit (from 4000x3000 to 2000x1500) still nothing. Since I've changed their extension to jpg they had smaller filesize than background I have before update and that background loaded every time, so it's not file size issue.
I downsized my images to 800x600 which is my webGL version of game resolution and... 4 of 5 images loads correctly (A does not load. This is the version that is currently on my page. A file does not have the biggest file size of 5 pictures.)

I have no idea what I'm doing wrong. Is there a reason why I'm getting those 403 errors?

Day 12 and 13:

I didn't do anything. Didn't have time.

Day 14:

Since I wasted two days it became obvious that I'm not going to replace most placeholder characters. Instead I've decided to change the most important things.

- Switches now makes sense. There are two lever switches and one piece of wood that need to be pushed to strike bee hive.

- Instead of coin there is now symbol of an ability.

- Moving platforms have an indicator that they are moving, and I've added one more to the level to make players familiar with them.

- Character sprite now turns back.

That's all for this jam. I have 5 hours left, but I'm too sleepy to do anything constructive. There is still some weird physics there, especially moving platforms, but IMO it's not the worst try for the first 2D platformer. Tomorrow I'll start playing other games to look how my game compares to them.

Day 11:

It's 37°C (98.6°F) here right now and both me and my laptop are melting. Nevertheless that didn't stop me from coding.

I've made simple prompt displayed when player can activate switch.

I  implemented player abilities and double jump. It works surprisingly well.

And I published and submitted game to the jam. It's right here - https://itch.io/jam/my-first-game-jam-summer-2017/rate/161253

In next two days I'm going to try to draw my own assets, so I'm going to search for Bob Ross on youtube. Wish me luck.

Day 10:

After some thinking I came to conclusion that I have to change the physics of the game a little. Character is jumping like on the moon now, and there's too much control in air. If I want to implement wall jump then player can't just climb on one wall by that. I've raised gravity and made player add force to rigidbody while in air instead of changing velocity like on ground. That revealed another flaw in my design - I've checked for ground using one raycast downwards while collider had some width. That caused character to be stuck on upper corners of platform because added force was too small. To fix this now I'm doing two raycasts on both horizontal edges of collider.

The rest of day 8 and day 9:

I've refactored code and fixed every bug I managed to find. Platforms moving up still work a little funny (you "jump" at the top end of pattern), but I think that it's not that bad. I've changed level, so now it's longer. There is also first sound in the game. Currently it's switch sound, but it's going to be more soon.

Tomorrow (Well, actually today since it's past 00:00) I want to finish level using placeholder assets. Next 3 days I'll be working to make some assets so people don't have to guess that cloud is really a switch. On last day(s) I'll just make some finishing touches.

Day 5:

I implemented the core mechanic of the game. Entering dream world. Currently it's implemented with disabling and enabling different player game objects. There are 3 player gameobjects: normal, sleeping and dream. At the beginning of the level only the normal one is active. When X is pressed, player is falling asleep. Normal character is deactivated and other characters are place where normal character was and activated. When player presses X again, normal character is placed where sleeping character was and is activated while other characters are deactivated.
While it's rather easy to implement it has one disadvantage that is going to bite me later. There are two copies of the player scripts. One on normal player, one on dream player. That means that handling player states is problematic.

Day 6:

I didn't do anything. I'm lazy. :(

Day 7:

I implemented bottom boundary. Now player won't fall down infinitely, but when hitting invisible wall they will either reset level (when not dreaming) or wake up (otherwise).

I started implementing moving platforms and I faced problem. Character is slipping from the platform. I saw a few different solution on the web and decided to fix it the next day.


First half of Day 8:

Since it's Saturday I have a lot more free time to do things. :)
First of all I've checked solution to moving platforms and decided to go with adding platform velocity to velocity of player while they are on platform. Other solution either didn't work (parenting) or were unnecessary complicated. After that I've decided to implement a switch that will activate moving platform. Currently sprite for a switch is a cloud that is going red when activated. I'll make proper sprites later. I had another decision to make about switches: how to detect whether player is in switch collider when player is pressing use button. The simplest approach would be to call function that detects if either of player colliders intersects any switch collider (there's always a possibility that player may interact with two or more objects at once). However after webGL acting funny with that function decided to try another approach.

I've made switch a trigger collider, with function OnTriggerEnter2D and OnTriggerExit2D. Player has list of switches they can use right now. Each item on list has reference to switch game object, action to do when switch is off, and action to do when switch is on. On trigger enter switch adds itself to player list (Frstly checking if it wasn't added already. Player has two colliders.) On trigger exit switch removes itself from the list. This looks not that complicated and rather efficient.
Unfortunately this is the place where multiple copies of player scripts make things not work.

Nevertheless I quickly finished everything, added few texts and after 8.5 days I have a demo where player has to go to dream mode, jump to switch, and cross the gap to go to another platform. With placeholder sprites and no sound effects at all. What more can you want? This is the best game ever!



Yeah, when I stared the game jam I thought that I will be more advanced right now, but it's still some progress.

I still want to:
Clean my code

I was rushing to make it work somehow, and code doesn't have the best quality. I want to refactor and comment it. I also want to find a better way to deal with dream world. Instead of deactivating whole character I'll probably want to just replace child sprite elements, and change tag and layer of parent gameobject that contains all logic.

Make player gain ability

While originally I planned to have many small levels now I think that better idea is to have one level where player explores the level and gain abilities that allows them to backtrack and access previously unavailable area. Main idea for ability right now is wall jump, but if it proves to be too difficult to implement then I'm going to end up with double jump.

Get rid of placeholder sprites

On sunday I plan to have most coding done and focus on making level bigger and prettier. I want to replace sprites and add my own. Even if they'll have paint quality it's better than generic placeholder sprites. I'm going to add some animations, at least for: switch, player movement, falling asleep and waking up. I'm going to add some sound effects and music.
If I'm going to have some free time then I will make option to customize controls, but it's not top priority right now.




I've updated files in my project so you can see my progress.

It looks like it's webGL bug connected with platform effectors. I've just replaced collider under character with raycast to check for ground. I hope I won't encounter more webGL bugs cause it's easier for player when there's version to play in browser.

Day 3 and 4:

After seeking help on discord it turned out that webGL just doesn't like platform effectors. I've changed detection of collisions to raycast, and it helped. Still, getting working version on webGL is now lower priority. If it works then great, but I'm not going to waste time much to find what's wrong.

I've also started to implement mechanic of entering dream state. Currently it's working as long as you don't fall asleep while jumping. I guess it's not advised in real world too.

I didn't make much in these two days, but tomorrow I plan to fix bugs, and implement first puzzle.

Day 2:

Today I've finally done some serious work.


I've made a main menu. Currently it's just for starting a new game, selecting language and quitting the game (not on webGL). The most difficult part of these are of course translations in different languages. They are kept in streaming assets as json files. I'm using Jsonutility class which is rather simple to use, though it has its own disadvantages (For example it doesn't handle nulls. It doesn't crash - it just makes object with default values on fields.) however they are not important here. What is important is the fact that I decided that my game is going to work in webGL. On Windows checking for available translations is easy: just use DirectoryInfo class to search for files that match the pattern *.json, obviously this doesn't work on webGL. Instead I've created additional file index.json with list of available languages. Additionally class WWW which is used to get file from url is getting the file asynchronously. I'm using callback function and have loading screen to wait for file. That sound complicated. Good thing that I've already faced these problems in my other game I'm making, and pretty much copy-pasted code from there.


Next step was to create simple first level using assets I've downloaded yesterday. After some time I've managed to get character to move and jump. I've considered using either adding force to rigidbody 2D or changing velocity. First I tried adding force. While it makes sense for jumping, walking looks really artificial for me. I considered using force for jumping and changing velocity for horizontal movement, but forces are discarded by manual velocity changes. For now I'm changing velocity for both vertical and horizontal movement.

My character was moving and jumping, but there was a problem. They get stuck on the side of the wall while jumping. After searching for solution  I added platform effector 2D to the platform, and made collider to use it. It worked partially, my character was still stuck on upper corner. Fortunately after I changed their collider from capsule to capsule on down end and box on upper end everything seemed to be working smoothly...

...until I exported it to webGL and playtested. For some reason character doesn't want to jump when their are on effector collider. It only happens on webGL. This is probably connected to the way I'm checking whether character is grounded. I know two ways of doing that. First is using raycast with layer mask. I didn't do this. Instead I've made small trigger collider under the feet of character and I'm checking whether it's crossing any collider with layer mask. I've checked browser console and there are no errors or warnings, it just doesn't detect that character is grounded.

This is all I've done today. I've uploaded current state of game to my draft page, and I'm going to bed. Tomorrow I'll see whether I'll fix it or just give up on either detecting grounded state this way or having webGL version of the game.

-7 hours:

I'm so excited about this Jam. It starts tommorow at 6 am. I'm going to start coding right from the beggining.

Next day, 8 am:
Five more minutes, mom...
ZZZ...

Yeah, my first day on gamejam was rather lazy.
The only things I've made was to import some utils classes from my past projects, and simple 2D platformer assets from assets store, so they can be my prototype, or maybe final sprites for the game.


I've also started to design some levels in my One Note after some brief battle to make my drawing tablet work.


Tomorrow I'm going to make main menu and some early prototype of the game.

(1 edit)

Title:
Dream Forest.

Engine:
Unity

Premise:
You are a young adventurer who wants to find legendary treasure of the Dream Forest. Many have tried, but no one was successful before. Would they be successful?

Gameplay:
It's going to be 2D platformer. Aim of each level is to get to exit. Main mechanic is that you can fall asleep and enter a dream world. In dream world everything from normal world still exists and can be interacted with. However while in real world some action would result in death in dream world you cannot die, only wake up. There are also additional thing that don't exist in real world, and can help player achieve their goals (like moving platform that takes player to stitch that reveals exit).   Player should also watch out to not let anything hurt his real body while they are dreaming.

My goal at jam:
Make game in 2 weeks alone, and make working 2D platformer that is fun to play. I don't to make bad game when physics works strangely (like player being stuck to the wall when hitting it while jumping), but something that even though wouldn't probably be original nor good looking but will play decently. I have many ideas for additional mechanics for the game (wall jump, double jump, enemies with AI), but I'll see if I'm going to have enough time for any of them.

Link to draft of the Dream Forest:
https://theanomaly.itch.io/dream-forest?secret=KKpksMoztWkWJGveGKxLTFic3EI

Link to the git repositiory:
https://bitbucket.org/anomaly2/firstgamejam2017

Unity is using WebGL instead of web player since version 5.3, or earlier.  You can play it in most browsers without any plugins.

1. Hi there! What's your name? Want to introduce yourself?

Hi, I'm anomaly. I'm a programmer though my current job is not related to video games.

2. Did you participate in the last jam we held? If so, what do you plan on doing better this time? If not, what's your reason for joining?

I didn't participate in any of previous jams, though I participated in one Global Game Jam event as a part of a team (that was made up at the event). This time, after getting better in Unity, I feel that I can enter jam not as a part of a larger team, but to make my own game.

3. What games are your favorites? Did any of them inspire you, or made you want to make your own?

It's really hard to choose my absolutely favorite games, but if I have to I would say:

  • Ori And The Blind Forest - Cute protagonist with story that's both beautiful and sad. I love both the gameplay, the graphics and how they seem to blend into each other.
  • Crypt Of The Necrodancer - Awesome combination of rhythm game and rougelike. It doesn't suffer from early level dullness like Binding Of Isaac or Spelunky, and the feeling of quickly making decision to the rhythm of great music is just fantastic.
  • Undertale - Great story with both funny and sad moments. IMO this game is showing the direction where future games should go. It's one of few games that really utilized games as a different medium than movies or books.
  • Night In The Woods - 2D exploration adventure game with great soundtrack, many hidden stuff to explore and a great story with many themes that I haven't seen explored in video games before.
  • Heroes Of Might And Magic 3 - Great old time classic, one of the games that probably would never get old. When I'm stressed and want to relax I start map on knight difficulty, turn on music or podcast, and enjoy the slaughter of computer's armies.

I general I think that my ideal game is 2D games with non-human protagonists/NPCs and story set in crapsaccharine world.

Though I think that the most inspiring for me were countless of freeware games on rpgmaker.net. I played a lot of them as a teen. Their quality varied from masterpieces from Lysander to first projects of 12 yo. kids that were quickly forgotten by the them. These games introduced me to the idea that everyone can make a game. Even if sometimes they probably shouldn't.

4. Do you have experience with game development? What did you do/with what engine?

I experimented a little with RPG Maker 2k3, but it was a long time ago. I still have the project backed up, even if only for the nostalgia.
I made some simple games with XNA and Unity in the past. Currently I'm making simple arkanoid clone in Unity.
Also I've made Unity Certification on last Unite Europe.

5. Tell us about something you're passionate about!

Games. Both playing and making. Duh.
Science. I love reading popular-science books, when I'm more experienced in writing games I would mind to try use games as edutainment like Colobot, etc.
I'm also interested in AI, especially in games. I've made poker bot as a master thesis.

6. What are your goals for this game jam?

I want to:

  • Make something that is in working state. That would be my first game published to the whole world (Unless I finish my arkanoid clone before jam).
  •  Learn how to make 2D platformers in Unity. I experimented a little in unity with them, but effects were sloppy.
  • Have fun. ^_^

7. Any advice to new jammers (if you're a veteran)?

I only was one one game jam before, and it was 48 hours jam, so I don't know how much applicable this advice is to itch.io jam but...
If you're working in a team make sure that everyone has the same version of the engine before the jam starts. Also make sure that everyone knows how to integrate source control with the engine. Synchronizing with pendrives when the clock is ticking is not fun.