Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit/AppGameKit Studio Showcase / [Tier 2] [WIP] platformer + editor untitled

Author
Message
erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 5th Jan 2013 21:02
Hello,

I've been working on this since the new year and wanted to start sharing.

I decided to make a simple platformer because my son is 3 and its his favorite kind of game on the iPad we have.

So as I started working on it I realized what a pain in the butt it was to make a level so I am also integrating a level design tool into it.

Its all in Alpha stage right now; most things dont work or don't work very well.. but its coming along fairly quickly so far.

I noticed Cliff has an awesome Tier 1 platformer engine started when I came to post this .. it looks very inspiring but I wanted to do this in part to learn and I like the speed of Tier2 so this is a totally separate project obviously

So here's a shot of just a level it has 3 level parallax scrolling at the moment.. one of the layers is the clouds so it may not be apparent from the screenshot.

Shot 1:



The next one shows the level editor roll out on the side. While your playing you just press the TAB key and this comes out.


Shot 2


And here we have a new tile placed and my placeholder character a space chicken jumping between them!

Shot 3


I'll be adding lots of features so I hope to do plenty of updates over the next month or so as I polish this up!

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 6th Jan 2013 11:48
Looks nice.
And i see you worked more on the gui part of the editor then i did

Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 6th Jan 2013 18:27
Very nice presentation. I worked on a platform engine a while back but I ened up leaving it as the level data was too large. I think each map was about 7MB in size lol. Although it had several options and I had a small demo running round killing zombies and saving people from out of the level. I tried to save on sprites needed by having 32 (or 16, can't remember off the top of my head now) different sizes of platform you could cycle through.
This looks nice as does Cliff's engine. If I wasn't so bad at drawing animated people/animals etc I would probably have worked harder on one myself

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 6th Jan 2013 20:41 Edited at: 7th Jan 2013 04:37
@Cliff ; thanks! Yeah I am continuing to work on the editor.. I have a lot of ideas but not sure how many I will finish before I run out of steam?

Current ideas:

1: save/load particular levels for editing including specifying file name

2: some automatic algorithmic design tools like placing lines of sprites or diagonal 'stairs' of sprites to ease certain aspects.

3: possibly some sort of flood fill .. still need to figure out how useful that would be and if its worth doing for the time it would take

4: entity editor/placement tool

5: level physics editor : i noticed when playing with my player physics that if I set some settings (damping for instance) it felt like the player was on ice because you would slide instead of stopping. So I want the level editor to be able to modify the level physics to suit the theme of the level : normal, outer space, ice world, etc.

DVader: Thanks! That's very interesting to hear how big the level data was? hmm I'm trying to work on my file format now so I will be extremely curious as to how big my file will be. I am trying to think of some things to optimize it right now but its very challenging.

I have some ideas about the level file format though.

For instance say there is the main 'grass covered earth block" that represents the ground?

So lets presume this sprite starts at 0,640 and then there are 800 of them in a row spaced every 32 pixels?

So I could of course write down 800 lines of the locations of these 800 pixels..

OR I could find a way to indicate to the save/load routine that there are 800 in a row and do it in a loop and then this might actually be 1 line on the file format rather than 800 lines.

Of course I can conceptually imagine that right now, but I do not know how I would program that out though!?

So that's one thing I'm doing today is trying to figure out a level file format that makes sense and has optimization built in to it?

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 6th Jan 2013 22:57
Okay did some research on a file format .. not done but the main consideration is storing all the sprite locations and what image number and if its a physics sprite or not.



Using a 1024x768 screen

My sprites are all 64x64

1024 / 64 = 16
768 / 64 = 12

the 1024 row can hold 16 sprites at 64 pixels
the 768 row can hold 12 sprites at 64 pixels

16 * 12 = 192 possible sprites per screen

192 * 10 screens = 1920
192 * 20 screens = 3840
192 * 100 screens = 19200 .. round off to 20,000

Obviously I am never going to fill an entire screen with sprites so this calculation is extremely conservative. Most screens will comprise of about 80% of the screen being 'air' so practically we are talking about the possibility of level being more like 500 screens if i limit it to 20,000 as I'm presuming here.

if an int is 32 bits (depends on system ) 100 screens of 20,000 int's is 640000 bits or .076 MB's of memory

so if we had to hold 20,000 ints for the x,y, levelSprite and image number and the physics flag thats 5 * .076 or .38 MB


So using this type of structure



If I write out 21,000 lines of this in a text file it is 489kb.

The reason I'm going with 21,000 is because I will need some header info and I don't know everything about that yet, and Ill also need entity info but that should be considerably less than the level architecture.

So my calculation is if I use this type of format for a level most level data file's will be about 150kb or less because I can't see myself doing levels that comprise of more than 50 screens of 1024x768 width .. that might actually be too big ; play testing will show this out eventually.

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 8th Jan 2013 05:10
I was able to get the file loading and saving working last night using the structure I described in my previous post.

It works extremely well so far.

I did find a few bugs I need to fix:

1: Saving a file I do a getspriteexists; if it fails then I write that particular block to be 0's. This later causes "empty" blocks in my structure so I need to do some sort of bubble sort on it.

2: The variable I use to determine what sprite # I'm on needs to be reset when I do a load otherwise say I put down 50 sprites, and load the level. It resets the sprite count back to 1 and each sprite i put down effectively deletes one of the loaded ones until I surpass the loaded sprite count (super easy to fix but just sharing what I saw).

Also I want to add some additional functionality such as loading/saving by name instead of hard coding it but I want to iron out the bugs before doing so.

MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 8th Jan 2013 09:18
Awesome GUI ! it's very important for a long work like game creation to have a pleasant and beautiful GUI with ergonomic commands

Keep up the good work !!
erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 13th Jan 2013 07:12
I've been trying to blog about this with some sucess if you do not see an update here try my blog http://punchypuncherton.blogspot.com/

I will definitely continue to post updates but cross-posting everytime is overtly time consuming

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 14th Jan 2013 07:17 Edited at: 14th Jan 2013 07:18


I have tentatively titled this platformer "Space Chickens Vs Angry Zombies"

This video features use of the level editor, and shows off the new star and heart sprite.

The star will be the equivalent of 'coins' ; its your primary collectible item.
The heart of course is your health meter refreshment option.

The level editor shows off a few items in this video:
- its ability to be tabbed in out while playing
- its ability to pan around the screen
- the ability to choose and lay down sprites

Note: The level editor is not intended to ship to the end product just showing off my in-house tools

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 15th Jan 2013 06:33
I just added the star sprite seen in the above video post as a free art asset to my blog.

Download here: http://punchypuncherton.blogspot.com/2013/01/free-star-sprite.html

Enjoy!

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 27th Jan 2013 01:06 Edited at: 27th Jan 2013 01:06
The game + engine is coming along very well.

Since I am doing the #1GAM challenge I have not spent as much time updating this post as I might otherwise have done. But were closing in on the end of the month and the game is playable now so heres a quick screenshot update:



You can now go through all 5 levels (though the levels are abnormally short for testing purposes) and finish the game.


All basic systems work except for the score routine at the end of the level.

Things to do:


- LOTS of tweaking is needed for the player movement code, it feels very rough right now. I can't make up my mind if i regret using the built in physics system or not. I have almost scrapped it 10x now, but each time I get >< close to doing it I fix the clincher and then decide to stick with it.

- I need to design fully fleshed out levels. I refuse to do this until the player movement is working right. How you can move, jump and such is critical to good level design so this has to wait.

- Sounds : I need to do all the sounds

- Score works but not saving it nor reporting it at the end of the level.

- any additional polish I can fit in before the end of the month which could include new level sprites, or particuarly I would love to add some physics objects. Its really the reason i wanted to use the physics system but until Im *SURE* the physics system is going to work for my movement code I'm not going to invest further research on that. This may in fact mean no physics devices or puzzles for the first 'episode' that the game will release with


Thats it for now, back to work!

erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 1st Feb 2013 06:44 Edited at: 1st Feb 2013 06:44
And Space Chickens VS Angry Zombies is finished and waiting approval on iTunes and Indie City

http://store.indiecity.com/projects/spacechickens

Will update with iTunes link once its available. Not sure if the Indie City link will work yet either but it works for me at the moment.






erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 9th Feb 2013 04:32
Indie City is definitely live and it appears the iTunes link finally works now too:

https://itunes.apple.com/us/app/space-chickens-vs-angry-zombies/id576106552?ls=1&mt=8

Going to post a separate release thread as this one was untitled when I started it

Login to post a reply

Server time is: 2024-04-23 18:04:43
Your offset time is: 2024-04-23 18:04:43