CPCWiki forum

General Category => Programming => Topic started by: reidrac on 18:16, 24 September 16

Title: Magica (Development)
Post by: reidrac on 18:16, 24 September 16
Let me introduce you my newest project: Magica.

[attach=2]

This may be my entry for CPC Retro Dev 2016, and if that's finally the case, the game won't be available until the competition is over. Good news is that the deadline is in one month and the results will be by the beginning of November; so you won't have to wait too long to play the game ;) - I'm not entering the competition, see: http://www.cpcwiki.eu/forum/programming/magica-(development)/msg135133/#msg135133 (http://www.cpcwiki.eu/forum/programming/magica-(development)/msg135133/#msg135133)

I've been thinking for some time about making a classic one-screen arcade; where you're supposed to navigate the screen to perform some actions before moving to the next screen. I think this type of game would play nicely on the CPC.

After studying different games I'm implementing the stun-hit-collect mechanic that, as you all know, was successfully implemented by many games, including Bubble Bobble, Snow Bros, Tumble Pop, Chip-chan Kick, and many others.

I've spend most of the time working on the game engine, so there are bits in the frame story that I still don't know what's going to be... but so far I know that you play a sorceress that has to recover all the potions stolen from her laboratory by creatures sent from different worlds.

The potions are distributed in several dungeons. She can use her magic to stun the enemies, then hit them, and when they're sent back to their original world, collect the potion they leave behind.

When all potions are collected, a portal opens and she can travel to the next dungeon.

The enemies have different properties that you must take into account when you're fighting them. For example, the knight will use his shield and you won't be able to stun him in a frontal attack, the wizard can conjure magic to kill you, etc.

[attach=1]

Besides the screens may have other challenges, and you must find the right way to navigate them and dispose of the enemies before the time runs out. I still need to think if I'm going to include power ups and bonuses; it all will depend on how much memory I have left.

All this trying my best to make it all run smoothly on the CPC, mode 0 and 64K in one single load (I like that).

I still don't know if I'll manage to squeeze in everything I'd like to put in, but so far looks like it will be a fun game.

As I've mentioned in other occasions, I broadcast about development in my Twitter account (Juan (@reidrac) | Twitter (https://twitter.com/reidrac)), so if you want to know more about the game as I'm making it, follow me on Twitter!

This is a video testing the sound effects:
[youtube]https://www.youtube.com/watch?v=Bvuyin29kDs[/youtube]
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 18:32, 24 September 16
Lovely game, graphics and mechanics!! I really like it!!  :D :D
Title: Re: Magica (Development)
Post by: dub on 12:35, 25 September 16
Very nice
Title: Re: Magica (Development)
Post by: reidrac on 17:21, 25 September 16
That video shows a bug: the wizard was using magic even when it was stunned. That's why one of them killed me twice at the end of the video :D
Title: Re: Magica (Development)
Post by: TFM on 19:05, 25 September 16
That seems to be a great game concept! However the players avatar looks a lot like the baddies, it's hard to follow (at least for me). But the games seems to be awesome. You're really super productive!  :) :) :)


A question: Assuming you're using cpctelera, does it have a lib for sound effects or did you make them by yourself?

Title: Re: Magica (Development)
Post by: reidrac on 20:08, 25 September 16
That seems to be a great game concept! However the players avatar looks a lot like the baddies, it's hard to follow (at least for me). But the games seems to be awesome. You're really super productive!  :) :) :)


A question: Assuming you're using cpctelera, does it have a lib for sound effects or did you make them by yourself?

Thanks for the feedback. I think the player character looks alright, although I see what you mean. Unfortunately I don't think I can make it so it uses different colours.

I don't use cpctelera.

I'm using the WYZ player. It allows 1 channel for effects, and the rest for BG music. The effects themselves were designed with ayefx or something like that (for the speccy, but is easy to change them to CPC frequencies when I convert them to the WYZ format).
Title: Re: Magica (Development)
Post by: fano on 22:30, 25 September 16
Very nice project , keep up the good work !
Title: Re: Magica (Development)
Post by: Gryzor on 15:19, 26 September 16
Oh the cuteness!
Title: Re: Magica (Development)
Post by: VincentGR on 22:20, 26 September 16
Oh! this looks terrific.

Title: Re: Magica (Development)
Post by: Kitty on 14:47, 27 September 16
Looks Lovely ;)
Title: Re: Magica (Development)
Post by: Xifos on 16:43, 27 September 16
Reidrac, i am a big fan of your games !
 :)
Title: Re: Magica (Development)
Post by: reidrac on 17:01, 27 September 16
Reidrac, i am a big fan of your games !
 :)

Thanks! First time ever I have a fan :)

I'll try to live up to the expectations!
Title: Re: Magica (Development)
Post by: VincentGR on 18:34, 27 September 16
Thanks! First time ever I have a fan :)

I'll try to live up to the expectations!

Make them two.
Title: Re: Magica (Development)
Post by: TFM on 18:43, 27 September 16
Three!!!  :) :) :)
Title: Re: Magica (Development)
Post by: villain on 19:08, 27 September 16
Three!!!  :) :) :)

I'd also join the club. Any plans for merchandising? :-)
Title: Re: Magica (Development)
Post by: arnoldemu on 21:29, 27 September 16
And me :)
Title: Re: Magica (Development)
Post by: reidrac on 21:56, 27 September 16
Thanks folks!  :-*
Title: Re: Magica (Development)
Post by: SRS on 22:25, 27 September 16
Looks promising !

The Wizards look like good old Sandmännchen :)

(http://vignette3.wikia.nocookie.net/creepypasta/images/1/13/Sandm%C3%A4nnchen1.jpg/revision/latest?cb=20140704120958&path-prefix=de)
Title: Re: Magica (Development)
Post by: TFM on 17:39, 29 September 16
That video shows a bug: the wizard was using magic even when it was stunned. That's why one of them killed me twice at the end of the video :D


But isn't that what makes a true wizard?  ;D
Title: Re: Magica (Development)
Post by: reidrac on 14:29, 01 October 16
Quick update!

I keep adding enemies (since my first post: Witches and Ghosts), and I have 5 different tilesets (3 of them final, the other two may need review).

Example of the "winter" tileset (showing a ghost going through the walls).

[attach=1]

I've improved a little bit the performance of the engine and I can manage 6 enemies fine if I don't add too many of the ones using "heavy" AI, and 8 if they're simple ones; but I don't think 8 enemies is realistic to keep it smooth.

I'd like to get to 8 enemy types ASAP so I know how much memory I have left and I can concentrate in the "pack the map" problem so I can include as many screens as possible.

I'm still thinking on the frame story; and perhaps if I can make sense of the tilesets, I could add "world map" as you progress the different stages.

The clock is ticking!
Title: Re: Magica (Development)
Post by: reidrac on 13:26, 02 October 16
Testing in-game tune!

[youtube]https://www.youtube.com/watch?v=wIqwHRovonQ[/youtube]

It is quite expensive, almost like a new enemy; and still... will be repetitive I guess.

Not completely sure I like it yet, may tweak it later.
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 13:59, 02 October 16
I really like it! and the peek at the new level too!  :D
Title: Re: Magica (Development)
Post by: reidrac on 14:04, 02 October 16
I really like it! and the peek at the new level too!  :D

Thanks! This tune is really difficult because I'm not specially good with up-beat. I tried to not make it too repetitive, but being in-game means I can't really compress it so it can't be too long.

Currently is around 800 bytes; and I still need menu, game over and stage complete (probably); but these can be compressed so there's a chance they use less space than the in-game music :)
Title: Re: Magica (Development)
Post by: reidrac on 23:17, 08 October 16
Quick update!

I've been testing the game in the real hardware and runs beautifully, better than in the emulator. I don't know why, but I suspect that the way I run the emulators is not ideal (windows apps with WINE in Linux).

I tried it with the CRT, and it really makes a difference (I mostly use an LCD screen and I keep my colour CRT on storage). Some things look unexpectedly different, but in a good way. I like it!

I've progressed a bit this week, and now my TODO list is shorter: menu music, probably two more enemies, and level design. Also I'd like to add power ups, but by the looks of it I don't think I'll have space for them :(

On top of that I need a loading screen and an intro; but those are in another list of things to do because I have plenty of memory for them.

Two weeks plus 3 days until the deadline!
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 00:01, 09 October 16
Great! If you like to send it to me to be tried in a 464 Plus upgraded to a 6128 Plus with the original CRT, just tell me  :)
Title: Re: Magica (Development)
Post by: reidrac on 00:11, 09 October 16
Great! If you like to send it to me to be tried in a 464 Plus upgraded to a 6128 Plus with the original CRT, just tell me  :)

Thanks, but I can't make the game public until the end of the competition.

After that it is possible I make a revision before the public release. If that's the case, I may get beta testers. I take note of your offer!
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 01:58, 09 October 16
Sure!  :) I did not read the rules of this year´s contest and I was assuming that external testing was allowed if the game is not released to the general public  :)
Title: Re: Magica (Development)
Post by: Arnaud on 08:26, 09 October 16
Two weeks plus 3 days until the deadline!

Good luck for the last days of hard work and for other competitors.
Title: Re: Magica (Development)
Post by: reidrac on 09:54, 09 October 16
Sure!  :) I did not read the rules of this year´s contest and I was assuming that external testing was allowed if the game is not released to the general public  :)

The rules aren't perfect; it is unclear what is allowed and what not and the organisation didn't clarify things to be honest (and they could, easily). I still have doubts if it is worth submitting the game or no just because of this.

You asked for a beta publicly but some other people may keep it secret; and then the rules are unfair because the entries that had external testing have an advantage over the ones that didn't have that.

Some people really believe that sharing screenshots and videos could disqualify an entry, and that's a weird interpretation of the rules; but there you are.

Hopefully the organisation will listen to the feedback and next year the rules are crystal clear, otherwise this may be my last entry.
Title: Re: Magica (Development)
Post by: Sykobee (Briggsy) on 17:37, 09 October 16
Looks great :-)


I think the issue with the in-game tune is that it's a little loud compared to the effects?


I like that some enemies are tougher to stun, or can go through walls...


Look forward to seeing the new enemies and their special ability. Apart from that, the only thing I could think of is a BONUS collection thing like BB.
Title: Re: Magica (Development)
Post by: reidrac on 17:50, 09 October 16
Looks great :-)


I think the issue with the in-game tune is that it's a little loud compared to the effects?


I like that some enemies are tougher to stun, or can go through walls...


Look forward to seeing the new enemies and their special ability. Apart from that, the only thing I could think of is a BONUS collection thing like BB.

Well spotted! That video was a test, I've adjusted the volumes and now I think is perfect.

At very least I'd like to add a "time up" bonus; that could add a nice touch to the gameplay. But again: 64K!
Title: Re: Magica (Development)
Post by: EgoTrip on 19:44, 09 October 16
Looking good, although I think you are pushing the limits of the rules by getting public feedback.
Title: Re: Magica (Development)
Post by: reidrac on 19:52, 09 October 16
Looking good, although I think you are pushing the limits of the rules by getting public feedback.

What is that? Can you point out which rule forbids that?

I haven't released the game, nobody has played it and is not public.
Title: Re: Magica (Development)
Post by: Sykobee (Briggsy) on 20:23, 09 October 16
I'd say that forum-based updates and feedback are an extremely important part in motivating a retro game developer to continue.


To not allow a game in based on that would be ridiculous.


To be honest, I extend that to a small circle of playtesters. Game development without playtesters I guess is quite a retro idea in itself, but c'mon!


It may be pandering to a certain retro development methodology based around releases at scene parties, but that in itself would advantage the solo C64 devs!
Title: Re: Magica (Development)
Post by: reidrac on 20:37, 09 October 16
I'd say that forum-based updates and feedback are an extremely important part in motivating a retro game developer to continue.


To not allow a game in based on that would be ridiculous.


To be honest, I extend that to a small circle of playtesters. Game development without playtesters I guess is quite a retro idea in itself, but c'mon!


It may be pandering to a certain retro development methodology based around releases at scene parties, but that in itself would advantage the solo C64 devs!

I've never released any public or private version of the game; only screenshots and videos, which is OK with the rules as the organisers have confirmed in private.

I wish they could stop all this FUD by just making a public statement on the contest website so we can move on and stop wasting time with things that don't help promoting the CPC.
Title: Re: Magica (Development)
Post by: EgoTrip on 20:46, 09 October 16
Well there's nothing explicit in the rules but I vaguely recall Ronaldo saying something along these lines, but I could be mistaken. Apologies if I am. I purposely kept my entry quiet incase I broke any rules regarding making it public. Not that it would win anything, your game looks way superior to mine.
Title: Re: Magica (Development)
Post by: reidrac on 20:50, 09 October 16
Well there's nothing explicit in the rules but I vaguely recall Ronaldo saying something along these lines, but I could be mistaken. Apologies if I am. I purposely kept my entry quiet incase I broke any rules regarding making it public. Not that it would win anything, your game looks way superior to mine.

No need to apology; but I don't appreciate you keep spreading FUD about this if you don't really know if there's a problem or not.

I've asked the organisers to clarify this; otherwise it doesn't make sense continuing with the development of the game.
Title: Re: Magica (Development)
Post by: EgoTrip on 21:29, 09 October 16
Just finish it. You've gone this far, it would be pointless not to enter it.
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 23:19, 09 October 16
No need to apology; but I don't appreciate you keep spreading FUD about this if you don't really know if there's a problem or not.

I've asked the organisers to clarify this; otherwise it doesn't make sense continuing with the development of the game.

The development of the game will always make sense, regardless of it entering a competition or not  :)
Title: Re: Magica (Development)
Post by: reidrac on 00:05, 10 October 16
The development of the game will always make sense, regardless of it entering a competition or not  :)

You're absolutely right! I was thinking of deadlines; not entering the competition has some benefits ;)

Magica won't be submitted to the competition. This is final and I won't elaborate on the reasons, so please don't ask because you'll be politely ignored.

Anyway, the game will be released eventually (sooner rather than later), but obviously I'm not going to force myself to put extra time on the game in the next two weeks, and I may ask for help at some point to test the game, etc.

I'll keep updating this thread.
Title: Re: Magica (Development)
Post by: reidrac on 22:40, 13 October 16
Quick update!

I think I have finished with the enemies, at least for now. I have jesters, demons, knights, goblins, wizards, witches, ghosts and fairies; each one with unique properties.

The fairies are special; you don't need to kill them to complete the stage because they don't drop a potion. Fairies drop a sand clock that will give you extra time.

Because the clock won't go over 60 secs, it adds strategy to some stages that may need more time to be completed. For example you may want to wait to kill the fairy and get most from the extra time.

I may go back to add enemies when I finish the level design and the menu music; in case I have enough bytes left to add another enemy.

Level design looks challenging. I have already some ideas of stage layout and enemy placement, but if I manage to get to +50 levels, ordering them so difficulty is progressive is going to be a pain.

On top of that I still need the loading screen and the intro; but those are less tricky because I have plenty of memory for them.

Progressing nicely!
Title: Re: Magica (Development)
Post by: reidrac on 23:15, 18 October 16
Another update!

I've started with the level design, and it is really stressful seeing the memory go down; but it is worth it I think. 30 stages so far, I was aiming to 50 but I'm not sure.

[attachimg=1]

I've been playing with the time and the time bonus (the fairies) and I still don't know exactly how it will work at the end. It's about getting the difficulty right.
Title: Re: Magica (Development)
Post by: genesis8 on 11:30, 19 October 16
I am a definite fan of the return of traxtor, and waiting for Magica.


I just made a news about Magica yesterday, but can I add your screenshots for the news ?
Title: Re: Magica (Development)
Post by: reidrac on 13:26, 19 October 16
I am a definite fan of the return of traxtor, and waiting for Magica.


I just made a news about Magica yesterday, but can I add your screenshots for the news ?

Of course you can!
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 18:08, 19 October 16
You need to go for a 128KB version with plenty of levels and make the 64KB one a multi-load game. First 50 levels in one side of the tape and the rest on the other, "protected" by a password  :D
Title: Re: Magica (Development)
Post by: reidrac on 18:48, 19 October 16
You need to go for a 128KB version with plenty of levels and make the 64KB one a multi-load game. First 50 levels in one side of the tape and the rest on the other, "protected" by a password  :D

I was thinking more of 128K for... two players; but is soon to tell because I may not be able to move that many sprites smooth enough.
Title: Re: Magica (Development)
Post by: menegator on 01:09, 20 October 16
It really looks great!
Title: Re: Magica (Development)
Post by: VincentGR on 01:36, 20 October 16
Oh, two players will be great!
Title: Re: Magica (Development)
Post by: reidrac on 20:11, 23 October 16
Yet another update!

Things are looking good! I finally managed to get 50 screens and only the music for the menu is left and I have around 1K free, so I think everything will fit.

I enjoy level design, but this time was harder than when I was working on Golden Tail. 50 screens are lots of screens!

I've spent some time making more improvements to the engine and the entity system. For example the entity system is way more flexible now that it was when I programmed Golden Tail, and the engine doesn't have any C code left.

It is still quite difficult to move everything quick enough all the time, but the few bits where there's some slow down are minimal (eg, when you kick a lot of enemies at the same time). It plays smooth most of the time, specially in the real hardware (again, this is because problems with my setup and emulators unfortunately).

I'm getting close to have a beta! To do: music for the menu, loading screen and intro.
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 00:15, 24 October 16
Looking great!!
Title: Re: Magica (Development)
Post by: Sykobee (Briggsy) on 00:20, 24 October 16
Don't worry about slow down if it's rare and because of something massive happening.


In gamer psyche, it's a reward to have that occur, it shows you've pushed the game to the limit.


[Yes, I read research recently about this, although the link was never saved.]
Title: Re: Magica (Development)
Post by: menegator on 01:16, 24 October 16
Another update!

I've started with the level design, and it is really stressful seeing the memory go down; but it is worth it I think. 30 stages so far, I was aiming to 50 but I'm not sure.

(Attachment Link)

I've been playing with the time and the time bonus (the fairies) and I still don't know exactly how it will work at the end. It's about getting the difficulty right.


Hello,


What method do you follow to encode a level? The classic method of describing as a series of strings isn't memory friendly though if you are using a compressor it should handle it with ease.


When much much younger I wrote a platform game (mode 0, basic) instead of using 20 character string for each line I used a representative encoding, that works quite well providing there isn't a great variety of elemental shapes. Even better if there is only one kind of brick and only one kind of white space then 4 bytes are enough to describe a line of 32 columns, that means 80 bytes for a 32x20 level or at my case 1800 bytes since each line had 20 columns and u never bothered with the simple task of using 4 spare bits to describe the beginning of the next line.


...I never finished my game though.
Title: Re: Magica (Development)
Post by: reidrac on 08:56, 24 October 16
I went for a hybrid solution: part of the screen is generated programmatically, part is just level data.

Currently I'm using 2-bit per tile, so a 20 x 22 (440 bytes) screens is just 110 bytes, compressed with UCL that is on average 50 bytes (depending how many repeated patterns the screen has).

I tried different encoding schemes and a some compressors, and this combination (2-bit per tile + UCL) gave me the best result.

On top of that each map has a list of entities (uncompressed), that are 4-bits for type, 2 bytes for position and 4-bits for a parameter (eg. enemy is facing left or right), and one byte as terminator.
Title: Re: Magica (Development)
Post by: reidrac on 21:52, 27 October 16
One of the last updates!

Some friends are helping me to test the game, so far the feedback is good and a couple of bugs have been fixed.

I got someone to kindly help me with the loading screen, and is looking really nice; so only the menu music and the intro are missing.

Of course I'll wait for the people testing the game, but this could be ready as soon as in two weeks I think (fingers crossed!).
Title: Re: Magica (Development)
Post by: reidrac on 22:07, 29 October 16
Finishing the game

First the exciting news: Vanja Utne has kindly offered her amazing skills to make the loading screen, and is looking really good (see a WIP: https://twitter.com/PondSoftware/status/792415292190261249).

She has a quite distinctive style and I'm really happy she's on board.

I have a tune for the menu, so only the intro is missing now and testing seems to work as I've fixed a couple of bugs already.

I hope I'll have a first candidate for release in the next 3-4 days, so the game could be out in two weeks or so.
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 22:13, 29 October 16
Super lovely loading screen!! I am really liking this game!  :D
Title: Re: Magica (Development)
Post by: villain on 23:36, 29 October 16
Terrific screen!!!
Title: Re: Magica (Development)
Post by: reidrac on 21:11, 30 October 16
The game is finished!

I finally tackled the intro, so all the game content is done.

Next is reviewing everything. While making the intro I found a bug in the engine where I made a mistake converting a modulo operation to ASM and as consequence I was erasing and invalidating one extra tile to the right; meaning I was doing double of the expected work (horizontally) updating the screen. After the fix, everything is faster and smoother (I could even add some enemies to some stages, but I don't want to unbalance the screens after testing them).

So I want to be sure there aren't more bugs like this one!

Then I'll write the manual and, when Vanja finishes the loading screen, I'll prepare a release candidate. Hopefully I'll be able to run another round of tests, and it could even be released next weekend; still thinking about it though.

I'm tired but very happy with the results... and I can feel that thing when you're finishing a game after months of work :)
Title: Re: Magica (Development)
Post by: VincentGR on 23:23, 30 October 16
Congratulations mate!
Title: Re: Magica (Development)
Post by: reidrac on 19:19, 01 November 16
Coming soon!

I have a release candidate now :)

[attachimg=1]
Title: Re: Magica (Development)
Post by: ||C|-|E|| on 19:21, 01 November 16
It looks lovely!! Just tell me if you need some testing  :)
Title: Re: Magica (Development)
Post by: reidrac on 19:28, 01 November 16
It looks lovely!! Just tell me if you need some testing  :)

Thanks!

I have three testers already and so far seems like things are pretty much OK; but I'll contact you if needed (actually you offered your help some time ago and I forgot, sorry about that!).

Also I can always do a re-release if something pops-up before any physical release etc.
Title: Re: Magica (Development)
Post by: TotO on 19:30, 01 November 16
I have a release candidate now :)
Your program look to load in loop...  :-\ ;D
Title: Re: Magica (Development)
Post by: ervin on 00:15, 02 November 16
Good lord, that is a beautiful loading screen!
It must surely rank as one of the best cpc loading screens ever.
Absolutely stunning.

Title: Re: Magica (Development)
Post by: ukmarkh on 00:36, 02 November 16
I need to play this now! :-)
Title: Re: Magica (Development)
Post by: reidrac on 21:37, 04 November 16
I've released the game, please go to the release thread: http://www.cpcwiki.eu/forum/games/new-game-magica/

I won't be updating this thread any more. Thanks for your comments and support while I was developing the game, very appreciated :)